카테고리 없음2013. 6. 20. 10:29

 

10-3. 메일 서버 설치 및 운영

      - 센드메일 설정 및 가동

 

 

 [실습]

 naver.com 메일 서버와 daum.net 메일 서버를 구축하자.

 

 

0.

 

앞 10-1장의 실습에 이어서 해야 한다.

 

 

 

1. [ Fedora Server-메일 서버 ]

 

naver.com 메일 서버를 구축한다.

 

 

1-1 메일 서버를 구현하기 위한 필수 패키지는 sendmail, sendmail-cf, dovecot 세 가지이다.

기본적으로 sendmail은 설치가 되어 있었으므로, sendmail-cf와 dovecot만 설치하면 된다.

간편하게 "yum -y install sendmail-cf dovecot" 명령으로 한꺼번에 설치한다.

 

[sendmail-cf와 dovecot의 패키지 설치]

 

 

1-2 /etc/mail/sendmail.cf 파일을 다음과 같이 수정한다.

 

85행쯤 : Cwlocalhost         -> Cwnaver.com   (붙여서 쓸 것)               

261행쯤 : O DaemonPortOptions=Port=smtp, Addr=127.0.0.1, Name=MTA

                            -> O DaemonPortOptions=Port=smtp,

                                       Name=MTA (",Addr=127.0.0.1"부분 삭제)

 


[85행 수정]





[261행 수정]

 [/etc/mail/sendmail.cf 수정]

 

※ /etc/mail/sendmail.cf 파일은 Sendmail 서버의 설정 파일이다.

설정 내용이 길고 복잡하여 꽤 까다롭게 여겨지지만, 꼭 필요한 부분만 알면 된다.

- Cw도메인 이름 : 도메인 이름에 대한 메일 서버로 사용하겠다는 의미                               

- MaxMessageSize=용량 : 한 개 메일의 본문과 첨부 파일을 합친 제한 용량(Byte 단위)

- Mlocal 설정 내용 : 전체 메일 공간의 제한

- O QueueDirectory=/var/spool/mqueue : 메일 전송 시에 임시 저장 디렉토리

- O DaemonPortOptions=Port=smtp, Addr=127.0.0.1, Name=MTA :

   Addr=127.0.0.1은 자기 자신만 메일을 보낼 수 있다는 의미.

   그래서 외부에서도 메일을 보낼 수 있도록 이 부분을 삭제한 것임

 

 

sendmail.cf 파일을 수정한 후에는 "service sendmail restart"로 센드메일 데몬을 재시작해야 한다.

하지만 지금은 다른 설정까지 모두 마친 후에 서비스를 다시 시작할 것이므로,

아직은 서비스를 재시작하지 않아도 된다.

 

 

1-3 외부 네트워크 또는 호스트가 메일을 보낼 수 있도록 허가해 준다.

/etc/mail/access 파일에 다음 내용을 추가해 준다.

 

naver.com      RELAY      -> naver.com 도메인의 릴레이 허용                                 

daum.net       RELAY      -> daum.net 도메인의 릴레이 허용                                    

192.168.xxx    RELAY      -> 192.168.xxx.ooo 컴퓨터의 릴레이 허용 (나는 192.168.000)

 

 

[/etc/mail/access 수정]

 

 

1-4 /etc/mail/access 파일을 수정한 후에는

"makemap hash /etc/mail/access < /etc/mail/access" 명령어로 적용시켜 줘야 한다.

 

 

[makemap 명령어]

 

/etc/mail/access 파일을 수정하고나면, 꼭 "makemap" 명령어를 수행한 후에,

"service sendmail restart"로 센드메일 데몬을 재시작해야 한다.

하지만 지금은 모두 설정한 후에 서비스를 시작할 것이므로 데몬을 재시작하지 않아도 된다.

 

 

1-5 그림 [센드메일 서버의 자세한 작동 원리]에서 나온 사용자에게

메일 박스의 내용을 보내주는 dovecot 데몬의 설정 파일은 /etc/dovecot.conf이다.

vi나 gedit로 다음 부분을 수정해 준다.

 

16행쯤 : base_dir = /var/run/dovecot/                                   -> 주석(#) 제거 

20행쯤 : protocols = imap imaps pop3 pop3s                         -> 주석(#) 제거  

42행쯤 : listen = *, [::]                                                       -> 주석(#) 제거     

86행쯤 : ssl_listen = *                                                         -> 주석(#) 제거 및 * 추가

89행쯤 : ssl = yes                                                              -> 주석(#) 제거            

139행쯤 : login_dir = /var/run/dovecot/login                           -> 주석(#) 제거         

149행쯤 : login_user = dovecot                                             -> 주석(#) 제거            

224행쯤 : mail_location = mbox:~/mail:INBOX=/var/mail/%u      -> 주석(#) 제거 및 219행 복사

312행쯤 : mail_access_groups = mail                                    -> 주석(#) 제거 및 mail 추가    

361행쯤 : lock_method = fcntl                                               -> 주석(#) 제거             

540행쯤 : login_executable = /usr/libexec/dovecot/imap-login  -> 주석(#) 제거               

553행쯤 : mail_executable = /usr/libexec/dovecot/imap           -> 주석(#) 제거           

617행쯤 : login_executable = /usr/libexec/dovecot/pop3-login       -> 주석(#) 제거     

621행쯤 : mail_executable = /usr/libc/dovecot/pop3                     -> 주석(#) 제거

782행쯤 : auth_executable = /usr/libexec/dovecot/dovecot-auth   -> 주석(#) 제거            

 

 

[/etc/dovecot.conf 수정]

 

/etc/dovecot.conf 설정 파일도 내용이 많이 복잡하다.

앞에서 수정한 내용 중 20행의 protocols는 4가지 프로토콜을 모두 사용한다는 의미다.

42행의 "*"은 IPV4를, "[::]"는 IPV6 프로토콜을 의미한다.

또, 224행의 mail_location 부분은 기존의 메일 박스(/var/mail/사용자명)를 사용하기 위한 것이다.

그 외에는 /etc/dovecot.conf의 주석에 상세히 잘 나와 있으니, 참조하도록 하자.

더 자세하게 알고 싶으면 http://www.dovecot.org에 들어가거나, "man dovecot.conf" 명령으로 확인해 보도록 한다.

 

dovecot.conf를 수정하면 "service dovecot restart"로 서비스를 다시 시작해야 한다.

하지만 지금은 모두 설정한 후에 서비스를 시작할 것이므로 데몬을 재시작하지 않아도 된다.

 

 

1-6 naver.com의 메일 계정 사용자인 'lee'를 생성하자.(암호도 쉽게 'lee'로 해 주자)

'lee'의 메일 계정은 lee@naver.com이 될 것이다.

 

 

[사용자 생성]

 

 

1-7 Sendmail 데몬은 restart해 주고, dovecot 데몬은 start한다.

 

 

[데몬(서비스) 시작]

 

 

1-8 "system-config-firewall" 명령으로 보안 수준을 설정한다.

관련된 포트는 sendmail 25번, pop3 110번, imap 143번, pop3s 995번, imaps 993번이다.

 먼저 [신뢰하는 서비스]에서 'DNS', 'SSL을 통한 IMAP', 'SSL을 통한 POP-3', '메일(SMTP)'

네 개를 체크해 준다.

 


[방화벽 설정 1]

 

[그 외의 포트]에는 110(tcp)와 143(tcp) 포트를 추가해 준다.

 

 

[방화벽 설정 2]

 

완료되었으면 적용 아이콘을 클릭해서 적용한 후 [방화벽 설정] 창을 닫는다.

 

 

1-9 컴퓨터가 부팅할 때 자동으로 E-Mail 서비스를 할 수 있도록

"chkconfig dovecot on" 명령으로 설정한다.

설정 후에 "system-config-services" 명령으로 확인하면

dovecot이 자동으로 시작된다는 초록색으로 되어 있을 것이다.

(sendmail은 이미 자동으로 시작되도록 설정되어 있을 것이다)

 

[dovecot 자동 실행 확인]

 

지금까지 진행한 것은 그림 [구현할 인터넷 구성도]의 naver.com 메일 서버를 완성한 것이다.

daum.net 메일 서버를 만들기 전에 naver.com 메일 서버가 자체적으로 잘 작동하는지 확인해 보자.

그림 [구현할 인터넷 구성도]의 naver.com의 사용자인

'lee'의 PC인 'Windows Client'에서 lee@naver.com 자기 자신한테 메일을 보내 보도록 하자.

 

 

 

2. [ Windows Client(=호스트OS) ]

 

naver.com 메일 서버가 작동하는지 테스트하자.

현재 Windows Client PC는 lee@naver.com 계정을 가진 사용자의 컴퓨터로 가정한다.

 

 

2-1 Windows의 [시작] -> [Microsoft Office] -> [Microsoft Office Outlook]을 실행한다.

※ Windows Vista 이전의 운영체제에서는 아웃룩 익스프레스(Outlook Express)를 실행하면

거의 동일하게 작동한다.

 

 

나는 오피스의 아웃룩 2007을 사용해보도록 하겠다.

 

※ Windows 7에서는 MS Office에 포함된 아웃룩을 사용하거나, 무료 이메일 클라이언트인

Thunderbird(http://www.mozilla.or.kr에서 다운로드)를 사용하면 된다.

 

 

아웃룩을 처음 실행하고

[도구] -> [계정 설정]으로 들어간다.



전자 메일 계정에서 [새로 만들기] 클릭

 

 

2-2 "수동으로 서버 설정 또는 추가 서버 유형 구성" 체크 -> [다음]

"인터넷 전자 메일" 체크 -> [다음]

 

인터넷 전자 메일 설정에서

사용자 이름은 "리네이버"로 하고 전자 메일 주소를 "lee@naver.com"으로 설정한다.

계정 유형은 'POP3'으로 두고,

받는 메일 서버와 보내는 메일 서버 모두를

그림 [구현할 인터넷 구성도]에 나온 mail.naver.com으로 입력한다.

 

로그온 정보에서 사용자 이름과 암호는 모두 "lee"로 설정하자.

  

[인터넷 전자 메일 설정]

  

 

2-3 설정이 끝났으면 <마침>을 클릭하고, <닫기>를 클릭해서 설정을 종료한다.

 

 

2-4 메일 작성 아이콘을 클릭해서 자기 자신(lee@naver.com)한테 메일을 보내 보도록 한다.

작성이 끝나면 보내기 아이콘을 클릭해서 메일을 보낸다.

 

[메일 테스트]

 

 

 

만약에 보내기 버튼이 보이지 않는 경우에는 위 그림의 경로로 보내기를 하자.

 

 

2-5 잠시 후에 메뉴의 [도구] -> [보내기 및 받기] -> [모두 받기]나

[보내기/받기] 버튼을 클릭해서

메일이 오는지 확인한다.

 

 

 

다음과 같이 메일이 잘 온다면 그림 [구현할 인터넷 구성도]의

naver.com 메일 서버 및 네임 서버가

정상적으로 작동하는 것이다.

 


[naver.com 메일 서버 및 네임 서버 정상작동 확인]

 

※ 메일이 '정크 메일' 폴더에 들어가 있다면, 메일을 선택한 후 마우스 오른쪽 버튼을 클릭하고,

[정크 메일] -> [보낸 사람을 수신 허용 목록에 추가]를 선택해 주면 정상적인 주소로 인식한다.

그리고 메일을 다시 보내고 메뉴의 [도구] -> [보내기 및 받기] -> [모두 받기]를 선택하면 된다.

 

 

 

 

 

3. [ Fedora Server(B) ]

 

이번에는 그림 [구현할 인터넷 구성도]의 daum.net 메일 서버를 구축한다.

 

 

3-1 Sendmail 관련 패키지를 설치한다.

 

# yum -y install sendmail-cf dovecot

 

 

3-2 vi 에디터로 /etc/mail/sendmail.cf 파일을 다음과 같이 수정한다.

 

85행쯤 : Cwlocalhost              -> Cwdaum.net   (붙여서 쓸 것)          

 261행쯤 : O DaemonPortOptions=Port=smtp, Addr=127.0.0.1, Name=MTA

                                        -> O DaemonPortOptions=Port=smtp,

                                                    Name=MTA(",Addr=127.0.0.1"부분 삭제)

 

※ vi 에디터에서 행을 표시하려면 [ESC] -> [:](콜론)을 누른 후 "set number"를 입력하면 된다.

 

 

3-3 외부 네트워크 또는 호스트가 메일을 보낼 수 있도록 허가해 준다.

vi 에디터로 /etc/mail/access 파일에 다음 내용을 추가해 준다.

 

naver.com RELAY -> naver.com 도메인의 릴레이 허용                                 

daum.net RELAY -> daum.net 도메인의 릴레이 허용                                     

192.168.xxx RELAY -> 192.168.xxx.ooo 컴퓨터의 릴레이 허용 (나는 192.168.000)

 

 

[/etc/mail/access 편집]

 

수정 후에 다음의 명령을 수행한다.

 

# makemap hash /etc/mail/access < /etc/mail/access

 

 

3-4 vi 에디터로 /etc/dovecot.conf 파일의 아래 부분을 수정해 준다.

(":set number"로 행 번호를 보이게 하자)

 

16행쯤 : base_dir = /var/run/dovecot/                                    -> 주석(#) 제거

20행쯤 : protocols = imap imaps pop3 pop3s                           -> 주석(#) 제거

42행쯤 : listen = *, [::]                                                         -> 주석(#) 제거

86행쯤 : ssl_listen = *                                                           -> 주석(#) 제거 및 * 추가

89행쯤 : ssl = yes                                                                -> 주석(#) 제거

139행쯤 : login_dir = /var/run/dovecot/login                             -> 주석(#) 제거

149행쯤 : login_user = dovecot                                               -> 주석(#) 제거

224행쯤 : mail_location = mbox:~/mail:INBOX=/var/mail/%u        -> 주석(#) 제거 및 219행 복사

312행쯤 : mail_access_groups = mail                                       -> 주석(#) 제거 및 mail 추가

361행쯤 : lock_method = fcntl                                                -> 주석(#) 제거

540행쯤 : login_executable = /usr/libexec/dovecot/imap-login      -> 주석(#) 제거

553행쯤 : mail_executable = /usr/libexec/dovecot/imap               -> 주석(#) 제거

617행쯤 : login_executable = /usr/libexec/dovecot/pop3-login      -> 주석(#) 제거

621행쯤 : mail_executable = /usr/libc/dovecot/pop3                    -> 주석(#) 제거

782행쯤 : auth_executable = /usr/libexec/dovecot/dovecot-auth  -> 주석(#) 제거

 

 

3-5 daum.net의 메일 계정 사용자인 'kim'을 생성한다.(암호도 쉽게 'kim'으로 해 주자)

'kim'의 메일 계정은 kim@daum.net이 될 것이다.

 

 # useradd kim

# passwd kim

 

 

3-6 Sendmail 데몬과 dovecot 데몬을 재시작한다.

 

# service sendmail restart

# service dovecot restart 

 

 

3-7 텍스트 모드의 보안 수준 설정 도구인 "system-config-firewall-tui" 명령

또는 "lokkit" 명령으로

'Enable'의 체크를 해제해서 방화벽을 해제해 준다.

 

 

[방화벽 사용 안 함]

 

 

3-8 부팅 시마다 자동으로 시작되도록 설정한다.

 

# chkconfig sendmail on

# chkconfig dovecot on  

 

이렇게 해서 그림 [구현할 인터넷 구성도]의 2대의 메일 서버 및 네임 서버 구성을 완료하였다.

이제는 Fedora Client 사용자(kim@daum.net)가 Windows Client 사용자(lee@naver.com)에게

메일을 보내도록 해 보자.

 

 

 

 

 

4. [ Fedora Client ]

 

그림 [구현할 인터넷 구성도]의 kim@daum.net lee@naver.com에게 메일을 보내 보자.

 

 

4-1 X 윈도우 메뉴 [프로그램] -> [오피스] -> [에볼루션 메일 및 달력]을 선택하거나,

터미널에서 "evolution" 명령을 입력한다.

처음 환영 메시지가 나오면 <앞으로>를 클릭한다.

 

 

4-2 [백업에서 복구] 창에서 <앞으로>를 클릭한다.

 

 

4-3 [신상 정보] 창에서 '전체 이름'은 적절히 입력하고,

'전자 메일 주소'는 kim@daum.net을 입력한다.

나머지는 비워 놓아도 된다.

(전체 이름은 메일을 보낼 때 상대편에게 보이는 이름이다)

<앞으로>를 클릭한다.

 

 
[Fedora 메일 클라이언트 설정 1]

※ 한영 전환은 왼쪽 [Ctrl] + [Space] 또는 [한/영] 혹은 오른쪽 [Alt]다.

 

 

4-4 [메일 받기] 창에서는 서버 종류를 'POP'으로 선택하고, 호스트는 "mail.daum.net",

사용자는 "kim"을 입력하고 인증 방법은 '암호', '암호 기억'을 체크한다.

<앞으로>를 클릭한다.

 

 

[페도라 메일 클라이언트 설정 2]

 

 

4-5 [받기 옵션] 창에서는 그냥 <앞으로>를 클릭한다.

 

 

4-6 [메일 보내기] 창에서는 서버 종류를 'SMTP'로 선택하고, 서버에 'mail.daum.net'을 입력한다.

또, 바로 아래에 있는 '서버에 인증이 필요'의 체크를 해제한 후 <앞으로>를 클릭한다.

 

 

[페도라 메일 클라이언트 설정 3]

 

 

4-7 [계정 관리] 창의 이름에 자동으로 kim@daum.net이 입력되어 있을 것이다.

<앞으로>를 클릭한다.

 

 

[페도라 메일 클라이언트 설정 4]

 

 

4-8 [시간대]에서 '아시아/서울'을 선택하거나, 지도에서 서울의 위치를 클릭하고,

<앞으로>를 클릭한다.

 

 

4-9 [완료] 창에서 <적용>을 클릭해서 설정을 마친다.

 

 

4-10 [Evolution] 창에서 새로 만들기 아이콘을 클릭하고,

다음과 같이 lee@naver.com에게 메일을 쓰고,

보내기 아이콘을 클릭한다. (현재 사용자는 kim@daum.net )

 

 

[외부에 편지쓰기]

 

 

 

5. [ Windows Client(=호스트OS) ]

 

lee@naver.com에게 온 메일이 있는지 확인한다.

 

 

5-1 Windows Mail의 메뉴에서 [도구] -> [보내기 및 받기] -> [모두 받기]를 선택해서

받은 메일이 있는지 확인한다.

김다음(kim@daum.net)에게 온 편지가 확인되었다.

(혹시 정크 메일로 들어갔다면, '김다음'을 수신 허용으로 해 준다)

 

 

[kim@daum.net이 보낸 메일 확인]

 

 

5-2 회신 아이콘을 클릭해서, 답장을 보내 본다. 필요하면 첨부 파일도 첨부한다.

 

[답장 쓰기]

 

 

 

 

 

6. [ Fedora Client ]

 

Evolution을 실행한 후, 보내고 받기 아이콘을 클릭해서 메일을 확인한다.

 

이네이버(lee@naver.com)가 보낸 답장이 확인될 것이다. 처음에 암호를 입력하라고 나오면

kim@daum.net의 암호인 "kim"을 입력한다.

이네이버(lee@naver.com)가 보낸 파일이 확인되었다.

 

 

[lee@naver.com이 보낸 메일 확인]

 

 

 

 

 

7. [ Fedora Server, Fedora Server(B) ]

 

지금 구현한 메일 서버를 Fedora Server와 Fedora Server(B)에서

각각 "메일 서버 완료"라는 이름으로 스냅샷을 저장하자.

 

 

이상으로 그림 [구현할 인터넷 구성도]의 구현이 완료되었다.

 

지금은 사설 네트워크 내부에 구현을 했지만,

외부 인터넷상에 구현하는 것도 이와 동일하다고 생각하면 된다.

메일을 주고 받는 과정을 그림 [구현할 인터넷 구성도]를 보면서 이해한다면

더 쉽게 이해가 될 것이다.

 

 

Posted by 아이맥스