Linux Iptables 删除 postrouting 规则命令
您需要在 Linux 机器上使用 iptables 和 ip6tables 命令。这些命令用于设置、维护和检查 Linux 内核中的 IPv4 和 IPv6 数据包过滤器防火墙规则表。让我们看看如何使用 iptables 命令删除 Linux 系统上的后路由规则。您必须是 root 用户才能运行下面提到的命令。
教程详细信息 | |
---|---|
难度等级 | 中间的 |
Root 权限 | 是的 |
要求 | Linux 终端 |
类别 | 防火墙 |
先决条件 | iptables 命令 |
操作系统兼容性 | Alma • Alpine • Arch • Debian • Fedora • Linux • Mint • openSUSE • Pop!_OS • RHEL • Rocky • Stream • SUSE • Ubuntu |
预计阅读时间 | 3 分钟 |
步骤 1 - 列出 Linux 上的 iptables 后路由规则
语法如下:
# iptables -t nat -v -L POSTROUTING -n --line-number
OR
# iptables -t nat -v -L -n --line-number
图 01:Linux iptables 列出 nat 规则命令
- -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:202.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
相关另外,请查看我们针对Alpine Linux Awall、CentOS 8、OpenSUSE、RHEL 8、Debian 12/11、Ubuntu Linux 版本16.04 LTS / 18.04 LTS / 20.04 LTS和22.04 LTS 的
所有完整防火墙教程。
从 iptables 中删除特定后路由规则的另一种语法(版本 2)
假设您执行以下 postrouting 命令:
要删除,请运行上述相同命令,但将“ ”替换为“ ”
另一个示例,运行相同的命令,但将“ ”替换为“ ”。例如:
变为:
或
# 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
-I-D
# iptables -t nat -I POSTROUTING -s 10.8.0.0/24 -j SNAT --to 202.54.1.5
# iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -j SNAT --to 202.54.1.5
# iptables -t nat --delete POSTROUTING -s 10.8.0.0/24 -j SNAT --to 202.54.1.5
结论
您学习了如何在 Linux 服务器上列出和移除/删除 iptables 后路由规则。上述命令适用于 Debian、Ubuntu、CentOS、RHEL、Fedora 和所有其他 Linux 发行版。-D或--delete选项可从选定链中删除一个或多个规则。此命令有两个版本,规则可以指定为链中的数字(版本 1)或要匹配的规则(版本 2),如上所述。有关更多信息,请参阅此处的iptables 手册页和我的教程: