# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
其中
:INPUT ACCEPT [0:0]
# 該規則表示INPUT表默認策略是ACCEPT
:FORWARD ACCEPT [0:0]
# 該規則表示FORWARD表默認策略是ACCEPT
:OUTPUT ACCEPT [0:0]
# 該規則表示OUTPUT表默認策略是ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# 意思是允許進入的數據包只能是剛剛我發出去的數據包的回應,ESTABLISHED:已建立的鏈接狀態。RELATED:該數據包與本機發出的數據包有關。
-A INPUT -i lo -j ACCEPT
# 意思就允許本地環回接口在INPUT表的所有數據通信,-i 參數是指定接口,接口是lo,lo就是Loopback(本地環回接口)
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
# 這兩條的意思是在INPUT表和FORWARD表中拒絕所有其他不符合上述任何一條規則的數據包。並且發送一條host prohibited的消息給被拒絕的主機。
這個是iptables的默認策略,你也可以刪除這些,另外建立符合自己需求的策略。
因此把-A INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT放在首行(INPUT ACCEPT前),因默認策略沒有設置不會生效.
而把-A INPUT -m state --state NEW -m tcp -p tcp --dport 5001:5009 -j ACCEPT放在最后,執行-A INPUT -j REJECT --reject-with icmp-host-prohibited時INPUT表和FORWARD表只有22,后加的端口5001到5009都會被拒絕。
