首先設定內核的IP Forwarding功能,系統應開始轉送每一信息。路徑表(routing table)應已設定,因此應該可以通往任何地點,從網內可以聯到網外,從網外也可進到網內。 但是防火牆的作用是不讓任何人可以隨便進出網路。 在示範系統中設定了兩套指令(script),對防火牆的forwarding和accounting作了規定。系統在運行/etc/rc.d時取用這兩套指令,因此在系統啟動時就對系統作了設置。 Linux的內核自設轉送一切信息的IP Forwarding系統。因此,防火牆的指令應首先禁止一切進入系統的權利,清除上次運行後留下的任何ipfw規則。下面的指令應能達到這項目的。
# # setup IP packet Accounting and Forwarding # # Forwarding # # By default DENY all services ipfwadm -F -p deny # Flush all commands ipfwadm -F -f ipfwadm -I -f ipfwadm -O -f好了,現在有了絕對保險的防火牆。一切都被屏擋在外面,無法穿越防火牆一步。當然,有些功能還是需要的,下面的一些例子可作參考。
# Forward email to your server ︰轉送電子郵件到伺服器 ipfwadm -F -a accept -b -P tcp -S 0.0.0.0/0 1024:65535 -D 192.1.2.10 25 # Forward email connections to outside email servers ︰將電子郵件連到網路外的電子郵件伺服器 ipfwadm -F -a accept -b -P tcp -S 196.1.2.10 25 -D 0.0.0.0/0 1024:65535 # Forward Web connections to your Web Server︰將Web連到Web伺服器 /sbin/ipfwadm -F -a accept -b -P tcp -S 0.0.0.0/0 1024:65535 -D 196.1.2.11 80 # Forward Web connections to outside Web Server︰將Web連到外界Web伺服器 /sbin/ipfwadm -F -a accept -b -P tcp -S 196.1.2.* 80 -D 0.0.0.0/0 1024:65535 # Forward DNS traffic︰轉送DNS信息 /sbin/ipfwadm -F -a accept -b -P udp -S 0.0.0.0/0 53 -D 196.1.2.0/24如果想知道通過防火牆的信息來往情況,下列指令會統計所有數據包。
# Flush the current accounting rules ipfwadm -A -f # Accounting /sbin/ipfwadm -A -f /sbin/ipfwadm -A out -i -S 196.1.2.0/24 -D 0.0.0.0/0 /sbin/ipfwadm -A out -i -S 0.0.0.0/0 -D 196.1.2.0/24 /sbin/ipfwadm -A in -i -S 196.1.2.0/24 -D 0.0.0.0/0 /sbin/ipfwadm -A in -i -S 0.0.0.0/0 -D 196.1.2.0/24
如果只把電腦設為過濾防火牆,到這裡就大功告成了﹗