Linux:網絡防火牆
netfilter:Frame
iptables: 數據報文過濾,NAT,mangle等規則生成的工具
網絡:IP報文首部,TCP報文首部
防火牆:硬件,軟件:規則(匹配標準,處理辦法)
Framework:
默認規則:
開放: 堵
關閉: 通
規則:匹配標準
IP:源IP,目標IP
TCP:源端口,目標端口
tcp三次握手: SYN=1,FIN=0,RST=0,ACK=0;
SYN=1,ACK=1,FIN=0,RST=0;
ACK=1,SYN=0.RST=0,FIN=0(ESTABLISHED);
UDP:源端口,目標端口
ICMP:icmp-type
數據報文過濾:
Linux2.0
ipfw/firwall
Linux2.2
ipc
Linux2.4
iptables/netfilter
hook function:鉤子函數
prerouting
input
output
forward
postrouting
規則鏈:
filter(過濾):表
INPUT
OUTPUT
FORWARD
nat(地址轉換):表
PREROUTING
OUTPUT
POSTROUTING
mangle(修改報文首部,拆開,修改,封裝):表
prerouting
input
output
forward
postrouting
raw():
PREROUTING
OUTPUT
iptables:
自定義鏈:只能在被調用時才能發揮作用,而且如果沒有被自定義鏈中任何一條規則匹配到,還應該有返回機制
用戶可以刪除自定義的空鏈
默認鏈不能被刪除
每個規則都有內置的計數器
被匹配到的報文個數
被匹配到的報文大小之和
規則:匹配標準,處理動作
iptables [-t TABLES] COMMAND CHAIN [num] 匹配標準 -j 處理辦法
匹配標準:
通用匹配:
-s ,--src 指定原地址
-d , --dst 指定目標地址
-p , {tcp|udp|icmp}:指定協議
-i , INTERFACE: 指定數據報文流入的接口
可用於定義的鏈:PREROUTING,INPUT,FORWARD
-o , INTERFACE: 指定數據報文的流出接口
可用於標準定義的鏈OUTPUT,POSTROUTING,FORWARD
擴展匹配:
隱含擴展:不用特別指明由哪個模塊進行的擴展,因爲此時使用-p {tcp|udp|icmp}
顯示擴展:必須指明由哪個模塊進行的擴展,在iptables中使用-m選項可完成此功能
-j TARGET
ACCEPT
DROP
REJECT