리눅스 - 메일서버 구축1

OS/Linux 2016. 2. 22. 07:30

<메일서버>

메일 서버는 우리가 현재 메일을 보내고 받을때중간에 서비스 해주는 것이 메일서버다.

 

동작 순서를 설명하기 전에 용어에 대해서 알아보자.

MTA (Mail Transfer Agent)인터넷 상에 있는 컴퓨터 A로부터 컴퓨터 B로 전자 메일을 전송하는 서버 프로그램

MUA (Mail User Agent)사용자가 전자 메일을 송수신할 때 사용하는 클라이언트 프로그램

MDA (Mail Delivery Agent)MTA가 수신한 메시지를 사용자의 우편함에 쓰기 위한 프로그램(얘가 전송해줌)

MRA (Mail Retrieval Agent)멀리 떨어진 서버에 있는 우편함으로부터 사용자의 MUA로 메시지를 가져오는 프로그램


 

<일반적인 메일의 순서

1. 사용자가 MUA를 이용하여 MTA로 보낸다.

2. MTA는 센드메일 데몬을 이용해 메일을 "메일 큐(/var/spool/mqueue)"에 넣어놓는다.

3. 센드메일 데몬은 시간이 지난 후, MDA에게 메일을  상대편 MTA에게 보내달라고 요청한다.

4. 목적지 MTA에 도달된 메시지는 MDA로 전송 되며, MDA는 메시지를 메일박스(/var/spool/mail/사용자명)에 저장해놓는다.

5. 수신자는 메시지를 읽기 위해서 자신의 메일 서버에 직접 접근하거나 MUA를 사용하여 자신의 메일을 보게 된다. (이 때 MUA가 메시지를 분류하거나 정렬하기도 한다.)

 

 SMTP(Simple Mail Transfer Protocol) : MUA로부터 MTA까지 전송할 때 혹은MTAMTA 사이에 전송할 때사용하는 프로토콜

POP(Post Office Protocol)IMAP (Internet Message Access Protocol) : MUA가 센드메일(MTA)로 부터 메일을 받아올때 사용하는 프로토콜

 

 

<실습 - 구축>

인터넷 상에 paran.com의 메일서버와 naver.com의 메일서버가 있다고 하자.

클라이언트 Aparan.com의 계정으로 사용하고 있고, 클라이언트 Bnaver.com의 계정을 사용하고 있다고 가정하자.

이 두 계정 사이에 메일을 보내고 받기 위해서는 메일서버를 사용해야 하는데, 이 과정과 서버 구축을 실습해보자.

 

우리가 현재 사용하는 구간은 공인 IP를 살 수 없기 때문에 사설 네트워크인 VM ware를 사용하고 있다. , 이 사설 네트워크 공간을 따로 보지 말고 여기를 그냥 인터넷 공간이라고 생각하고 실습하자. (naver.comparan.com을 사용해도댐. 왜냐? 인터넷 공간이라고 생각하니까) 사설 네트워크를 인터넷 공간이라고 생각하는 것 뿐이지 정말 인터넷 공간이 아니다... 진짜 외부에서는 사설 네트워크로 못들어오니까...

 

필요한 것은 메일 서버 2클라이언트 PC 2,  네임서버 1개가 필요하다.

클라이언트 PCwindows 클라이언트1개와, linux 클라이언트 1개로 하며리눅스에 만들어 놓은 server paran.com메일서버 겸 네임서버로 하고, server(B)naver.com 메일서버로 하겠다.

 

1. paran.com 메일서버의 호스트 이름을 mail.paran.com이라고 설정하자.

/etc/hosts파일을 수정해주고, /etc/mail/local-host-names 파일을 수정해주자.

/etc/mail/local-host-names에 대해 간략히 설명하면하나의 도메인으로 운영을 하는 시스템은 host_name만 도메인명과 같게 설정해 주고 zone파일만 제대로 설정했다면 해당도메인으로 오는 메일을 아무런 문제없이 받을 수 있을 것이다. 하지만 2개 이상의 도메인이 하나의 시스템에 등록되어 있고 그 도메인으로 메일을 받아야 될 때는 반드시 local-host-names 파일에 도메인을 등록 시켜 줘야 된다. 즉 메일 수신자를 추가 시켜 줘야 되는 것이다.

예를들어 abc.co.kr의 서버에는 zxcv.ac.krqwer.net 이라는 도메인이 함께 운영중이다. 이 시스템의 host_name abc.co.kr로 설정되어 있어서 ID@abc.co.kr로 오는 메일은 아무런 설정없이 메일을 받을수 있다하지만 ID@zxcv.ac.kr ID@qwer.net으로 오는 메일은 local-host-names zxcv.ac.krqwer.net을 등록을 함으로써 메일을 받을 수 있기 때문에 아래와 같이 등록해 놓은 상태이다.

 

/etc/hosts 설정


 

/etc/mail/local-host-names 설정




 

호스트 명을 바꿔준다.




 

2. 재부팅 하면 호스트 명이 mail.paran.com으로 변경된 것을 확인할 수 있다.



 

3. naver.com의 메일서버를 paran.com의 메일서버에 한 것 처럼 똑같이 적용해보자.

따로 설명은 안하겠다. (paran.com에 한거랑 거의 똑같음)

 

4. 이번에는 네임서버를 설정해보자. server(paran.com 메일서버 겸 네임서버)로 돌아와 네임서버를 설정해보자.

네임서버를 통해 paran.com 메일서버와 naver.com의 메일서버에 접근해야 하기 때문에 paran.comnaver.com의 도메인 네임 서버를 설정해주자.



 

5. 4번의 경로 설정 후에, 해당하는 경로에 파일을 만들어주자.

빈 파일을 생성 후, 빈 파일 안에 다음과 같은 내용을 써주자.





 

6. 데몬 재실행!



 

7. 네임서버의 설정이 끝났다. nslookup을 통해 잘 적용되는지 알아보자.


에러가 나지 않으면 /etc/resolv.conf파일에 각각 네임서버의 IP를 넣어주자. 





네임서버의 설정 




리눅스 클라이언트의 네임서버 설정 



 

윈도우 클라이언트의 네임서버 설정



posted by 경원구