为什么打开iptables,本机无法telnet 3306端口了?
[root@iZ25y7mub68Z spring]# service iptables status Table: filter Chain INPUT (policy DROP) num target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306 Chain FORWARD (policy DROP) num target prot opt source destination Chain OUTPUT (policy DROP) num target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:22 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:8080 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp spt:3306 Table: nat Chain PREROUTING (policy ACCEPT) num target prot opt source destination Chain POSTROUTING (policy ACCEPT) num target prot opt source destination Chain OUTPUT (policy ACCEPT) num target prot opt source destination我现在是打开iptables,telnet localhost 3306,就无法链接;
关闭iptables就好了。
这是为什么?
3306是MySQL,MySQL确认启动着呢!!!
[root@iZ25y7mub68Z ~]# iptables-save # Generated by iptables-save v1.4.7 on Fri Oct 24 11:06:28 2014 *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT DROP [0:0] -A INPUT -p tcp -m tcp --dport 21107 -j ACCEPT -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT -A OUTPUT -p tcp -m tcp --sport 21107 -j ACCEPT -A OUTPUT -p tcp -m tcp --sport 8080 -j ACCEPT -A OUTPUT -p tcp -m tcp --sport 3306 -j ACCEPT COMMIT # Completed on Fri Oct 24 11:06:28 2014 # Generated by iptables-save v1.4.7 on Fri Oct 24 11:06:28 2014 *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [1:108] :OUTPUT ACCEPT [1:108] COMMIT # Completed on Fri Oct 24 11:06:28 2014
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
已贴出!
localhost 是 lo ,你指定接口 eth0看看,
#
允许本地回环接口(即允许访问本地服务)
sudo iptables -A INPUT -i lo -j ACCEPT
或者
sudo iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
#允许已建立的或相关的通行
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允许所有本机向外的访问
sudo iptables -A OUTPUT -j ACCEPT
#允许访问22端口
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#允许访问80端口
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#允许FTP服务的21和20端口
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#禁止其他未允许的规则访问
sudo iptables -A INPUT -j REJECT
注意
:如果22端口未加入允许规则,SSH连接会直接断开。
sudo iptables -A FORWARD -j REJECT
引用来自“淡定的wo”的评论
看你用的CentOS,执行以下命令:
iptables -F
iptables -A INPUT -i lo -j ACCEPT <-----你缺少这个,导致的。
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 21107 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
iptables -A INPUT -j DROP
如果确认没问题了,执行
mv /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
iptables-save >/etc/sysconfig/iptables
执行iptables-save 然后把结果贴出来。
iptables可以理解成windows防火墙,各个端口都关闭远程访问权限 =、= 除非在iptables上开端口
可以
看你用的CentOS,执行以下命令:
iptables -F
iptables -A INPUT -i lo -j ACCEPT <-----你缺少这个,导致的。
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 21107 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
iptables -A INPUT -j DROP
如果确认没问题了,执行
mv /etc/sysconfig/iptables /etc/sysconfig/iptables.bak
iptables-save >/etc/sysconfig/iptables