表格

表格

当我执行时sudo iptables -F,我的 nat 表的 iptable 规则没有被刷新。为什么会这样?上面的命令有什么作用?

我相信有三个表:filter、nat 和 mangle。我认为这些表均不受 的影响sudo iptables -F。这样对吗?

答案1

作为手册 状态,所有iptables命令都在特定表上起作用。

当您省略可选-t TABLE标志时,该iptables -F命令将仅适用于默认表,筛选桌子。

表格

目前有三个独立的表(哪些表随时存在取决于内核配置选项和存在哪些模块)。

-t, --table table
此选项指定命令应操作的数据包匹配表。如果内核配置了自动模块加载,则将尝试加载该表的相应模块(如果该表尚不存在)。

表格如下:

筛选:
这是默认表(如果没有-t传递选项)。它包含内置链INPUT(用于发往本地套接字的数据包)、FORWARD (用于通过盒子路由的数据包)和OUTPUT(用于本地生成的数据包)。
NAT:
当遇到创建新连接的数据包时,将查阅此表。它由三个内置函数组成:(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>刷新natmangle表格的选项。

相关内容