由於作為 web 站群伺服器來使用,所以對外要開放 80 埠,另外肯定要透過 ssh 進行站群伺服器管理,22 埠也要對外開放,當然最好是把 ssh 服務的預設埠改掉,在公網上會有很多人試圖破解密碼的,如果修改埠,記得要把該埠對外開發,否則連不上就悲劇了。下面提供配置規則的詳細說明:
第一步:清空所有規則
當 Chain INPUT (policy DROP) 時執行/sbin/iptables -F 後,你將和站群伺服器斷開連線
所有在清空所有規則前把 policy DROP 該為 INPUT,防止悲劇發生,小心小心再小心
/sbin/iptables -P INPUT ACCEPT
清空所有規則
/sbin/iptables -F
/sbin/iptables -X
計數器置 0
/sbin/iptables -Z
第二步:設定規則
允許來自於 lo 介面的資料包,如果沒有此規則,你將不能透過 127.0.0.1 訪問本地服務,例如 ping 127.0.0.1
/sbin/iptables -A INPUT -i lo -j ACCEPT
開放 TCP 協議 22 埠,以便能 ssh,如果你是在有固定 ip 的場所,可以使用 -s 來限定客戶端的 ip
/sbin/iptables -A INPUT -p tcp –dport 22 -j ACCEPT
開放 TCP 協議 80 埠供 web 服務
/sbin/iptables -A INPUT -p tcp –dport 80 -j ACCEPT
10.241.121.15 是另外一臺站群伺服器的內網 ip,由於之間有通訊,接受所有來自 10.241.121.15 的 TCP 請求
/sbin/iptables -A INPUT -p tcp -s 10.241.121.15 -j ACCEPT
接受 ping
/sbin/iptables -A INPUT -p icmp -m icmp –icmp-type 8 -j ACCEPT
/sbin/iptables -A INPUT -m state –state ESTABLISHED -j ACCEPT
遮蔽上述規則以外的所有請求,不可缺少,否則防火牆沒有任何過濾的功能
/sbin/iptables -P INPUT DROP
可以使用 iptables -L -n 檢視規則是否生效
至此防火牆就算配置好,但是這是臨時的,當重啟 iptables 或重啟機器,上述配置就會被清空,要想永久生效,還需要如下操作:
/etc/init.d/iptables save
或
service iptables save
執行上述命令可以在檔案 /etc/sysconfig/iptables 中看到配置