본문 바로가기

Linux

Sendmail & Dovecot

메일 서버의 작동

 

[보내는 메일서버]


SMTP(Simple Mail Tranfer Protocol)
  - sendmail
  
  - 정보
      패키지 : senmail, sendmail-cf

      방화벽 : port=25/tcp

      설정파일 : /etc/mail
 


[받는 메일서버]


POP3
  - Client가 메일을 읽으면 서버의 메일이 Client 측으로 다운로드 됨
  - 전용 단말이 없는 경우 메일 통합 작업 필요

IMAP
  - Client 측으로 메일이 다운로드 되지 않고 서버에 남음
  - 메일이 저장되는 사서함의 용량 관리가 필요(보내는 메일과 받는 메일의 위치가 같음)
  
  - 정보
      패키지 : dovecot

      방화벽 : port=110/tcp, port=143/tcp

      설정파일 : /etc/dovecot

 

 


구성도

먼저 주,보조 DNS 구성부터 마친 후 메일 서버 구성을 시작한다

 

CentOS7-1

zone을 추가 해주고 zone 파일도 추가 해준다

 

CentOs7-2
win10 nslookup

2번 CentOS7에 보조 DNS까지 설정한 후 client에서 도메인이 잘 검색되는지 확인까지 마쳤으면

2번 CentOS7에 메일 서버 구성을 시작한다

 

메일 서버 구성에 필요한 패키지 설치

sendmail.cf 가 원래 sendmail의 설정파일이지만 사람이 보기 불편하기 때문에

설정보조파일인 sendmail.mc에 작업 후 cf 파일을 다시 생성 해주겠다

 

로그 레벨 주석 해제
인증 매커니즘 주석 해제
외부 메일 통신이 가능하도록 내용 변경

118번 행의 경우 sendmail은 기본적으로 자기 자신에게만 메일 발송이 가능하도록 설정 되어 있으므로

외부로 메일 통신이 가능하도록 Addr을 모든 ip 주소 0.0.0.0으로 수정하거나 삭제한다

 

매크로 전처리기인 m4 명령어를 사용해서 보조 설정파일에 작성한 내용을 적용한 cf 파일을 생성 해준다

 

m4 전, 후

설정한 내용이 잘 들어간 것을 확인할 수 있다

 

/etc/mail/sendmail.cf

메일 서버가 사용할 도메인을 작성 해주는 파일에 우리가 사용할 도메인을 작성 해준다

/etc/mail/local-host-names

메일 릴레이 기능은 다른 네트워크나 호스트에서 내 메일 서버를 경유 할 수 있도록 중계 해주는 기능이다

 주로 RELAY, REJECT, DISCARD/허용, 거부(거부 메시지 발송), 거부(거부 메시지 발송X)로 설정한다

악용의 여지가 높아 기본적으로 자기 자신만 메일 발송이 가능하게 끔 설정되어 있다

10.0.0.X ip 주소로 오는건 중계를 허용하도록 설정 해준다

 

변경한 access 파일의 내용을 메일 서버가 알 수 있도록 db 파일로 만들어 준다

 

sendmail 설정은 끝났기 때문에 서비스를 시작하고 방화벽을 열어준다

이제 메일의 수신을 위해 dovecot을 설정 해준다

 

/etc/dovecot/dovecot.conf

사용할 프로토콜 및 연결을 허용할 IP를 주석 해제 해준다

 

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

TSL나 SSL을 사용하는게 아닌 이상 로그인과 다른 인증을 비활성화 해버리겠다는 설정이다

SSL을 사용 하지 않을 것이기 때문에 기능을 꺼준다

 

10-mail.conf

 메일 사서함을 지정 해주기 위해 주석 해제한다

 

10-master.conf

imap과 pop3 프로토콜 사용 시 포트를 주석 해제한다

사용할 프로토콜의  port를 변경할 수 있으며 주석을 해제하지 않아도 기본 port값으로 사용이 가능하다

 

10-ssl.conf

SSL을 사용할 시 pop3와 imap을 비활성화 시키기는 기능이다

SSL을 사용하지 않을 것이기 때문에 기능을 꺼준다

 

설정이 끝났으면 서비스 실행 후 방화벽을 열어준다

 

계정에 추가 그룹으로 mail 추가
/etc/group

테스트용 계정을 생성한 후 mail 그룹에 계정을 추가 해준다

이제 client Win10에 가서 썬더버드 메일 프로그램으로 테스트를 해본다

 

win10에 sender@rwj22.xyz 메일 계정 등록
win11 receiver@rwj22.xyz 메일 계정 등록

메일 서버에 만들어 놓은 테스트 계정으로 메일 계정을 등록을 시도하면

메일 서버 도메인과 생성 되어있는 계정, 비밀번호를 성공적으로 인식되는 것을 확인할 수 있다

마찬가지로 만들어 놨던 계정 receiver도 Win11에서 메일 계정으로 등록 해준다

메일 계정 등록이 끝났다면 sender에서 receiver로 메일을 보내 본다

 

win10 sender@rwj22.xyz가 테스트 메일 발송

 

 

win11 receiver@rwj22.xyz 받은 메일함

성공적으로 win11에서 receiver@rwj22.xyz 계정이 메일을 수신한 것을 확인할 수 있다

'Linux' 카테고리의 다른 글

SSH 공개키 인증  (0) 2022.10.12
Proxy 서버  (0) 2022.10.12
NFS  (0) 2022.10.11
HTTP - 인증, 접근 제어  (0) 2022.10.10
주, 보조 DNS + VirtualHost  (0) 2022.10.09