高見龍

iOS app/Ruby/Rails Developer & Instructor, 喜愛非主流的新玩具 :)

Postfix的Relay Control

Postfix的Relay控制,是在/etc/postfix/main.cf裡面做設定,主要有四個部份:

  1. inet_interfaces
  2. mynetworks_style
  3. mynetworks
  4. relay_domains

inet_interfaces:

預設值是all,如果你的機器有多張網路卡,但又不想要全部都開放 relay,就可以指定只開放給某張網路卡。

mynetworks_style:

有三種型態:classsubnethost,預設值是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檔。

注意:

  1. 如果沒有設定mynetworks的話,記得把mynetworks_style改成host,不然同一個子網域的IP都可以透過你的機器relay信件(當然如果所有子網域的使用者你都認識的話倒還ok)
  2. 如果有設定 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

Comments