Linux中在防火墙中开启80端口的例子,linux80


最近自己在学习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

#start 开启

#restart 重启


添加好之后防火墙规则如下所示:

代码如下 复制代码

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-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 -j REJECT –reject-with icmp-host-prohibited(www.111cn.net)
-A FORWARD -j REJECT –reject-with icmp-host-prohibited
COMMIT

/etc/init.d/iptables restart

补充,有些朋友喜欢这样做

代码如下 复制代码
vi /etc/sysconfig/iptables

-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT(允许80端口通过防火墙)
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT(允许3306端口通过防火墙)


按照这种方法测试,发现重启防火墙的时候,回报这两行错误。

[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

from:http://www.111cn.net/sys/linux/58147.htm


怎在linux 打开80端口

很多linux发行版, 默认iptables服务启动的时候都只保留的最基本的端口, 例如22端口, 但是其他的都是禁止状态, 因为当你需要使用某一个软件或者服务的时候会发现它的端口的不通的, 你telnet不上去!

这个时候你可以通过 netstat -an | grep 端口号 来检验下是不是已经打开了某某服务

如果没有就去启动它, RedHat系列的一般是: service xxx start 或者 /etc/init.d/xxx start

如果确定已经打开了, 那很可能就是防火墙阻止了此端口, 这个和windows自带的防火墙感觉差不多

service iptables stop之后看看效果如何, 当然你可以单独解封这一个端口, 例如我们允许58端口

/sbin/iptables -A INPUT -p udp --dport 58 -j ACCEPT

建议去学习iptables的知识, 呵呵
 

linux防火墙禁止80端口入站,但是依然可以访问只是很慢

-A INPUT -p tcp -m tcp --dport 80 -j DROP
 

相关内容