Linux iptables delete路由规则命令

时间:2020-01-09 10:41:40  来源:igfitidea点击:

如何删除PREROUTING规则。
如何在Linux服务器上删除预路由规则?
您需要使用iptables命令和ip6tables命令。
这些命令用于设置,维护和检查Linux内核中的IPv4和IPv6数据包过滤器规则表。
让我们看看如何使用iptables命令删除Linux系统上的预处理规则。
您必须是root用户才能运行这些命令。

步骤1列出pretrouting规则

语法如下:

sudo iptables -t nat -v -L PREROUTING -n --line-number

或者

sudo iptables -t nat -v -L -n --line-number

其中:

  • -t nat:选择nat表。
  • -v:详细输出
  • -L:列出所选链中的所有规则。换句话说,在nat表中显示所有规则。
  • -L PREROUTING仅在PREROUTING链中显示规则。
  • -n:数字输出。 IP地址和端口号将以数字格式打印。
  • --line-number:列出规则时,在每个规则的开头添加行号,对应于链中该规则的位置。您需要使用行号删除nat规则。

步骤2 iptables删除预路由nat规则

语法为:

sudo iptables -t nat -D PREROUTING {rule-number-here}

删除规则1,即以下规则:

1    15547  809K DNAT       tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80 to:10.147.164.8:80

执行以下命令:

sudo iptables -t nat -D PREROUTING 1

或者

sudo iptables -t nat --delete PREROUTING 1

验证规则已从PREROUTING链中删除,执行:

sudo iptables -t nat -v -L PREROUTING -n --line-number

Linux iptables删除预路由命令

这是另一个DMZ规则:

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to-destination 10.147.164.8:443

要删除预路由命令,请运行:

sudo iptables -t nat -D PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to-destination 10.147.164.8:443

确保保存更新的防火墙规则,或者修改shell程序脚本,或者运行iptables-save命令。

备用语法从iptables中删除特定的PREROUTING规则

说,您执行以下iptables PREROUTING命令进行端口重定向:

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 443 -j DNAT --to-destination 10.147.164.8:443

要删除,请运行与上述相同的命令,但将-A替换为-D

sudo iptables -t nat -D PREROUTING -i eth0 -p tcp -m tcp --dport 443 -j DNAT --to-destination 10.147.164.8:443

再举一个例子,运行相同的命令,但是将" -I"替换为" -D",例如,假设您有以下规则将SSH(TCP 22)从端口2222重定向到端口22:

sudo iptables -t nat -I PREROUTING -p tcp --dport 2222 -j REDIRECT --to-ports 22

成为:

sudo iptables -t nat -D PREROUTING -p tcp --dport 2222 -j REDIRECT --to-ports 22

或者

sudo iptables -t nat --delete PREROUTING -p tcp --dport 2222 -j REDIRECT --to-ports 22