設置Linux防火牆允許端口通過
問題:
(CentOS Nginx80端口不通,windows瀏覽器無法訪問虛擬機CentOS中的Nginx
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT無效 報錯)
一、對於端口不通,最粗暴的解決辦法就是關掉防火牆,
輸入命令:service iptables stop
但是這種方法有個弊端,就是每次啓動CentOS的時候都得再次關閉,沒有從根本上解決問題。
二、根本的辦法是讓CentOS的防火牆允許80端口通過
般裝好的服務器都是沒有設置防火牆的,現在我們假設就設置了ssh,開放20端口,其它的都沒有設置
1.打開iptables的配置文件:vi /etc/sysconfig/iptables
可以理解爲定義了一個鏈: :RH-Firewall-1-INPUT - [0:0]
這裏是把INPUT和FORWARD的所有包都轉發到RH-Firewall-1-INPUT,這是重點,也就意味着,
只要定義好RH-Firewall-1-INPUT,就定義好了INPUT和FORWARD兩個鏈
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
允許80端口的數據包傳輸:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
按esc 然後 :wq 保存退出
2.然後停止並重新啓動:
service iptables stop
service iptables start
驗證一下是否規則都已經生效:iptables -L
3.訪問服務器,記得寫80端口,如:192.168.1.127:80
訪問成功
其他端口的設置也同樣