2008年4月2日 星期三

linux上的防火牆 iptables

iptables 的簡圖 (from 鳥哥)
iptables防火牆的概念是:
當封包送來時,iptables會根據事先定義好的table,
一條一條規則逐一比對,如果符合其中一條,
就允許進入主機,否則就進行下一條規則的比對,
一但所有規則都不符合,則會進行預設動作,
預設動作也稱為Policy,一般有下列幾種:
接受 (ACCEPT) 、
丟棄 (DROP) 、
轉送 (FORWARD)









iptables 的簡圖 (from 鳥哥),
iptables的規則都記錄在tables裡,
常用的有兩個表格,filter及nat。

filter主要是設定有關進出本機的封包:
由 filter.INPUT 規則鍊限制進入本機的封包;
由 filter.OUTPUT 規則鍊限制送出本機的封包。

nat主要是設定要進出本機後端的主機的封包
當本機要做為防火牆主機時才有用到
nat.PREROUTING 規則鍊處理 路由前的封包
nat.POSTROUTING 規則鍊處理路由後的封包

iptables 指令用法:

iptables -L -n 顯示filter規則鍊下的所有規則
iptables -L -n -t nat 顯示nat規則鍊下的所有規則

iptables -P INPUT DROP 設定fliter.INPUT 規則鍊的預設動作為 DROP (丟棄)
iptables -t nat -P INPUT ACCEPT 設定nat.INPUT 規則鍊的預設動作為 ACCEPT (接受)

iptables -A INPUT -i lo -j ACCEPT filter.INPUT加入規則,所有來自lo的封包均接受

iptables -A INPUT -i eth0 -s 192.168.0.9 -j DROP eth0收到的所有來自192.168.0.9的封包均丟棄

iptables -I OUTPUT -d 140.126.21.0/24 -j DROP本機所有要送往140.126.21.*網域的封包均丟棄

沒有留言: