我正在尝试删除这样添加的规则;
iptables -t nat -A PREROUTING -p tcp -m tcp --dport [port] -j DNAT --to-destination [ip]:[port]
iptables -A FORWARD -s [ip] -p tcp --dport [port] -j ACCEPT
这是工作,我可以使用的端口,但当谈到删除规则,我有问题。它只是重新添加规则,而不是删除它。我已经尝试使用-D,但仍然没有运气。这是命令,我尝试删除规则;
iptables -D INPUT -s -p tcp -m tcp --dport [port] -j DNAT --to-destination [ip]:[port]
iptables -D INPUT -s [ip] -p tcp --dport [port] -j ACCEPT
2条答案
按热度按时间zujrkrfu1#
我想你还需要“-t nat”条目来删除。你也创建了一个FORWARD规则,然后试图删除一个INPUT规则。
iptables需要知道您要在哪个表上删除规则(INPUT、FORWARD、nat?)
问候
迪尔克
8ehkhllq2#
这种方式不是最好的,但它与我一起工作,没有知识如何与iptables一起工作。我将给予一个例子,我尝试了什么,我有这个规则想要删除
首先,使用
$ iptables-save
转储iptables。找到不需要的规则在
*nat
*filter
下的位置...对我来说是在*nat
下,我复制了从*nat
到规则的所有内容,但不要复制它。然后运行命令$ iptables-restore
并粘贴您复制的规则。然后键入COMMIT
并退出如果你再试图抛弃这些规则,你会发现它不见了。