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