最近自己在学习Linux。搭建一个LNMP环境。在测试时一切都好。然后重启Linux后。再次访问网站无法打开。最终原因是在防火墙中没有加入 80 端口的规则。具体方法如下:
在CentOS下配置iptables防火墙,是非常必要的。来我们学习如何配置!,其它版本一下:
1.打开iptables的配置文件:
代码如下 | 复制代码 |
vi /etc/sysconfig/iptables |
通过/etc/init.d/iptables status
命令查询是否有打开80端口,如果没有可通过两种方式处理:
1.修改vi /etc/sysconfig/iptables命令添加使防火墙开放80端口
代码如下 | 复制代码 |
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT |
2.关闭/开启/重启防火墙
代码如下 | 复制代码 |
/etc/init.d/iptables stop #restart 重启 |
添加好之后防火墙规则如下所示:
代码如下 | 复制代码 |
/etc/init.d/iptables restart |
补充,有些朋友喜欢这样做
代码如下 | 复制代码 |
vi /etc/sysconfig/iptables -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT(允许80端口通过防火墙) |
按照这种方法测试,发现重启防火墙的时候,回报这两行错误。
[root@localhost ~]# /etc/init.d/iptables restart
iptables:清除防火墙规则: [确定]
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:正在卸载模块: [确定]
iptables:应用防火墙规则:Bad argument `–-state'
Error occurred at line: 11
Try `iptables-restore -h' or 'iptables-restore --help' for more information.
[失败]
发现这种方法并不好使,于是尝试另外一种,通过命令去添加端口的方法。
代码如下 | 复制代码 |
[root@centos httpd]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT [root@centos httpd]# /etc/rc.d/init.d/iptables save [root@centos httpd]# /etc/init.d/iptables restart |
这样就搞定了,查看效果
代码如下 | 复制代码 |
[root@centos httpd]# /etc/init.d/iptables status |