mail server 不僅自己要發信,也常常必須要提供轉發信件的功能,也就是 mail relay ,提供沒有 smtp 服務的 service 來進行發信,以達到統一集中管理的效果。
以 Postfix 為例
設定檔 /etc/postfix/main.cf 主要分為四大項,避免造成廣告信件的跳板必須謹慎設定
inet_interfaces
可使用的網路介面,如果是提供使用者收發信的話就必須設定為 all,因為你無法掌握使用者的 ip 範圍
※若是有資安考量也建議將 service 跟 users 分開為不同的 smtp。
inet_interfaces=all
mynetworks_style
有三種模式 : class , subnet , host
class 可以將網段切 class,允許同一class ralay。
subnet 在同一個domain內都允許relay,若是同一網域有一台中毒就容易造成廣告跳板,不建議使用。
host 只允許本機 localhost。
mynetworks
可允許 relay 的範圍,可用 ip/netmask 表示法,也可 include file
mynetworks=192.168.100.0/24, 192.168.121.99/32, 10.0.0.0/8 mynetworks= hash:/etc/postfix/accessrelay
relay_domains
可指定 domain 允許 relay
relay_domains = shazi.twbbs.org
※必須注意的是 mynetworks_style 和 mynetworks 選擇一個做設定,至少也將 host 加入,避免被子網域的 server 當成廣告跳板。
※ mynetworks_style 和 mynetworks 同時設定時,mynetworks 會取代 mynetworks_style。
參考資料: