一般情况下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默认端口3306,Linux防火墙默认是阻止的。
查看3306端口是否开放:
# lsof -i:3306
如果有显示说明已经开放了.如果没有显示说明没有开放 【Linux公社 】
要访问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
方法二:
1、修改/etc/sysconfig/iptables文件,增加如下一行:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
然后重启防火墙:
# service iptables restart
二、关闭防火墙:
两种方式:
1)重启后生效:
# chkconfig iptables off ( 对应的开启防火墙命令为: # chkconfig iptables on )
2)即时生效,但重启后防火墙会再次启动:
# service iptables stop ( 对应的开启防火墙命令为: # service iptables start )