CentOS 7.0默认使用的是firewall作为防火墙,为了方便操作,还是使用iptables防火墙。
1、关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
2、安装iptables防火墙
使用yum安装iptables:
yum install iptables-services
修改iptable配
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! #保存退出
其中:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
就是要增加的端口号。
重启防火墙使配置生效
systemctl restart iptables.service
设置防火墙开机启动
systemctl enable iptables.service
3、关闭SELINUX
这里顺带做一件事情,就是关闭SELINUX。SELINUX是linux内核中提供的安全访问控制模块。它会拒绝以下四种情况的访问:
- 一个被错误标签的文件
- 一个进程在错误的 SELINUX 安全性脉络下运行
- 政策出错。某个进程要访问一个在编写政策时意料不到的文件,并产生错误信息
- 一个入侵的企图。
前三种都没问题,第四种很容易会阻止我们正常的访问,在测试环境下,关闭了会比较方便。
编辑SELINUX配置文件
vi /etc/selinux/config
将配置文件中的
SELINUX=enforcing
SELINUXTYPE=targete
注释掉
#SELINUX=enforcing #
#SELINUXTYPE=targeted #
然后增加一句:
SELINUX=disabled
:wq! #保存退出
配置立刻生效:
setenforce 0
完成。现在可以在访问CentOS上的mysql数据库了。