我一直在许多网站上阅读如何使用iptables在
Linux中将一个端口重新路由到另一个端口.例如,将端口80重新路由到8080看起来像这样……
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8080
我担心的是,如果我改变主意怎么办?我没有阅读任何提供纠正它的语法的地方.我假设有一种(简单的?)方法可以做到这一点,但我在Linux上太新了,直观地弄清楚如何在不重新安装操作系统的情况下将端口80恢复到原来的行为.
解决方法
您可以使用
iptables的-D选项删除链中的规则.例如
首先列出要从中删除规则的链,使用–line-numbers
sudo iptables -L RH-Firewall-1-INPUT -n --line-numbers Chain RH-Firewall-1-INPUT (2 references) num target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 2 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 3 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255 4 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0 5 ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0 6 ACCEPT udp -- 0.0.0.0/0 224.0.0.251 udp dpt:5353 7 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631 8 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631 9 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 10 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 11 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
删除第6行
sudo iptables -D RH-Firewall-1-INPUT 6 sudo iptables -L RH-Firewall-1-INPUT -n --line-numbers Chain RH-Firewall-1-INPUT (2 references) num target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 2 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 3 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0 icmp type 255 4 ACCEPT esp -- 0.0.0.0/0 0.0.0.0/0 5 ACCEPT ah -- 0.0.0.0/0 0.0.0.0/0 6 ACCEPT udp -- 0.0.0.0/0 0.0.0.0/0 udp dpt:631 7 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:631 8 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 9 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 10 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
如果您将iptables配置保存在文件中,请不要忘记更新文件(iptables-save,service iptables save etc.)