收發信件實驗環境架設實作

名詞解釋:
  • MTA/MDA:郵件伺服器
  • Cache-Only DNS:解析本地郵件伺服器
  • MUA:客戶端收信軟體

各主機所需套件:
  • MTA/MDA(10.10.10.156):postfix、dovecot
  • DNS(10.10.10.142):bind
  • MUA1(10.10.10.158):thunderbird
  • MUA2(10.10.10.159):thunderbird

DNS(10.10.10.142)
# yum install -y bind
# chkconfig named on

# iptables -A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
# iptables -A INPUT -p udp -m udp --dport 53 -j ACCEPT

# vim /etc/named.conf
 listen-on port 53 { any; };
 allow-query     { any; };
 recursion yes;  // 這樣其他的主機才有辦法透過本地的 DNS 伺服器,訪問外面的 DNS 伺服器。

 // MTA
 zone "s156.com" IN {
   type master;
   file "slaves/s156.com.zone";
 };

# vim /var/named/slaves/s156.com.zone
 @   IN SOA ns1.s156.com. root.s156.com. (
       2012102814 43200 21600 3600000 86400 )
     IN NS ns1
     IN MX 10 mail.s156.com.
 ns1   IN A 10.10.10.142
 mail   IN A 10.10.10.156

# service named start

MTA/MDA(10.10.10.156)
# useradd user1  // 在郵件伺服器上建立 2 個郵件帳號
# useradd user2
# echo '1' | passwd --stdin user1  // 請儘量不要使用此方式更改密碼,因為會留下歷史記錄。
# echo '1' | passwd --stdin user2

# yum install -y postfix dovecot
# chkconfig postfix on; chkconfig dovecot on

# iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT  // 開啟防火牆
# iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT

# vim /etc/resolv.conf
 nameserver 10.10.10.142  // 指向本地的 DNS 伺服器

# hostname
 postman.s156.com
# vim /etc/postfix/main.cf
 myhostname = postman.s156.com
 mydomain = s156.com
 myorigin = $myhostname
 inet_interfaces = all
 mydestination = $myhostname, localhost.$mydomain, localhost, s156.com
 mynetworks = 127.0.0.0/8, 10.10.10.0/24

# vim /etc/dovecot/dovecot.conf
 protocols = imap pop3 lmtp  // 使用 SSL 加密,不必新增 pop3s 或 imaps 的選項,因此 pop3 選項已包含。
 listen = *, ::

# vim /etc/dovecot/conf.d/10-auth.conf
 disable_plaintext_auth = no

# vim /etc/dovecot/conf.d/10-mail.conf
 mail_location = mbox:~/mail:INBOX=/var/mail/%u

# service postfix start; service dovecot start

MUA1(10.10.10.158):收發郵件伺服器帳號 user1 的信件
# yum install -y thunderbird

# vim /etc/resolv.conf
 nameserver 10.10.10.142  // 指向本地的 DNS 伺服器
# chattr +i /etc/resolv.conf  // DHCP或NetworkManager重啟後,會修改resolv.conf的內容,解決方法第一種使用靜態IP,第二種使用指令chattr鎖住檔案(解除鎖定參數-i)

# iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
# iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT

MUA2(10.10.10.159):收發郵件伺服器帳號 user2 的信件
# yum install -y thunderbird

# vim /etc/resolv.conf
 nameserver 10.10.10.142  // 指向本地的 DNS 伺服器
# chattr +i /etc/resolv.conf  // DHCP或NetworkManager重啟後,會修改resolv.conf的內容,解決方法第一種使用靜態IP,第二種使用指令chattr鎖住檔案(解除鎖定參數-i)

# iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
# iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT

測試

  • MUA1(user1@s156.com) 寄信給 MUA2(user2@s156.com)
  • MUA2(user2@s156.com) 寄信給 MUA1(user1@s156.com)
MUA1 寄信給 MUA2
  • 開啟 thunderbird
  • 設定帳號
  • 寄信給 MUA2(user2@s156.com)
MUA2 寄信給 MUA1
  • 開啟 thunderbird
  • 設定帳號
  • 寄信給 MUA1(user1@s156.com)

結果

沒有留言:

張貼留言