[bingo] Iptables筆記1-introduce&conntrack
來源:http://iptables-tutorial.frozentux.net/
Iptables 指南1.1.9
1. 表:
mangle: 改變包的(TOS/TTL/MARK)屬性。建議不加任何過濾。
nat: 用于轉換包的源地址和目標地址。流的第一個包會進行匹配,后面的包會做按第一個包一樣處理。包括DNAT/SNAT/MASQUERADE。
filter: 用于過濾,對包的抉擇ACCEPT或者DROP。
[bingo] Iptables筆記1-introduce&conntrack
來源:http://iptables-tutorial.frozentux.net/
Iptables 指南1.1.9
1. 表:
mangle: 改變包的(TOS/TTL/MARK)屬性。建議不加任何過濾。
nat: 用于轉換包的源地址和目標地址。流的第一個包會進行匹配,后面的包會做按第一個包一樣處理。包括DNAT/SNAT/MASQUERADE。
filter: 用于過濾,對包的抉擇ACCEPT或者DROP。
2. 鏈:
PREROUTING: 所有進入的包最先進入的鏈
POSTROUTING: 所有發送包最后通過的鏈
INPUT: 進入本地的鏈
OUTPUT: 本地發送出去的鏈
FORWARD: 轉發的鏈,不進入本地
通常有三種狀態:
a) 進入本地的包:NETWORK-->(mangle)PREROUTING-->(nat)PREROUTING--><Routing decision>-->(mangle)INPUT-->(filter)INPUT--><Local process>
b) 從本地發出的包:<Local process>-->(mangle)OUTPUT-->(nat)OUTPUT-->(filter)OUTPUT-->(mangle)POSTROUTING-->(nat)POSTROUTING-->NETWORK
c) 路由的包:NETWORK-->(mangle)PREROUTING-->(nat)PREROUTING--><Routing decision>-->(mangle)FORWARD-->(filter)FORWARD-->(mangle)POSTROUTING-->(nat)POSTROUTING-->NETWORK
3. 狀態防火墻:所有狀態的改變和計算都是在nat表中的PREROUTING鏈和OUTPUT鏈里完成的。
4. 狀態記錄表:/proc/net/ip_conntrack
[UNREPLIED]連接還沒有收到回應
[ASSURED]兩個方向已無流量
當記錄表慢的時候,沒有[ASSURED]標記的記錄將被刪除。
記錄條數目可以設置:/proc/sys/net/ipv4/ip_conntrack_max
5. 數據包的四種狀態:
NEW: conntrack看到的某個連接的第一個包,并沒有收到對方的應答。
ESTABLISHED: 數據已經在兩個方向進行了傳輸。有應答就算,比如ICMP的錯誤返回包。
RELATED: 當和ESTABLISHED狀態又發生新連接時候。比如ftp-data和ftp-control。
INVALID: 無效,通常DROP。