先正名:NetFilter就是俗稱的iptable。事實上,iptable只是Linux防火牆的一個介面,真正幕後運作是以Kernel-Base的NetFilter,它是Linux kernel的一部分,因此執行效能是當然很好。
-s 192.168.1.55 或 -s 192.168.1.0/24
-d 192.168.1.55 或 -d 192.168.0.0/24
-p <udp|tcp> --dport portNmuber 或 -p <udp|tcp> --sport portnumber
-p icmp --icmp-type icmp類型
-i eth0 (從哪個介面進來) 或 -o eth0 (從哪個介面出去)
-m state --state <NEW|ESTABLISHED|RELATED|INVALID> NEW 建立連線的狀態 ESTABLISHD 已成功連線的狀態 RELATED 封包是與我們主機發送出去的封包有關 ; 常和 ESTABLISHD,RELATED 一起運用 INVAL 無效的封包,例如資料破損的封包狀態
網路封包首先必須經過mangle table,nat table,最後才是filter table
處理流入的封包。
處理流入的封包,經防火牆router table判斷非本機所要封包,轉送出去。
處理流出的封包。
處理流入的封包,未經防火牆路由之前。與DNAT有關:遠端連線者,存取防火牆內部LAN的伺服器過程
處理未經防火牆路由之前的流出封包
處理防火牆路由之後的流出封包。與SNAT有關:就是典型家用ip分享器(router)讓內部網路都能連上網路的功用