Linux Iptables Delete postrouting Rule命令
时间:2020-01-09 10:39:28 来源:igfitidea点击:
如何删除POSTROUTING规则。
如何在Linux服务器上删除路由后规则?
您需要在Linux计算机上使用iptables和ip6tables命令。
这些命令用于在Linux内核中设置,维护和检查IPv4和IPv6数据包筛选器防火墙规则表。
让我们看看如何使用iptables命令在Linux系统上删除后路由规则。
您必须是root用户才能运行下面提到的命令。
步骤1在Linux上列出iptables后路由规则
语法如下:
iptables -t nat -v -L POSTROUTING -n --line-number
或者
iptables -t nat -v -L -n --line-number
输出示例:
Linux iptables list nat rules命令
其中:
-t nat
:选择nat表。- -v:详细输出
- -L:列出所选链中的所有规则,即在nat表中显示所有规则。
- -L POSTROUTING:仅列出POSTROUTING链中的所有规则。
- -n:数字输出。换句话说,IP地址和端口号将以数字格式而不是DNS名称打印。这将加快上市规则。
- --line-number:列出规则时,在每个规则的开头添加行号,对应于链中该规则的位置。您需要使用行号从POSTROUTING链中删除nat规则。
步骤2 Linux iptables删除路由规则后的nat规则(版本1)
语法为:
iptables -t nat -D POSTROUTING {number-here}
要删除规则5,即以下规则:
5 40 3360 SNAT all -- * * 10.8.0.0/24 0.0.0.0/0 to:192.54.1.5
执行以下命令:
iptables -t nat -D POSTROUTING 5
或者
iptables -t nat --delete POSTROUTING 5
验证它,执行:
iptables -t nat -v -L POSTROUTING -n --line-number
输出示例:
Chain POSTROUTING (policy ACCEPT 94 packets, 6392 bytes) num pkts bytes target prot opt in out source destination 1 10 762 MASQUERADE all -- * eth1 10.8.0.0/24 0.0.0.0/0 2 0 0 MASQUERADE all -- * eth1 10.8.0.0/24 0.0.0.0/0 3 0 0 MASQUERADE all -- * eth1 10.0.0.0/8 0.0.0.0/0 4 0 0 MASQUERADE all -- * eth1 10.0.0.0/8 0.0.0.0/0
从iptables中删除特定的路由后规则的另一种语法(版本2)
说,您执行以下后路由命令:
# iptables -t nat -A POSTROUTING -o eth1 -s 10.8.0.0/24 -j MASQUERADE
要删除,请运行与上述相同的命令,但将-A
替换为-D
。
# iptables -t nat -D POSTROUTING -o eth1 -s 10.8.0.0/24 -j MASQUERADE
再举一个例子,运行相同的命令,但是用-D替换-I。
例如:
# iptables -t nat -I POSTROUTING -s 10.8.0.0/24 -j SNAT --to 192.54.1.5
成为:
# iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -j SNAT --to 192.54.1.5
或者
# iptables -t nat --delete POSTROUTING -s 10.8.0.0/24 -j SNAT --to 192.54.1.5