웹사이트 검색

널 클라이언트 구성을 사용하여 Postfix 메일 서버(SMTP)를 설정하는 방법 - 9부


오늘날 사용할 수 있는 다양한 온라인 통신 방법에 관계없이 이메일은 세계의 한쪽 끝에서 다른 쪽 끝으로 또는 옆 사무실에 앉아 있는 사람에게 메시지를 전달하는 실용적인 방법으로 남아 있습니다.

다음 이미지는 메시지가 수신자의 받은 편지함에 도달할 때까지 보낸 사람부터 시작하여 이메일 전송 프로세스를 보여줍니다.

이를 가능하게 하기 위해 뒤에서는 몇 가지 일이 발생합니다. 이메일 메시지가 클라이언트 애플리케이션(예: Thunderbird, Outlook 또는 Gmail 또는 Yahoo! Mail과 같은 웹메일 서비스)에서 메일 서버로 전달되려면, 그리고 거기에서 대상 서버로, 최종적으로 의도한 수신자에게로 SMTP(Simple Mail Transfer Protocol) 서비스가 각 서버에 있어야 합니다.

이것이 바로 이 문서에서 로컬 사용자가 보낸 이메일(심지어 다른 로컬 사용자에게도)이 전달되는 RHEL 7에서 SMTP 서버를 설정하는 방법을 설명하는 이유입니다. 더 쉬운 접근을 위해 중앙 메일 서버로.

시험 요구 사항에서는 이를 널 클라이언트 설정이라고 합니다.

테스트 환경은 원래 메일 서버와 중앙 메일 서버 또는 릴레이 호스트로 구성됩니다.


Original Mail Server: (hostname: box1.mydomain.com / IP: 192.168.0.18) 
Central Mail Server: (hostname: mail.mydomain.com / IP: 192.168.0.20)

이름 확인을 위해 두 상자 모두에서 잘 알려진 /etc/hosts 파일을 사용합니다.


192.168.0.18    box1.mydomain.com       box1
192.168.0.20    mail.mydomain.com       mail

Postfix 및 방화벽 설치/SELinux 고려 사항

시작하려면 (두 서버 모두에서) 다음을 수행해야 합니다.

1. Postfix를 설치합니다.


yum update && yum install postfix

2. 서비스를 시작하고 향후 재부팅 시 실행되도록 활성화합니다.


systemctl start postfix
systemctl enable postfix

3. 방화벽을 통한 메일 트래픽 허용:


firewall-cmd --permanent --add-service=smtp
firewall-cmd --add-service=smtp

4. box1.mydomain.com에서 Postfix를 구성합니다.

Postfix의 기본 구성 파일은 /etc/postfix/main.cf에 있습니다. 포함된 설명이 프로그램 설정의 목적을 설명하므로 이 파일 자체는 훌륭한 문서 소스입니다.

간결성을 위해 편집해야 하는 줄만 표시하겠습니다(예, 원본 서버에서 mydestination을 비워 두어야 합니다. 그렇지 않으면 이메일은 중앙 메일 서버가 아닌 로컬에 저장됩니다. 우리가 실제로 원하는 것입니다):


myhostname = box1.mydomain.com
mydomain = mydomain.com
myorigin = $mydomain
inet_interfaces = loopback-only
mydestination =
relayhost = 192.168.0.20

5. mail.mydomain.com에서 Postfix를 구성합니다.


myhostname = mail.mydomain.com
mydomain = mydomain.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 192.168.0.0/24, 127.0.0.0/8

아직 수행하지 않은 경우 관련 SELinux 부울을 영구적으로 true로 설정합니다.


setsebool -P allow_postfix_local_write_mail_spool on

위의 SELinux 부울은 Postfix가 중앙 서버의 메일 스풀에 쓸 수 있도록 허용합니다.

5. 변경 사항을 적용하려면 두 서버 모두에서 서비스를 다시 시작하세요.


systemctl restart postfix

Postfix가 올바르게 시작되지 않으면 다음 명령을 사용하여 문제를 해결할 수 있습니다.


systemctl –l status postfix
journalctl –xn
postconf –n

Postfix 메일 서버 테스트

메일 서버를 테스트하려면 mail 또는 mutt와 같은 메일 사용자 에이전트(가장 흔히 줄여서 MUA라고 함)를 사용할 수 있습니다.

mutt는 개인적으로 즐겨찾는 파일이므로 box1에서 이를 사용하여 기존 파일(mailbody)을 사용하여 tecmint 사용자에게 이메일을 보냅니다. .txt) 메시지 본문:


mutt -s "Part 9-RHCE series" [email  < mailbody.txt

이제 중앙 메일 서버(mail.mydomain.com)로 이동하여 tecmint 사용자로 로그온하고 이메일이 수신되었는지 확인합니다.


su – tecmint
mail

이메일을 받지 못한 경우 루트의 메일 스풀에서 경고 또는 오류 알림을 확인하세요. nmap 명령을 사용하여 SMTP 서비스가 두 서버 모두에서 실행되고 있고 해당 포트 25가 중앙 메일 서버에 열려 있는지 확인할 수도 있습니다.


nmap -PN 192.168.0.20

요약

이 문서에 표시된 대로 메일 서버릴레이 호스트를 설정하는 것은 모든 시스템 관리자가 갖춰야 할 필수 기술이며 보다 복잡한 서버를 이해하고 설치하기 위한 기초를 나타냅니다. 여러(수백 또는 수천 개) 이메일 계정에 대한 라이브 도메인을 호스팅하는 메일 서버와 같은 시나리오.

(이런 종류의 설정에는 DNS 서버가 필요하며 이는 이 가이드의 범위를 벗어납니다.) 그러나 다음 문서를 사용하여 DNS 서버를 설정할 수 있습니다.

  1. CentOS/RHEL 07에서 캐시 전용 DNS 서버 설정

마지막으로 Postfix의 구성 파일(main.cf)과 프로그램 매뉴얼 페이지에 익숙해지는 것이 좋습니다. 의심스러운 경우 주저하지 말고 아래 양식을 사용하거나 포럼 Linuxsay.com을 사용하여 전 세계 Linux 전문가로부터 거의 즉각적인 도움을 받을 수 있습니다.