2014-01-09 48 views
-1

一個關於iptables的簡單問題。我有一個CentOS的機器在以下內容的/ etc/SYSCONFIG/iptables的:爲什麼iptables不顯示規則?

# Generated by iptables-save v1.4.7 on Tue Dec 17 14:19:35 2013 
*filter 
:INPUT ACCEPT [0:0] 
:FORWARD ACCEPT [0:0] 
:OUTPUT ACCEPT [2774:229756] 
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
-A INPUT -j REJECT --reject-with icmp-host-prohibited 
-A FORWARD -j REJECT --reject-with icmp-host-prohibited 
COMMIT 

,但是當我輸入的iptables -L在shell提示下,我看到:

Chain INPUT (policy ACCEPT) 
target  prot opt source    destination 

Chain FORWARD (policy ACCEPT) 
target  prot opt source    destination 

Chain OUTPUT (policy ACCEPT) 
target  prot opt source    destination 

爲什麼我看到沒有規則的鏈條?在這種情況下,iptables的行爲是什麼? 由於事先

+0

,我不認爲這些規則是由'的iptables-restore'加載。嘗試ping該計算機(它應該工作),將'icmp'更改爲'DROP',重新啓動計算機並嘗試重新ping。你不應該收到任何迴應。 – machineaddict

+0

我已將icmp更改爲DROP,並且計算機也做出響應。也許shell顯示的是什麼規則 – jmann

+0

先嚐試'iptables-restore machineaddict

回答

0

很可能是你的規則已經刷新一拉:

iptables -F 

/通過編輯做出的每個改變等,直到你重新啓動iptables服務/ SYSCONFIG/iptables的將不活動。

service iptables restart 

如果您希望添加規則「on-the-fly」,您將需要使用iptables命令來執行此操作。

iptables -A INPUT -j LOG --log-prefix "Logging" 

現在,當你這樣做:

iptables -L 

,你會看到你的新規則則會立即