2013-05-12 263 views
12

我有iptables的的2條的規定iptables的列表中的移動規則

iptables -A INPUT -s 5.5.5.5 -j DROP 
iptables -A INPUT -s 6.5.5.5 -j ACCEPT 

是有功能或一個命令,將交換的規則是這樣的:

iptables -A INPUT -s 6.5.5.5 -j ACCEPT 
iptables -A INPUT -s 5.5.5.5 -j DROP 

回答

1

不存在這樣的命令交換兩個iptables規則。

您可以刪除並將其插入適當的位置。

21

首先檢查行號:

iptables -nL --line-numbers 

的基礎上刪除線:

iptables -D INPUT {line} 

插入,你想它是:

iptables -I INPUT {line} -i lo -p tcp --dport {port} -j ACCEPT -m comment --comment "This rule is here for this reason" 

這些源中找到:

Delete Rule

Insert Rule

1

有一個名爲iptables-persistent程序,這使得iptable的的規則,持續爲OS服務。此服務包括一個配置文件,如iptables-save導出。

因此,您可以對配置文件中的行重新排序並重新啓動服務。

sudo service iptables-persistent restart 

太容易了!!!!!

0

相反-A使用-D的刪除,然後重新添加

的iptables -D INPUT -s 5.5.5.5 -j DROP

的iptables -D INPUT -s 6.5.5.5 -j ACCEPT

現在用swaped增值

的iptables -A INPUT -s 5.5.5.5 -j ACCEPT

的iptables -A INPUT -s 6.5.5.5 -j DROP

0

讓我們assuem你的INPUT鏈只有這兩個規則,所以他們的身份證號碼是12分別爲-A INPUT -s 5.5.5.5 -j DROP-A INPUT -s 6.5.5.5 -j ACCEPT

現在,讓我們切換他們: iptables -R INPUT 2 -s 5.5.5.5 -j DROP iptables -R INPUT 1 -s 6.5.5.5 -j ACCEPT

iptables -R是替換命令一個規則已經存在於另一個iptables中。

其用法是:iptables -R [chain name] [line number] [new rule]