2015-11-01 66 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

相關問題