Postfix 설치 (1/4) – 메일서버 설치 가이드

By | 2020년 8월 25일
Table of Contents

Postfix 설치 (1/4) – 메일서버 설치 가이드

이 글에서는 Ubuntu 서버에서 Postfix를 이용해 기본적인 메일 송수신 기능을 구현하는 방법을 다룹니다.

환경 정보

  • 도메인: example.com
  • 서버 IP: 111.222.333.444
  • OS: Ubuntu 20.04/22.04 LTS

사전 준비사항

1. DNS 레코드 설정

메일 서버 구축 전에 다음 DNS 레코드를 설정해야 합니다:

# A 레코드
mail.example.com.    IN  A    111.222.333.444

# MX 레코드
example.com.         IN  MX   10 mail.example.com.

# PTR 레코드 (역방향 DNS)
444.333.222.111.in-addr.arpa.  IN  PTR  mail.example.com.

2. 방화벽 설정

필요한 포트를 열어줍니다:

sudo ufw allow 25    # SMTP
sudo ufw allow 587   # SMTP Submission

3. 호스트네임

hostname
sudo hostnamectl set-hostname mail.example.com

sudo vi /etc/hosts
......
127.0.0.1       localhost
127.0.1.1       mail.example.com mail
13.209.80.18    mail.example.com mail
......

Postfix 설치 및 기본 설정

1. 패키지 설치

# 시스템 업데이트
sudo apt update && sudo apt upgrade -y

# Postfix 설치
sudo apt install postfix mailutils -y

설치 중 설정 화면이 나타나면:

  • General type of mail configuration: Internet Site 선택
  • System mail name: example.com 입력

2. Postfix 기본 설정

메인 설정 파일을 편집합니다:

sudo vi /etc/postfix/main.cf
----------------------------
# 기본 설정
myhostname = mail.example.com
mydomain = example.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

# 네트워크 설정
inet_protocols = ipv4
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128

# 메일 저장 형식
home_mailbox = Maildir/

# 메시지 크기 제한 (25MB)
message_size_limit = 26214400

# SMTP 배너
smtpd_banner = $myhostname ESMTP

# 기본 보안 설정
smtpd_helo_required = yes
disable_vrfy_command = yes

# SMTP 릴레이 및 수신자 제한
smtpd_relay_restrictions =
    defer_unauth_destination

compatibility_level = 2
----------------------------

3. 서비스 재시작 및 확인

# 설정 검증
sudo chown root:root /var/spool/postfix/etc/resolv.conf
sudo postfix check

# 서비스 재시작
sudo systemctl restart postfix

# 서비스 상태 확인
sudo systemctl status postfix

# 부팅시 자동 시작 설정
sudo systemctl enable postfix

사용자 계정 생성

메일을 송수신할 사용자를 생성합니다:

# 사용자 추가
sudo adduser user1

# 메일 디렉토리 생성
sudo mkdir /home/user1/Maildir
sudo chown user1:user1 /home/user1/Maildir
sudo chmod 700 /home/user1/Maildir

기본 테스트

1. 로컬 메일 전송 테스트

# 명령어를 통한 메일 전송
echo "테스트 메일 내용" | mail -s "테스트 제목" user1@example.com

sudo cat /home/user1/Maildir/new/*
# sudo sh -c 'cat /home/user1/Maildir/new/*'

2. 외부에서 메일 전송 테스트

지메일 등에서 user1@example.com 로 메일을 전송해 봅니다.

3. 메일 로그 확인

# 메일 로그 실시간 모니터링
# sudo apt install rsyslog
# sudo systemctl enable rsyslog
# sudo systemctl start rsyslog
sudo tail -f /var/log/mail.log

# Postfix 큐 상태 확인
sudo postqueue -p

답글 남기기