2015-11-01 65 views
1

我在iptables的规则,看起来像这样:如何在iptables中编辑规则?

DROP  all -- 5.158.238.32   anywhere 

但我想改变它是:

DROP  all -- 5.158.0.0/16   anywhere 

我该怎么办呢?

我发现你如何添加规则的信息,但这个似乎添加规则到列表的末尾,由于某种原因,除非它是越往上规则不生效。

我还发现在编辑一个文件,但我的发行版(的Debain)似乎并未有任何文件在文章中提到的地点的信息 - 有我的地方编辑文件?

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

干杯

回答

2

运行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 

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

+0

感谢满口 - 非常有帮助。我想换行是第4行,所以我用'''的iptables -R INPUT 4 -s 5.158.0.0/16 -j DROP'''但奇怪的是,当我跑'''的iptables -L --line号码'''之后,它出来的'''4 DROP所有 - 0.0.158.5.rev.vodafone.pt/16 anywhere'''这看起来很奇怪。 – CMSCSS

+0

这是正确的。当iptables显示规则时,它将对所有IP地址执行反向DNS查找。在这种情况下,IP会逆转为您所看到的域名。如果你不想解析IP地址,你可以通过'-n'开关。 –

+0

干杯,谢谢你的帮助。 – CMSCSS

相关问题