Netfilter
CHAIN
INPUT:經網卡進入的封包
OUTPUT:經網卡出去的封包
FORWARD:經網卡進入 \/ 出去轉送的封包
PREROUTING:改變經網卡進入的封包狀態 ( DNAT \/ REDIRECT )
POSTROUTING:改變經網卡出去的封包狀態 ( SNAT \/ MASQUERADE )
TABLE
filter:可以處理 INPUT、OUTPUT、FORWARD 封包狀態 (Default)
nat:可以處理 OUTPUT、PREROUTING、POSTROUTING 封包狀態
mangle:可以處理 INPUT、OUTPUT、FORWRD、PREROUTING、POSTROUTING
Packet STATE
NEW:一個新的連線封包 (建立新連線後的第一個封包)
ESTABLISHED:成功建立的連線,即建立追蹤連線後所有封包狀態 (跟在 NEW 封包後面的所有封包)
RELATED:新建連線,由 ESTABLISHED session 所建立的新獨立連線 (ex. ftp-data 連線)
INVALID:非法連線狀態的封包 (DROP 封包)
UNKOWN:不明連線狀態的封包
Policy and TARGET
ACCEPT:允許封包移動至目的地或另一個 chain
DROP:丟棄封包、不回應要求、不傳送失敗訊息
REJECT:拒絕封包、回應要求、傳送失敗訊息
SNAT:修改 Source Socket
DNAT:修改 Destination Socket
MASQUERADE:動態修改 Source Socket (無法指定 IP,取當時網卡的 IP),較方便但效率較差
REDIRECT:將連線導至本機行程 (Local Process)
RETURN:結束自行定義的 Chain 然後返回原來的 Chain 繼續跑規則 (rules)
QUEUE:封包排隊等待處理
LOG:記錄指定的規則封包 (\/etc\/syslog.conf , default \/var\/log\/messges)
Last updated
Was this helpful?