作者
Crystaleone
马哥教育金牌助教,国内一线高级运维工程师,4年运维经验,熟悉linux系统管理和python运维开发等;有独特的自学秘籍,擅长总结知识化为实战。
最近公司又上了一台服务器,以前都是用 CentOS 6 系统,这次选择使用了
CentOS
7 系统的安装镜像,因为现在程序版本在
CentOS
7 上一般 php 默认就是 5.4 以上的,MySQL 也变成了 mariadb ,但使用都一样而已, Apache 安装的 httpd 程序也是 2.4 的版本,所以就算 yum 安装基本服务也是比较新一些的版本吧。
公司拨款后就在阿里云后台买了台主机,直接 yum 装的 LAMP ,添加虚拟主机的配置文件这里就不说了,网上一堆的配置文档,只记录下,在
CentOS
7 上遇到的坑。
LAMP
环境都搭好,配置文件也准备好了,域名指向也都做好了。开始做 iptbales 防火墙设置了,此时遇到坑了。本以为在
CentOS
7 上,只是使用 firewalld 控制 iptables 的启动与停止等相关操作,不成想根本不是那么回事,害的小弟我吭哧吭哧查半天问题。
要想在阿里云主机上使用
CentOS
7 的防火墙,默认的是 firewalld 程序,如果对此程序配置命令不熟悉,还是使用 iptables 的程序来控制防火墙吧。我是先把 firewalld 程序关闭了且禁止开机启动:
# systemctl stop firewalld.service
# systemctl disable firewalld.service
然后就是,安装 iptables 防火墙,开启防火墙,进行配置即可。
否则,我一开始上来在
CentOS
7 上启用:
systemctl start firewalld.service
然后,就用 iptables 添加了放行的各种规则, INPUT 默认设为 DROP , FORWARD 默认设为 DROP , OUTPUT 默认为 ACCEPT 。
当设置
后,网站就挂了,经过多次折腾,判断就是这条红色命令的问题,后来又是在网上一通查,最终问题的 firewalld 的问题,对 firewalld 不熟悉,只好安装
CentOS
6 中通用的 iptables 查询,来设置防火墙。
下面就是网上找的在
CentOS
7上设置防火墙方法,亲测放心使用。
安装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
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state
-A INPUT -m state
-A INPUT -m state
-A INPUT -j REJECT
-A FORWARD -j REJECT
COMMIT
:wq! #保存退出
systemctl restart iptables.service #最后重启防火墙使配置生效
systemctl enable iptables.service #设置防火墙开机启动
因为从网上找的文档,也怕踩坑,所以,刚开始我还是使用 iptables 命令,一条条设置的规则,借此机会,也说明下,阿里云设置防火墙遇到的坑。
为了方便说明,查看序号的规则:
首先说明,默认规则:
INPUT链为DROP
FORWARD链为DROP
OUTPUT链为ACCEPT;