
當我執行時sudo iptables -F
,我的 nat 表的 iptable 規則不會刷新。為什麼會這樣呢?上面的命令有什麼作用?
我相信存在三個表:filter、nat 和 mangle。我認為這些表中的任何一個都不會受到sudo iptables -F
.它是否正確?
答案1
作為手冊 狀態,所有iptables
命令都在特定表上工作。
當您省略可選-t TABLE
標誌時,該iptables -F
命令將僅適用於預設表,即篩選桌子。
表格
目前存在三個獨立的表(哪些表隨時存在取決於內核配置選項以及存在哪些模組)。
-t, --table table
此選項指定命令應操作的資料包匹配表。如果核心配置了自動模組加載,則會嘗試為該表加載適當的模組(如果該模組尚不存在)。各表如下:
篩選:
這是預設表(如果未-t
傳遞任何選項)。它包含內建鏈INPUT
(用於發送到本地套接字的資料包)、FORWARD
(對於透過盒子路由的資料包)和OUTPUT
(對於本地生成的資料包)。
納特:
當遇到建立新連線的資料包時,將查閱該表。它由三個內建函數組成:(PREROUTING
用於在資料包進入時立即更改資料包)、OUTPUT
(用於在路由之前更改本地生成的資料包)和POSTROUTING
(用於在資料包即將發出時更改資料包)。
粉碎:此表用於專門的資料包變更。
在核心 2.4.17 之前,它有兩個內建鏈:(PREROUTING
用於在路由之前更改傳入資料包)和OUTPUT
(用於在路由之前更改本地生成的資料包)。
從核心 2.4.18 開始,也支援其他三個內建鏈:(INPUT
用於進入盒子本身的資料包)、FORWARD
(用於更改通過盒子路由的資料包)和POSTROUTING
(用於在資料包即將出去時更改資料包) 。
生的:此表主要用於與NOTRACK
目標結合配置連接追蹤的豁免。它以更高的優先權在 netfilter 掛鉤上註冊,因此在 ip_conntrack 或任何其他 IP 表之前被呼叫。
它提供以下內建鏈:(PREROUTING
對於透過任何網路介面到達的封包)OUTPUT
(對於本地進程產生的封包)
答案2
我相信您需要添加-t <table_name>
沖洗nat
和mangle
桌子的選項。