서버/Linux III 2016. 5. 18. 11:31
1. main, clone1에서 다음과 같이 DNS 테스트를 실시한다.
[root@clone1 /root]# vi /etc/resolv.conf
1 # Generated by NetworkManager
: wq! |
[root@main /root]# nslookup mail.test.com
Server: 172.20.1.1
Address: 172.20.1.1#53
Name: mail.test.com
Address: 172.20.1.1
[root@main /root]# ping -c 3 mail.test.com
PING mail.test.com (172.20.1.1) 56(84) bytes of data.
64 bytes from test.com (172.20.1.1): icmp_seq=1 ttl=64 time=0.102 ms
64 bytes from test.com (172.20.1.1): icmp_seq=2 ttl=64 time=0.044 ms
64 bytes from test.com (172.20.1.1): icmp_seq=3 ttl=64 time=0.045 ms
--- mail.test.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.044/0.063/0.102/0.028 ms
2. Sendmail
- Postfix 이메일 서비스를 종료한다.
[root@main /root]# service postfix stop
- Sendmail 관련 패키지 설치 유무 확인 및 설치 실시
[root@main /root]# rpm -q sendmail sendmail-cf
sendmail-8.14.4-9.el6_8.1.x86_64
sendmail-cf 패키지가 설치되어 있지 않습니다
[root@main /root]# yum -y install sendmail sendmail-cf
[root@main /root]# rpm -q sendmail sendmail-cf
sendmail-8.14.4-9.el6_8.1.x86_64
sendmail-cf-8.14.4-9.el6_8.1.noarch
- Sendmail 관련 파일은 '/etc/mail' 디렉토리에서 관리한다.
[root@main /root]# ls /etc/mail
Makefile aliasesdb-stamp helpfile mailertable.db sendmail.mc trusted-users
access domaintable local-host-names make submit.cf virtusertable
access.db domaintable.db mailertable sendmail.cf submit.mc virtusertable.db
- sendmail.mc : 'sendmail.cf' 설정 보조 파일
- sendmail.cf : Sendmail 설정 파일
- 'sendmail.mc' 파일을 vi 편집기를 이용하여 다음과 같이 설정을 변경하도록 한다.
[root@main /root]# vi /etc/mail/sendmail.mc
~ 중간 생략 ~
52 TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl // SMTP 인증 기능이며, 이 설정을 주석으러 처리해놓으면 아무나 메일을 전송하는 문제가 발생한다.
~ 중간 생략
115 dnl # // Addr=127.0.0.1로 되어있으면, 로컬 호스트(서버 자신)만 SMTP 접속을 허가하고 메일을 발송하게 된다. 그렇기 때문에 Addr=0.0.0.0로 변경하여 다른 호스트로부터 수신하는 메일도 받아서 처리할 수 있도록 해야 한다.
: wq! |
- 'm4' 명령어를 이용하여 'sendmail.mc' 설정 내용을 'sendmail.cf' 파일로 이전시킨다.
[root@main /root]# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
- 'sendmail.cf' 파일을 vi 편집기를 이용하여 다음과 같이 설정을 변경하도록 한다.
[root@main /root]# vi /etc/mail/sendmail.cf
~ 중간 생략 ~ 88 ~ 중간 생략 ~
263
: wq! |
- 메일 릴레이를 위해서 'access' 파일을 vi 편집기를 이용하여 다음과 같이 설정을 변경하도록 한다.
[root@main /root]# vi /etc/mail/access
1 # Check the /usr/share/doc/sendmail/README.cf file for a description
: wq! |
- 'makemap' 명령어를 이용하여 Sendmail이 인식할 수 있는 access.db를 생성한다.
[root@main /root]# makemap hash /etc/mail/access < /etc/mail/access
[root@main /root]# ls /etc/mail/access*
/etc/mail/access /etc/mail/access.db
[root@main /root]# strings /etc/mail/access.db
RELAY
connect:localhost.localdomain
RELAY
connect:172.20.
RELAY
connect:test.com
RELAY
connect:localhost
RELAY
connect:127.0.0.1
- 'local-host-names' 파일에 메일을 수신할 도메인 이름을 추가한다.
[root@main /root]# vi /etc/mail/local-host-names
1 # local-host-names - include all aliases for your machine here. : wq! |
- SMTP 인증이 성공되어야 메일을 보낼수 있는 인증 모듈을 시작한다.
[root@main /root]# service saslauthd start
[root@main /root]# chkconfig saslauthd on
[root@main /root]# service sendmail restart
sm-client을 종료하고 있습니다: [ OK ]
sendmail 종료 중: [ OK ]
sendmail (을)를 시작 중: [ OK ]
sm-client을 시작하고 있습니다: [ OK ]
- SMTP 테스트 실시
Ex1) Telnet을 이용한 SMTP 동작 테스트
[root@main /root]# telnet localhost 25
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 test.com ESMTP Sendmail 8.14.4/8.14.4; Tue, 22 Nov 2016 12:07:59 +0900
HELP
214-2.0.0 This is sendmail
214-2.0.0 Topics:
214-2.0.0 HELO EHLO MAIL RCPT DATA
214-2.0.0 RSET NOOP QUIT HELP VRFY
214-2.0.0 EXPN VERB ETRN DSN AUTH
214-2.0.0 STARTTLS
214-2.0.0 For more info use "HELP <topic>".
214-2.0.0 To report bugs in the implementation see
214-2.0.0 http://www.sendmail.org/email-addresses.html
214-2.0.0 For local information send email to Postmaster at your site.
214 2.0.0 End of HELP info
EHLO localhost
250-test.com Hello localhost [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN
250-DELIVERBY
250 HELP
quit
221 2.0.0 test.com closing connection
Connection closed by foreign host.
[root@main /root]#
Ex2) netstat 상태 확인을 이용한 SMTP 동작 여부 확인
[root@main /root]# netstat -nlp | grep 25
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 4123/sendmail
tcp 0 0 0.0.0.0:47325 0.0.0.0:* LISTEN 1893/rpc.statd
udp 0 0 172.20.255.255:137 0.0.0.0:* 2729/nmbd
udp 0 0 192.168.2.255:137 0.0.0.0:* 2729/nmbd
udp 0 0 172.20.255.255:138 0.0.0.0:* 2729/nmbd
udp 0 0 192.168.2.255:138 0.0.0.0:* 2729/nmbd
unix 2 [ ACC ] STREAM LISTENING 21639 3516/gdm-user-switc /tmp/orbit-root/linc-dbc-0-61ef8aca18256
unix 2 [ ACC ] STREAM LISTENING 19252 3268/gconfd-2 /tmp/orbit-root/linc-cc4-0-26a82bdc7941d
unix 2 [ ACC ] STREAM LISTENING 14047 2554/saslauthd /var/run/saslauthd/mux
Ex3) 'ps' 명령어를 이용한 Sendmail 동작 상태 확인
[root@main /root]# ps -ef | grep sendmail
root 4123 1 0 12:07 ? 00:00:00 sendmail: accepting connections
smmsp 4132 1 0 12:07 ? 00:00:00 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue
root 4155 3031 0 12:08 pts/0 00:00:00 grep sendmail
3. Pop3 관련 설정
- Pop3 서비스를 구현하기 위해서 'dovecot' 패케지가 설치하도록 한다.
[root@main /root]# yum -y install dovecot
[root@main /root]# rpm -qa | grep dovecot
dovecot-2.0.9-22.el6.x86_64
- 'dovecot.conf' 파일을 vi 편집기를 이용하여 다음과 같이 설정을 변경하도록 한다.
[root@main /root]# vi /etc/dovecot/dovecot.conf
~ 중간 생략 ~
: wq! |
- 사용자 메일 박스를 지정한다.
[root@main /root]# vi /etc/dovecot/conf.d/10-mail.conf
~ 중간 생략 ~
29 #
: wq! |
- SSL 사용 설정을 실시한다.
[root@main /root]# vi /etc/dovecot/conf.d/10-ssl.conf
~ 중간 생략 ~
: wq! |
- SSL를 사용하므로 암호화된 텍스트 사용 여부를 'no'로 변경한다.
[root@main /root]# vi /etc/dovecot/conf.d/10-auth.conf
~ 중간 생략 ~
8 # connection is considered secure and plaintext authentication is allowed. : wq! |
- 'dovecot' 서비스를 재시작한다.
[root@main /root]# service dovecot start
Dovecot Imap (을)를 시작 중:
[root@main /root]# service dovecot restart
Dovecot Imap 를 정지 중: [ OK ]
Dovecot Imap (을)를 시작 중: [ OK ]
[root@main /root]# chkconfig dovecot on
4. 테스트
- 이-메일 계정으로 사용할 사용자 계정을 메일 그룹으로 변경한다.
[root@main /root]# usermod -G mail user1
[root@main /root]# usermod -G mail user2
- main에서 에볼루션을 실행하여 user1 계정을 등록하도록 한다.
밑에 편지 봉투 아이콘 클릭
앞으로(F) 클릭
앞으로(F) 클릭
user1에 대한 필요 정보 및 추가 정보 입력 -> 앞으로(F) 클릭
서버 종류 : POP 선택 -> 설정 내용 입력 -> 앞으로(F)
앞으로(F) 클릭
서버 종류 : SMTP 선택 -> 서버 설정 내용 입력 -> 앞으로(F) 클릭
이름(N) 내용 입력 -> 앞으로(F) 클릭
적용(A) 클릭
이러한 방식으로 clone1에서 user2 계정을 등록하도록 한다.
main 에볼루션 -> '새로 만들기' 클릭
받는 사람 : user2@test.com -> 제목 및 내용 입력 -> '보내기' 클릭
clone1 에볼루션 -> '보내고 받기' 클릭 -> 수신 메일 및 내용 확인
'서버 > Linux III' 카테고리의 다른 글
Linux III - 17. 리눅스 방화벽 (iptables) (0) | 2016.05.18 |
---|---|
Linux III - 15. Syslog 서버 (0) | 2016.04.19 |
Linux III - 14. NTP 서버 & 클라이언트 (0) | 2016.04.19 |
Linux III - 13. Samba 서버 (0) | 2016.04.08 |
Linux III - 12. Apache 웹-서버 (Tomcat & Tomcat-Connector) (0) | 2016.04.06 |