CentOS 7.0默认使用的是firewall作为防火墙,默认是没有开启80、3306端口的,这两个端口分别是网页和数据库所需要的端口。以下教程是把firewall改为iptables防火墙,同时开启80端口、3306端口。这是在CentOS 7.0系统中布署LNMP或都LAMP环境必须做的一步设置,否则Web环境无法使用。
当然,如果你不想安装iptables防火墙,那直接做关闭firewall这一步既可。现在一般VPS都应该有硬件防火墙了的。文章后面带有使用firewall作为防火墙开启80、3306端口教程。
1、关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
2、安装iptables防火墙
yum install iptables-services #安装
vi /etc/sysconfig/iptables #编辑防火墙配置文件
# 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
:wq! #保存退出
如上所示,红色部份为开启80端口、3306端口的代码,注意相应的位置。
systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
给firewall添加80和3306端口教程:
在firewall正常运行的情况下输入以下命令。
firewall-cmd --zone=public --add-port=80/tcp --permanent #添加80端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent #添加3306端口
显示success的话就代表已成功加入,重启VPS既可。
如果想检查相应端口是否开启,请输入以下代码:
firewall-cmd --query-port=80/tcp --zone=public #查询80端口是否开启
返回no既未开启,显示Yes为已开启。
systemctl start firewalld # 启动firewall
systemctl enable firewalld # 开机启动firewall
全文完毕。
虽然大家都接受systemctl了,却都不接受firewalld。
其实firewalld挺好的,都是CentOS默认的防火墙了。
还是太折腾了。虚拟主机用着最省心。
现在我也是使用虚机,但对VPS的完全自控权限还是非常向往,特别是一些优化的地方。相信折腾多几次,对VPS了解后就会好了。
VPS适合喜欢折腾的人鼓捣,有人累觉不爱,有人累觉更爱。
我是为了学习而折腾,因为现在好的虚机实在太少了。
我就是用的后面那个方法,直接firewall开启端口。
是的,我也认可后面这个方法,没有必要再安装一个防火墙。