RedHat下防火墙配置
一般情况下iptables已经包含在Linux发行版中.
运行
iptables --version
来查看系统是否安装iptables
启动iptables:
service iptables start
查看iptables规则集
iptables --list
下面是没有定义规划时iptables的样子:
Chain INPUT (policy ACCEPT)
target prot opt source destination
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
查看防火墙状态:
/etc/init.d/iptables status
如果得到一系列的信息,说明防火墙处于开启状态。
以MySql为例,MySQL默认端口3306,Linux防火墙默认是阻止的。
查看3306端口是否开放:
lsof -i:3306
如果有显示说明已经开放了.如果没有显示说明没有开放
要访问3306可以用两种方式,一个是关闭防火墙,另一个就是让防火墙开放3306端口。
一、开放3306端口:
iptables -I INPUT -i eth0 -p tcp --dport 3306 -j ACCEPT
iptables -I OUTPUT -o eth0 -p tcp --sport 3306 -j ACCEPT
对应阻止3306端口的命令为:
iptables -I INPUT -i eth0 -p tcp --dport 3306 -j DROP
iptables -I OUTPUT -o eth0 -p tcp --sport 3306 -j DROP
然后保存
/etc/rc.d/init.d/iptables save
service iptables restart
二、关闭防火墙:
两种方式:
1)重启后生效:
chkconfig iptables off ( 对应的开启防火墙命令为: # chkconfig iptables on )
2)即时生效,但重启后防火墙会再次启动:
service iptables stop ( 对应的开启防火墙命令为: # service iptables start )