使用service iptables status查看防火墙的状态时,无任何反应,且使用service iptables start也不能启动。后来发现在/etc/sysconfig目录下没有iptables文件(防火墙的策略一般都写在此文件中)。
原因:在新安装的Linux系统中,防火墙默认是被禁掉的,一般也没有配置过任何防火墙的策略,所有不存在/etc/sysconfig/iptables文件。
解决办法1:
- 在控制台使用iptables命令随便写一条防火墙规则,如:iptables -P OUTPUT ACCEPT
- 使用service iptables save进行保存,默认就保存到了/etc/sysconfig目录下的iptables文件中
这时 cd /etc/sysconfig,则有iptables文件了。
解决办法2:
在CentOS系统中防火墙默认是阻止3306端口的,我们要是想访问mysql数据库,我们需要这个端口,命令如下:
1 /sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
我们需要保存我们的操作,命令如下:
1 /etc/rc.d/init.d/iptables save
此时我们可以查看端口的状态,命令如下:
1 /etc/init.d/iptables status
当然如果你打开其他端口也一样,只需要把这个端口号换乘你需要的端口号即可。
这是iptables文件也存在了。打开iptables文件,根据里边的格式对3306那一条内容进行修改,重启防火墙 /etc/rc.d/init.d/iptablesrestart