NAT + Firewall 設定 (FreeBSD 5.3)

第一步: 編輯 kernel,在最後方加入支援 IP firewall 的設定。
#IPFW FireWall
options IPFIREWALL #開啟基本的封包過濾功能
options IPFIREWALL_DEFAULT_TO_ACCEPT #設定 IPFIREWALL 的例外狀況
options IPFIREWALL_VERBOSE #設定記錄過濾日誌
options IPFIREWALL_VERBOSE_LIMIT=100 #設定日誌記錄檔大小的限制
options IPDIVERT #IP firewall 與 natd 的 port 定義, NAT 必要
options IPFIREWALL_FORWARD #子網域封包的傳輸轉遞
options DUMMYNET #IP firewall 限制頻寬設定必要選項
然後重新編譯 kernel 檔。
From:http://redeyeberg.blogspot.com/2007/02/nat-firewall.html

config GENERIC
cd ../compile/GENERIC/
make cleandepend; make depend;
make depend all install
第二步: 編輯 /etc/rc.conf 檔,在其中加入設定讓系統開機時就啟動 IP firewall。
gateway_enable="YES" # 讓主機支援 gateway(通訊閘) 功能
firewall_enable="YES" # 開啟防火牆(IP-FIREWALL)
firewall_type="simple" # 設定規則以護整網路
firewall_quiet="YES"
firewall_script="/etc/rc.firewall" # 指定規則設定的檔案
tcp_extensions="YES"
natd_interface="NIC out" # 設定 NAT 服務的網路卡,NIC out 為對外的網卡代號。 natd_enable="YES" # 開啟 NTA 服務
第三步: 編輯或建立 /etc/rc.firewall 檔,定義進出允許與阻斷的規則。基本的設定內容如下:
#!/bin
/sh/sbin/ipfw -f flush
/sbin/ipfw add deny all from 203.113.14.10 to any
/sbin/ipfw add deny all from 202.109.252.126 to any
/sbin/ipfw add deny all from 85.255.113.0/24 to any
/sbin/ipfw add deny all from 218.188.23.45 to any
/sbin/ipfw add deny all from 213.201.235.21 to any
/sbin/ipfw add deny tcp from anyonedon'tlikeit.com to any
# 以上為阻止存取與進入之設定,視狀況增加拒絕非善意的訪客。
/sbin/ipfw add 00225 deny log tcp from any to any in tcpflags syn,fin
# 以上為阻止 nmap 和 queso 利用 syn 與 fin 封包進行掃瞄,防止 ddos攻擊。
/sbin/ipfw add divert natd all from any to any via NIC out # 對外 NIC
/sbin/ipfw add pass all from any to any via NIC 1 # 對內 NIC 1 放行
/sbin/ipfw add pass all from any to any via NIC 2 # 對內 NIC 2 放行
/sbin/ipfw add pass all from any to any # 以上定義對外 NIC 的開放與內部 NIC 的開放。
整個規則就是先設定阻止的定義,然後設定開放的定義。完成後把檔案屬性改成可執行。
# chmod u+x /etc/rc.firewall
三個步驟都完成後請重新開機,開機後 NAT + IP firewall 的功能就可以順利啟用了。
假如日後有動到 /etc/rc.firewall 檔,修改後執行
# sh /etc/rc.firewall
就可以免重新開機馬上啟用新的 Firewall 設定規則。

Please follow and like us:

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *