본문 바로가기
리눅스공부/메일 서버 설치와 운영

[메일서버구현-5] 구축한 메일서버 설정(2) - 받는 기능 패키지 설치 / 리눅스 메일서버 설치와 운영

by 으노으뇨 2023. 1. 11.
728x90
반응형
SMALL

지난 글 : 구축한 메일서버의 DNS 설정하고 각 연결 확인 https://uno-kim.tistory.com/311

 

[메일서버구현-4] 구축한 메일서버 설정(1) - DNS 설정 / 리눅스 메일서버 설치와 운영

진행순서 내 이름으로 된 메일서버를 만든다. 두 번째 메일서버를 만든다. (리눅스 텍스트모드) 두 네임서버(GUI : mail.unomail.com / 텍스트모드 : mail.unotistory.com)에 대한 환경설정 구축한 메일서버

uno-kim.tistory.com

진행순서

  1. 내 이름으로 된 메일서버를 만든다.
  2. 두 번째 메일서버를 만든다. (리눅스 텍스트모드)
  3. 두 네임서버(GUI : mail.unomail.com / 텍스트모드 : mail.unotistory.com)에 대한 환경설정
  4. 구축한 메일서버 설정
  5. 구축한 메일서버 테스트
  6. 다른 메일서버도 구축(리눅스 텍스트모드)
  7. 구축한 메일서버 설정(리눅스 텍스트모드)
  8. 구축한 메일서버 테스트(2개의 메일서버간 통신

구축한 메일서버 설정

DNS 서버설정

수신 기능 설정

이렇게 2가지로 크게 나누어서 설명드리겠습니다.


수신 기능 설치

메일 서버를 구현하는 필수 패키지는

보내는 기능의 sendmail,

받는 기능의 dovecot-p0p3 

이렇게 2가지가 있다.

sendmail은 앞의 포스팅 https://uno-kim.tistory.com/308 에서 설치했다.

 

[메일서버구현-1] 메일 서버 설치와 설치 전 준비 / 리눅스 메일서버 설치와 운영

이번 포스팅에서는 설치와 설치전 사전 준비단계 설명하겠습니다. 먼저 제 이름으로 만든 메일서버 1개를 설치하고, 설정, 테스트를 진행하고 unomail.com을 도메인주소로 가지는 메일서버와 unotist

uno-kim.tistory.com

apt -y install dovecot-pop3d

명령으로 dovecot 관련 패키지를 설치한다.

설치중인 화면
설치가 완료된 모습

gedit /etc/mail/sendmail.cf

명령을 통해 아래와 같이 수정한다. 총 3개를 수정해야한다.

1. 98번째 줄 수정

기존 #Cwlocalhost

를 아래와 같이 수정한다.

2. 269번째줄 수정

기존의  269 번째줄

268의 맨뒤 Addr를 삭제해준다.

Addr = 127.0.0.1 부분을 삭제해준 모습

3. 270번째줄 수정

네모부분삭제
삭제완료한 모습

sendmail.cf 파일이란?

/etc/mail/sendmail.cf 파일은 Sendmail 서버의 설정 파일이다.
설정 내용이 길고 복잡해서 까다로울수 있지만 필요한 부분만 알면된다.

* Cw도메인이름 : 도메인이름을 가진 메일 서버로 사용하겠다는 의미이다.
* MaxMessageSize = 용량 : 메일 1개의 본문과 첨부 파일을 합친 제한 용량이다.
* Mlocal 설정내용 : 전체 메일공간을 '설정내용'으로 제한한다.
* O QueueDirectory=/var/spool/mqueue : 메일 전송 시 사용하는 임시 저장 디렉터리다.
O DeaminPortOptions=Faminy=inet, Name=MTA-v4, Port=smtp, Addr=127.0.0.1 : Addr=127.0.0.1 은 자기 자신만 메일을 보낼 수 있다는 의미다. 그래서 외부에서도 메일을 보낼 수 있도록 이 부분을 삭제한 것이다.

sendmail.cf 를 수정한 이후는 Sendmail 메일 서비스를 재시작해야한다. 설정마저하고 나중에 하겠다.


외부 네트워크 호스트가 메일 을 보낼 수 있도록 허가

 

gedit /etc/mail/access

파일을 열어서 제일 아래 다음에 내용을 추가한 후 저장하고 닫는다.

이게 현재 제일 아래 글

unomail.com		RELAY  ->unomail.com 도메인의 릴레이 허용
unotistory.com	RELAY  ->unotistory.com 도메인의 릴레이 허용
192.168.111		RELAY  ->192.168.111.### 컴퓨터의 릴레이 허용

내용을 추가해준모습

/etc/mail/access 파일을 수정한 이후에는 

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

명령으로 적용한다.

적용완료된 모습

메일 릴레이

메일릴레이란 다른 네트워크 호스트에서 자신의 메일 서버를 경유하여 메일을 전송하는 것이다.
이 기능을 악용해서 스팸메일이나 바이러스 메일 등 대량 메일을 발송하는 경우가 종종 발생되어 사회적인 문제까지 야기시키곤 한다.

Sendmail에서 제공하는 메일 릴레이 기능은 기본적으로 자기 자신의 IP 주소 외에 아무도 메일을 발송할 수 없도록 되어있다. 이 파일이 /etc/mail/access 이다.

하지만 모든 사용자가 메일 서버 컴퓨터 앞에 앉아서 메일을 보낼 수는 없으므로, 신뢰할 수 있는 도메인이나 호스트 또는 네트워크에는 메일 릴레이를 할 수 있도록 허용한다.
보통 /etc/mail/access 파일의 릴레이 허용은 RELAY로, 거부는 REJECT 또는 DISCARD를 사용한다.

예를 들면 다음과 같다.
192.168.111.200		RELAY -> 해당 주소의 컴퓨터의 릴레이 허용
abc.com			RELAY -> 해당 도메인에 릴레이 허용
192.168			RELAY -> 192.168.###.$$$ 의 모든 컴퓨터에 릴레이 허용
babo@			DISCARD -> babo라는 메일 계정의 메일 거부(거부 메시지 안 보냄)
@naver.com		REJECT -> naver.com 메일 사용자의 메일 거부(거부 메세지 보냄)

dovecot 서비스 설정

사용자에게 메일 박스의 내용을 보내주는 dovecot 서비스 설정파일을 설정한다.

gedit /etc/dovecot/dovecot.conf

명령을 통해 열고 아래 부분을 수정해준다.

수정전 기존 파일 모습

저기 네모칸 안의 내용을 수정할 것이다.

 2줄은 주석처리를 풀것이고, 한출은 추가해줄것이다. 

disable_plaintext_auth = no

주석 2개는 풀고, 줄 하나를 추가 해준 모습

설정을 저장한다 그리고

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

파일을 열고 아래 내용처럼 수정한다.

121줄쯤 주석 제거 후 변경 

기존내용
주석지우고 mail추가해준모습

166줄쯤 주석 제거

주석 제거전
주석제거완료


unomail.com 의 메일 계정 생성

adduser unokim

명령으로 unomail.com 의 메일 계정 사용자인 unokim을 생성한다.

계정생성 완료 비밀번호는 ubuntu 로 하였습니다.


구축한 메일 서버 설정저장 및 가동

다음 명령으로 sendmail 및 dovecot 서비스를 시작하고 상시 가동시키도록 합니다.

systemctl restart sendmail
systemctl enable sendmail
systemctl restart dovecot
systemctl enable dovecot

sendmail 을 가동한 모습
dovecot을 가동한 모습


여기까지 메일 서버를 구축하고 설치하고 

수신기능을 하는 dovecot 을 설치하고 설정했습니다.

다음 포스팅은 메일 서버들이 잘 작동하는지 테스트 및 확인하겠습니다.

감사합니다.

728x90
반응형
LIST

댓글