#write by loulancn@163.com

最近自己在学习Linux。搭建一个LNMP环境。在测试时一切都好。然后重启Linux后。再次访问网站无法打开。最终原因是在防火墙中没有加入
80 端口的规则。具体方法如下:

Linux配置防火墙,开启80端口、3306端口可能会遇到的小问题



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端口通过防火墙)
特别提示:

很多网友把这两条规则添加到防火墙配置的最后一行,导致防火墙启动失败,正确的应该是添加到默认的22端口这条规则的下面

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

######################################
# 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
-A FORWARD -j REJECT –reject-with icmp-host-prohibited
COMMIT
#####################################

/etc/init.d/iptables restart
#最后重启防火墙使配置生效

本文主要是记录一下可能遇到的问题,由于本人就遇到了该问题,把新添加的规则放到了配置文件的最后一行,
导致mysql无法远程访问,以此笔记。

vi /etc/sysconfig/iptables -A INPUT -m state state NEW -m tcp -p tcp
dport 80 -j ACCEPT(允许80端口…

Ubuntu Server
增加iptables防火墙规则

在CentOS下配置iptables防火墙,是非常必要的。来我们学习如何配置!,其它版本一下:

第一步:建立规则

1.打开iptables的配置文件:

root@loulancn:/etc/apt# vi /etc/iptables

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

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:FW – [0:0]
-A INPUT -j FW
-A FORWARD -j FW
-A FW -i lo -j ACCEPT
-A FW -p icmp –icmp-type any -j ACCEPT
-A FW -m state –state ESTABLISHED,RELATED -j ACCEPT
-A FW -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A FW -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT
-A FW -j REJECT –reject-with icmp-host-prohibited
COMMIT

通过/etc/init.d/iptables status

把相应的iptables规则加进去,(loulancn配置的这些规则只放行基本的
80,22服务,请自行定制)

命令查询是否有打开80端口,如果没有可通过两种方式处理:

第二步:应用规则

1.修改vi /etc/sysconfig/iptables命令添加使防火墙开放80端口

编辑网络配置文件, vi /etc/network/interfaces
在相应网卡的配置文件里增加一句

代码如下 复制代码
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j
ACCEPT

pre-up iptables-restore /etc/iptables

2.关闭/开启/重启防火墙

例如:本机的配置

代码如下 复制代码
/etc/init.d/iptables stop

auto eth0
iface eth0 inet static
address 119.*.*.*
netmask 255.*.*.*
network 119.*.*.0
broadcast 119.*.*.*
gateway 119.*.*.*
pre-up iptables-restore /etc/iptables

#start 开启

ca88会员登录入口 1

#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:正在卸载模块: [确定]
ca88会员登录入口,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:

Author

发表评论

电子邮件地址不会被公开。 必填项已用*标注