设置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
访问成功
其他端口的设置也同样