【问题标题】:How do you edit a rule in iptables? [closed]如何在 iptables 中编辑规则? [关闭]
【发布时间】:2016-02-01 15:31:27
【问题描述】:

我在 iptables 中有一条如下所示的规则:

DROP       all  --  5.158.238.32         anywhere 

但我想把它改成:

DROP       all  --  5.158.0.0/16         anywhere

我该怎么做?

我找到了有关如何添加规则的信息,但这似乎将规则附加到列表的末尾,并且由于某种原因,除非它更高,否则该规则不会生效。

我还找到了有关编辑文件的信息,但我的发行版 (debain) 似乎在文章中提到的任何位置都没有文件 - 有没有我可以在某处编辑的文件?

任何正确方向的指针将不胜感激。

干杯

【问题讨论】:

    标签: debian iptables


    【解决方案1】:

    运行iptables -L --line-numbers,它将为您提供所有当前规则及其规则编号。确定要替换的规则的行号后,运行iptables -R <chain> <rulenum> <new rule def>。在您的情况下,第一个的输出将是这样的(大大截断):

    Chain INPUT (policy ACCEPT)
    num  target     prot opt source       destination
    ....
    12   DROP       all  --  5.158.238.32 anywhere
    ...
    

    要替换它,您可以运行:

    iptables -R INPUT 12 -s 5.158.0.0/16 -j DROP
    

    希望这是有道理的。祝你好运!

    【讨论】:

    • 非常感谢 - 非常有帮助。我想更改的行是在第 4 行,所以我使用了iptables -R INPUT 4 -s 5.158.0.0/16 -j DROP,但奇怪的是,当我后来运行iptables -L --line-numbers 时,它出现了4 DROP all -- 0.0.158.5.rev.vodafone.pt/16 anywhere,看起来很奇怪。
    • 没错。当 iptables 显示规则时,它将对所有 IP 地址进行反向 DNS 查找。在这种情况下,IP 会反转为您看到的域名。如果你想让它不解析 IP 地址,你可以通过-n 开关。
    • 干杯,非常感谢您的帮助。
    猜你喜欢
    • 2012-04-29
    • 2012-01-04
    • 2021-03-15
    • 2014-01-11
    • 2014-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-31
    相关资源
    最近更新 更多