연재 강좌

CentOS 7 메일( sendmail / dovecot ) 서버 구축

2016.11.25 11:51

gooddew 조회:5641

메일 서버는 dns 서버 구축을 해야 되며 dns 서버 구축 방법은 별도로 dns 서버 강좌를 참고하세요



① 네입서버 설정


/etc/named.conf 파일을 열어서 제일 하단에 추가


01.jpg


# nano /etc/named.conf

기존 내용 제일 하단에 test.kr 도메인 설정

아래 형식으로 도메인만 바꿔서 사용 그대로 입력하세요

------------------------------------------------

zone "test.kr" IN {
type master;
file "test.kr";
allow-update { none; };
};

------------------------------------------------



* 도메인 zone 파일설정


04.png


# nano /var/named/test.kr

아래 내용 입력함


----------------------------------------------------------------------


$TTL 86400           ; TTL(Time To Live)
@          IN SOA @ root. (

                                            20130115          ; serial

                                            1D          ; refresh
                                            1H          ; retry
                                            1W          ; expire
                                            3H )        ; minimum
        IN      NS              ns.test.kr.             ; DNS Server Domain
        IN      MX      10      mail.test.kr.           ; MAIL Server Domain
        IN      A               123.123.123.100         ; Server ip
mail    IN      A               123.123.123.100         ; Mail Server ip
ns      IN      A               123.123.123.200         ; DNS Server ip


----------------------------------------------------------------------

IN MX 10 mail.test.kr.    ( 주의 : 도메인 마지막에 마침표(.) 입력해야 됨 )



* 도메인 설정 파일 테스트


03.png


# /usr/sbin/named-checkconf /etc/named.conf    (아무 메세지 없으면 정상)


# /usr/sbin/named-checkzone test.kr  /var/named/test.kr


zone test.kr/IN: loaded serial 00000000
OK         ( OK 나오면 문법상 문제 없다는 의미임 )


위에서 실행한 # named-checkzone 옵션에 두개가 들어가는데

처음 옵션은 도메인 입력, 두번째는 도메인 zone 파일명 입니다.


위 테스트 결과 dns 설정 파일이 문제가 없다면 네임서버 재가동


# systemctl restart named




② 방화벽 오픈


02.png


SMTP 포트 오픈
# firewall-cmd --permanent --zone=public --add-port=25/tcp   


POP3 포트 오픈

# firewall-cmd --permanent --zone=public --add-port=110/tcp


방화벽 설정 적용

# firewall-cmd --reload




③ 발신 메일 ( Sendmail ) 서버 설치 및 설정


* 설치


05.png


# yum -y install sendmail sendmail-cf



* 설정 원본 파일 백업


# cd /etc/mail

# mv ./sendmail.cf sendmail.cf.org

# cp ./sendmail.mc sendmail.mc.org



* sendmail 설정 순서


- 설정 파일은 sendmail.cf 입니다.

- sendmail.cf파일은 sendmail.mc파일을 기준으로 만드는데,

- 우선 sendmail.mc 파일을 수정한후에 sendmail.cf 파일을 생성 하게 됩니다.



* sendmail.mc 수정


# nano /etc/mail/sendmail.mc

- 52,53 line 수정 (앞부분 dnl 제거)


-< 수정 전 >--------------------------------------------------------------------------------

07.png


-< 수정 후 >--------------------------------------------------------------------------------

08.png



- 118  line 수정

Addr=127.0.0.1,을 삭제 또는 127.0.0.1 → 0.0.0.0


-< 수정 전 >--------------------------------------------------------------------------------

09.png


-< 수정 후 >--------------------------------------------------------------------------------

10.png



- sendmail.mc 저장하기



* sendmail.cf 파일 생성


11.png


# m4 sendmail.mc > sendmail.cf




* sendmail.cf 수정


# nano sendmail.cf


- 95 line 도메인 입력 ( #Dj$w.Foo.COM → Djtest.kr, Dj 다음 공백없이 도메인 입력 )


-< 수정 전 >--------------------------------------------------------------------------------


91.png


-< 수정 후 >--------------------------------------------------------------------------------


92.png



- 449 line 보안을 위해 일부 글자 삭제


-< 수정 전 >--------------------------------------------------------------------------------


14.png


-< 수정 후 >--------------------------------------------------------------------------------


15.png




-  sendmail.cf 저장하기




* 서비스 재시작


# systemctl restart sendmail




④ 호스트 네임 설정


* hostname 도메인 추가

# nano /etc/hostname

test.kr


test.kr 또는 mail.test.kr 호스트네임을 입력하면 됩니다.



* local-host-names 호스트 추가

# nano /etc/mail/local-host-names 메일 서버 호스트 추가

mail.test.kr

호스트 까지 입력해야 됩니다.




⑤ 수신 메일(dovecot) 서버 설정



* dovecot 설치


16.png


# yum -y install dovecot



* dovecot.conf 파일 수정


# nano /etc/dovecot/dovecot.conf


- 24행 : 제일 앞에 # 주석 삭제, imap 와 lmtp 사용 안하면 삭제


-< 수정 전 >--------------------------------------------------------------------------------


17.png


-< 수정 후 >--------------------------------------------------------------------------------


18.png




- 30행 : 제일 앞에 # 주석 삭제, ip6 사용안하려면  :: 도 삭제,  * 만 남김

listen = *


-< 수정 전 >--------------------------------------------------------------------------------

19.png


-< 수정 후 >--------------------------------------------------------------------------------

20.png



- 33행 : 제일 앞에 # 주석 삭제


base_dir = /var/run/dovecot/


-< 수정 전 >--------------------------------------------------------------------------------

21.png

-< 수정 후 >--------------------------------------------------------------------------------

22.png


- dovecot.conf 저장 하기



* 10-ssl.conf 파일 수정

# nano /etc/dovecot/conf.d/10-ssl.conf


- 8행 : ssl 값을 required 에서 yes 로 변경


-< 수정 전 >--------------------------------------------------------------------------------

23.png

-< 수정 후 >--------------------------------------------------------------------------------

24.png


- 10-ssl.conf 저장하기




* 10-mail.conf 파일 수정


# nano /etc/dovecot/conf.d/10-mail.conf


- 25행 : 제일 앞 # 주석 제거, 메일함 경로 지정 항목


-< 수정 전 >--------------------------------------------------------------------------------


25.png


-< 수정 후 >--------------------------------------------------------------------------------


26.png




- 119행 : 제일 앞 # 주석 제거후 우측 값을 mail 설정


-< 수정 전 >--------------------------------------------------------------------------------

28.png


-< 수정 후 >--------------------------------------------------------------------------------

27.png




- 159행 : 제일 앞 # 주석 제거


lock_method = fcntl


-< 수정 전 >--------------------------------------------------------------------------------


29.png


-< 수정 후 >--------------------------------------------------------------------------------

30.png


- 10-mail.conf 저장하기




* 10-auth.conf 파일 수정


# nano /etc/dovecot/conf.d/10-auth.conf


앞에 # 제거하고 disable_plaintext_auth = no 로 수정


-< 수정 전 >--------------------------------------------------------------------------------

32.png


-< 수정 후 >--------------------------------------------------------------------------------

33.png




* dovecot 서비스 재 시작


# systemctl restart dovecot



* 포트 서비스 상태 확인


# netstat -an | grep :25


# netstat -an | grep :110


31.png




⑥ 메일 서버 작동 테스트


- SMTP  테스트


# telnet localhost 25

mail from : <보내는 사람 메일주소>

rcpt to : <받는 사람 주소>

data

내용 입력

. (마침을 의미한다. 점을 받드시 입력해줘야 한다.)

quit ( telnet 종료 하기 )

 

또 다른 SMTP 테스트 방법으로 간단하게 한줄 명령어로 가능합니다.


echo "Subject: sendmail test" | sendmail -v my@email.com


자신의 메일로 전송되었다면 정상 작동이 되도 있는 상태입니다.



- POP3  테스트


# telnet localhost 110

user 아이디

pass 암호

list

retr 번호

dele 번호

quit ( telnet 종료 하기 )

XE1.11.6 Layout1.4.8