Postfix 的 Relay Control
Postfix 的 Relay 控制,是在 /etc/postfix/main.cf
裡面做設定,主要有四個部份:
- inet_interfaces
- mynetworks_style
- mynetworks
- relay_domains
inet_interfaces:
預設值是all
,如果你的機器有多張網路卡,但又不想要全部都開放 relay,就可以指定只開放給某張網路卡。
mynetworks_style:
有三種型態:class
、subnet
及 host
,預設值是 subnet。
- class 是可以指定開放給 A/B/C class 的來源,這種設定方式滿冒險。
- subnet 代表你的機器的 IP 所在網域的任何一個 IP 都可以接受 relay。(如果同一個 subnet 裡的機器多,要小心可能被當成垃圾信跳板)
- host 表示只會設定 localhost 為信任的網域而已。
mynetworks:
這可以設定成檔案的方式或是直接以 IP/netmask 來做設定。例如:
mynetworks=192.168.1.0/24, 127.0.0.0/8
而如果要用檔案方式:
mynetworks = 127.0.0.0/8, hash:/etc/postfix/access
記得 postmap 一下這個 access 檔。
注意:
- 如果沒有設定 mynetworks 的話,記得把 mynetworks_style 改成
host
,不然同一個子網域的 IP 都可以透過你的機器 relay 信件(當然如果所有子網域的使用者你都認識的話倒還 ok) - 如果有設定 mynetworks_style 以及 mynetwork 時,mynetworks 的設定會取代掉 mynetworks_style。
relay_domains:
可以一次指定一個 domain 來開放 relay。例如:
relay_domains = eddie.com.tw
這樣的設定是代表所有由 eddie.com.tw 這個 domain 來的信件都會被當做可信任的,postfix 會幫忙 relay。但要注意的是,由「任何地方」來的信件,並且要寄往 eddie.com.tw 網域的信件,postfix 也會幫忙 Relay。
詳細設定在 /etc/postfix/main.cf
裡有說明。
Hinet 廣告信跳板測試: http://lcss.hinet.net/antispam/or_check.pl