在虛拟機安裝centOs時,防火牆隻有22端口是打開的,在我們在通路mysql的3306,redis的6379,tomcat的8080是不可以的,是以我們要在防洪牆的配置檔案中打開3306,6379,8080等這些端口。
在指令行輸入 :vi /etc/sysconfig/iptables
會看到以下的資訊:
-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
在配置資訊中加入以下
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
務必要将這些新加入的端口資訊放在
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited 的前面來配置。
配置完以後,對防火牆進行重新開機。
/etc/init.d/iptables restart
這樣就可以了。
iptables所有規則翻譯
: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 -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited # 這兩條的意思是在INPUT表和FORWARD表中拒絕所有其他不符合上述任何一條規則的資料包。并且發送一條host prohibited的消息給被拒絕的主機。