본문으로 바로가기

메일 서버 구축 , 도메인 설정

category 리눅스 2021. 3. 17. 17:34
반응형

메일을 주고 받을 수 있는 서버를 구축해 보았다.

메일에서 사용되는 프로토콜은 3가지가 있는데

smtp, pop3, imap 이 세가지가 있다.

smtp : 메일서버끼리 메일을 주고 받을 때 사용하는 프로토콜

pop3, imap : 클라이언트가 메일서버에서 메일을 받아올 때 쓰는 프로토콜

pop3imap의 차이점은 pop3는 메일서버에서 메일을 가져오면 가져온 메일은 서버에서 삭제가 되고

imap은 서버에서 받아와도 메일 서버에 메일이 남아있다.

 

메일 서버 구축

 

메일 서버를 centos7에 설치해 주었다.

1) yum -y install sendmail sendmail-cf

 

2) sendmail 설정 (etc/mail/sendmail.mc)

sendmail.mc 파일을 수정해준 후 sendmail.cf 파일에 재지정 해주면 된다.

 

52번 53번 라인에 주석 제거(dnl이 주석)  == AUTH 인증관련 설정

변경 전 dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

변경 후 TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

 

118번 라인에 127.0.0.1을 0.0.0.0으로 수정 == 로컬호스트에서만 접속을 허용 했으나 0.0.0.0으로 모든 네트워크에서 접속이 가능하게 바꿔 주었다.

변경 전 DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

변경 후 DAEMON_OPTIONS(`Port=smtp,Addr=0.0.0.0, Name=MTA')dnl

 

3) 설정 적용 = m4 명령어를 써서 재지정

m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

 

4) 재시작

systemctl restart sendmail

 

확인

도메인 설정

1) /etc/hostname

[사용할 도메인].com

2) /etc/hosts

[IP 주소]          [사용할 도메인].com

3) /etc/mail/local-host-names

[사용할 도메인].com

4) 다음 명령어 실행

hostnamectl set-hostname [사용할 도메인].com

 

5) 확인

systemctl restart systemd-hostnamed

hostnamectl status hostname

hostname

메일 서버에 도메인 추가

1) /etc/mail/access에 본인 도메인 추가 (sendmail 서버를 이용한 메일 이용 제한, RELAY 송수신 허용, REJECT 거부) Connect:[사용할 도메인].com RELAY

2) 설정 적용

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

systemctl restart sendmai

 

3) 확인

yum -y install mailx

mailx [서버에 있는 계정]@[받는 사람 도메인].com

제목 : 

내용 :

Ctrl +d

 

* 받는 사람의 도메인이 DNS 등록이 안돼 있다면 DNS서버에 등록후 사용 해줘야 한다. 나는 VMware 두대에 서로 메일서버를 구축해놓고 한대의 VMware(subin.com 도메인)에서 DNS, MAIL 두 서버를 같이 구축했으며 dns 설정에서 hangil.com이 192.168.56.129 == hangil.com 의 ip 라는것을 설정 하였기 때문에 hangil.com 메일서버의 계정인 kim@hangil.com 으로 메일을 보내도 kim@192.168.56.129를 보낸것과 똑같은 결과를 냈다. 

 

잘 보내졌는지 확인 로그 /var/log/maillog 

 

받은 쪽 에서는 cat /var/spool/mail/[서버에 있는 계정]

 

반응형

'리눅스' 카테고리의 다른 글

쉘 프로그래밍-1(Shell 개념, 확인, 변경)  (0) 2021.05.23
DNS구축 후 도메인을 사용한 mail 서버 2대 통신  (0) 2021.03.17
명령프롬프트 명 변경  (0) 2021.03.16
DNS 서버 구축  (0) 2021.03.07
NFS  (0) 2021.03.03