如何从iptables中删除特定规则?[闭门]

关闭。此问题不符合堆栈溢出准则。它目前不接受答案。

<hr class=“my12大纲无baw0 bb bc-POWER-400”/

想改进此问题吗?更新问题,使其成为堆栈溢出的主题。

上个月已关闭

上个月,社区审查了是否重新打开此问题,并将其关闭:

原始关闭原因未解决

改进这个问题

我分别在端口8006和8007上托管特殊HTTP和HTTPS服务。我使用iptables“激活”服务器;即路由传入的HTTP和HTTPS端口:

iptables-A输入-i eth0-p tcp--dport 80-j接受
iptables-A输入-i eth0-ptcp--dport443-j接受
iptables-A输入-i eth0-p tcp--dport 8006-j接受
iptables-A输入-i eth0-p tcp--dport 8007-j接受
iptables-A预路由-t nat-i eth0-p tcp-dport 80-j重定向-到端口8006
iptables-A预路由-t nat-i eth0-p tcp-dport 443-j重定向-到端口8007
iptables-A输出-t nat-d127.0.0.1-ptcp-dport80-j重定向到端口8006
iptables-A输出-t nat-d127.0.0.1-ptcp-dport443-j重定向到端口8007

这就像一个符咒。但是,我想创建另一个脚本,再次禁用我的服务器;即,将iptables恢复到运行上述行之前的状态。但是,我很难找到删除这些规则的语法。唯一有效的方法是完全刷新:

iptables-F
清除所有自定义规则
iptables-t nat-F
iptables-tnat-X
iptables-t mangle-F
iptables-t mangle-X
iptables-P输入接受
iptables-P向前接受
iptables-P输出接受

但这也将删除其他不需要的iptables规则

执行相同的命令,但将“-A”替换为“-D”。例如:

iptables-A。。。

变成

iptables-D。。。

发表评论