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