在Linux系统中我们一般情况下都会设置防火墙,通过防火墙进行拦截和开放一下端口。基于CentOS进行配置防火墙和一些可能配置出错导致不可以进行访问的问题。
iptables防火墙
iptables防火墙的安装
CentOS 7.0后的版本默认使用的是firewall作为防火墙,因为这里使用的是iptables防火墙,所以我们要关闭firewall防火墙和安装iptables.
1、关闭firewall:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
2、安装iptables
yum install iptables-services #安装```
>###iptables配置
1、进入到/etc/sysconfig目录。
2、使用vi命令对iptables进行编辑."vi iptables"
3、我们这是新增mysql的端口3306
-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 3306 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT```
iptables没有生效的问题
由于配置问题配置REJECT的情况
1、-A INPUT -j REJECT --reject-with icmp-host-prohibited,这行已拒绝其他端口的命令,如果我们将新插入的开放端口在放在这行命令之后的情况下,后面的配置开放的端口是不会被启用的。例如:
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT