[CentOS] Linux Mail Server 구축하기 기초
Nowhere 와 Now here 의 차이

IT/ㄴ Linux

[CentOS] Linux Mail Server 구축하기 기초

TIENE 2023. 8. 14. 11:45
반응형

 [구성도]


1. DNS Server 구축

- [CentOS] Linux DNS Server 정리 및 구축 [bind / Root Hint / hosts / resolv.conf]에서 기본적인 방법을 알 수 있다.

- 한 가지 다른 점은 MX Record를 사용한다는 것이다.

- 아래와 같이 MX Record를 생성하여 도메인 영역을 선언한다.

 

 

- DNS Server를 자기 자신으로 변경하여, 추가한 도메인 영역을 확인해본다.

 

 

 

2. Mail Server 구축

2.1) Sendmail 설치

yum -y install sendmail* telnet*

 -Sendmail을 설치한다. 동시에 telnet 또한 설치하는데, 별다른 이유는 없고 Sendmail 설치 후 Port 확인을 위해 설치한다.

 

2.2) Sendmail 환경 설정

vi /etc/mail/sendmail.mc

- SMTP 인증 기능을 추가하기 위해 /etc/mail/sendmail.mc 에서 다음과 같이 수정한다. 

- dnl을 삭제하여, SMTP 인증 기능을 추가한다.

= TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl

이 행은 sendmail 서버가 신뢰하는 인증 메커니즘을 지정한다. 서버가 지정된 인증 메커니즘을 사용하는 클라이언트를 신뢰함을 나타낸다. # 참고 : ChatGPT

= define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')

이 줄은 Sendmail 서버가 수신 및 발신 이메일 모두에 대해 지원하는 인증 메커니즘을 정의한다. 이전 줄과 동일한 인증 메커니즘을 나열한다. 지원되는 메커니즘은 서버가 보안 연결을 설정하고 신원을 확인하기 위해 클라이언트 및 사용자와 상호 작용하는 방법을 결정한다. # 참고 : ChatGPT

 

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

- 위에서 변경한 사항을 적용한다.

 

 vi /etc/mail/sendmail.cf

 - Cwlocalhost =>Cwtiene.vm

= 등록한 도메인으로 변경한다.

- O DaemonPortOptions=Port=smtp,Addr=0.0.0.0, Name=MTA

= Sendmail Daemon 를 이용할 때, 허용한 IP만 메일 전송이 가능한 설정이다. 테스트를 위해 0.0.0.0으로 지정하여 모두 가능하도록 한다. 

 

 

/etc/mail/access

- 릴레이 허용파일. 메일은 메일 서버를 경유하여 메일을 전송하는데, 신뢰할 수 있는 도메인 / IP를 지정하여 메일을 릴레이할 수 있도록 허용한다.

= 생성한 도메인 네임(tiene.vm) 과 192.168.1.X/24의 IP 대역의 RELAY를 허용하도록 설정한다.

 

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

- /etc/mail/access의 설정을 적용하기 위해, 다음과 같이 입력하여 적요한다.

 

/etc/mail/local-host-names

- Sendmail 서버가 담당하는 Local E-Mail Domain을 정의한다. 이 파일의 각 행은 서버에서 Local로 호스팅되는 Domain을 의미한다.

 

2.3) Sendmail 실행 및 확인

systemctl start saslauthd
systemctl enable saslauthd
systemctl start sendmail
systemctl enable sendmail
netstat -nlp | grep sendmail

- Sendmail과 SASL 인증 Daemon을 실행하고, 확인한다.

system ctl start saslauthd 명령을 실행하면 시스템에서 PLANE, LOGING, DIGST-MD5 등의 SASL 메커니즘을 사용하여 인증 요청을 처리하는 SASL 인증 데몬을 시작하도록 지시한다. # 참고 : ChatGPT

 

telnet localhost 25

- telnet을 통해 Port 번호 25으로 접속하여 SMTP를 확인해본다. 

- 클라이언트(예: 이메일 클라이언트 또는 서버)는 EHLO(Extended Hello) 명령 다음에 도메인 이름을 전송하여 클라이언트를 식별하고 서버의 기능을 요청하는 데 사용할 수 있다.

 

- Wireshark에서도 동일하게 확인 가능하다.

 

300x250

3. dovecot 설정

- Mail Server에 접속하여 메일을 가져오는 Daemon

3.1) dovecot 설치 

yum -y install dovecot

- dovecot을 설치한다.

 

3.2) dovecot 환경 설정

vi /etc/dovecot/dovecot.conf

- 사용할 Protocol을 추가하고, listen 항목을 수정하여 모든 ip에서 접속 가능 하도록 설정한다

 

 

vi /etc/dovecot/conf.d/10-mail.conf

- mail_location = mbox:MEMORY:INBOX=/var/spool/mail/%u:INDEX=MEMORY 을 사진과 같이 추가한다.

mbox 형식을 사용하여 MEMORY(메모리)으로 편지함 위치를 설정한다. 향상된 성능을 위해 편지함 콘텐츠와 인덱스는 모두 메모리에 저장되며, 편지함 파일 자체는 /var/spool/mail/디렉토리에 위치한다. 이 구성은 빠른 이메일 액세스가 우선시되고 스토리지 요구 사항을 수용하기에 충분한 사용 가능한 메모리가 있는 시나리오에 적합하다. # 참고 : ChatGPT

 

 

vi /etc/dovecot/conf.d/10-ssl.conf

- SSL을 사용하려면, 다음과 같이 변경하여 사용한다.

 

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

- 테스트를 위해 평문형태의 메일도 전송이 가능하도록 설정한다.

 

 

 

 

 

3.3) dovecot 실행 및 확인

systemctl start dovecot
systemctl enable dovecot
netstat -nlp | grep dovecot

- 정상적으로 동작하는 것을 확인할 수 있다.

Port Number 993 IMAPS (Internet Message Access Protocol over TLS/SSL)
995 POP3S (Post Office Protocol 3 over TLS/SSL)
110 POP3 (Post Office Protocol 3)
143 IMAP (Internet Message Access Protocol)

 

 

3. Mail Client 구축

- Mail Server를 사용하기 위해, 계정을 생성했다. 

 

yum -y install evolution

- Mail Client 을 설치한다.

 

- 이제는, Mail을 보내기 위해 GUI 환경에서 진행한다.

- Mail Client 프로그램으로 Mail 계정을 생성한다.

- Evolution을 실행하여 신상정보부터 진행한다. 생성한 계정 이름과 전자메일 주소를 입력한다.

 

- 옵션 확인 후 넘어간다.

 

 

- MX Record로 생성한 도메인 이름을 입력한다.

- [다음]을 눌러서, 계정 생성을 마무리한다.

 

- 위에서 systemctl start saslauthd 으로 인증을 실행했기 때문에 계정에 대한 암호를 다시 입력한다.

- [보내기/받기]를 눌러서 아무런 Error가 나오지 않는다면 정상적으로 동작하는 것이다.

 

 

 

 

4. Mail 송/수신 확인하기

- Linux#2에서 [3) Mail Client 구축] 을 진행하여 Mail 계정을 생성한다.

 

- m1 계정으로 Mail을 보내어 확인해본다.

 

- m1 계정에서 m2가 보낸 메일을 확인 할 수 있다.

 

- 회신까지 정상적으로 동작한다.

 

 

 

 

5. Win2003 Outlook 설정

5.1) Outlook 계정 생성

- Outlook을 실행한 뒤, 계정 이름을 입력한다.

 

- 계정이 사용할 전자 메일 주소를 입력한다.

 

- 받는 메일 서버 유형과 받는 메일 서버 / 보내는 메일 서버의 주소를 입력한다.

 

- 계정의 이름과 암호를 입력하여 마무리한다.

 

- Win2003 Outlook에서 보낸 메일을 확인할 수 있다.

 

- 수신까지 정상적으로 확인되었다.

 


반응형