一般情況下iptables已經包含在Linux發行版中.
運行
# iptables --version
來查看系統是否安裝iptables
啟動iptables:
# service iptables start
查看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
下面是沒有定義規划時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公社 http://www.linuxidc.com 】
要訪問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
# 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
# iptables -I OUTPUT -o eth0 -p tcp --sport 3306 -j DROP
然后保存
# /etc/rc.d/init.d/iptables save
# /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 )
《完》