iptables 出站端口到远程 mysql

iptables 出站端口到远程 mysql

以下是我的 centos 上的 iptables 文件,我无法打开 3306 端口来连接到远程 mysql 服务器。虽然看起来很简单,但我不知道我做错了什么。

当我停止 iptable 服务时,我可以连接到同一端口上的远程 mysql,但 iptable 一启动它就会再次阻塞。

我已将上次打开端口的时间添加到文件中,但似乎不起作用。

以下是 iptables 文件

# Generated by iptables-save v1.4.7 on Mon Dec 23 15:32:07 2013
*filter
:INPUT ACCEPT [396:30624]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [216:23216]
#COMMIT
# Completed on Mon Dec 23 15:32:07 2013
#-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A OUTPUT -p tcp -m tcp --dport 3306 -j ACCEPT
COMMIT

以下是 iptables.save 文件

# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

iptables restart 的输出

[root@OV ~]# service iptables restart

iptables: Setting chains to policy ACCEPT: mangle nat filte[  OK  ]

iptables: Flushing firewall rules:                         [  OK  ]

iptables: Unloading modules:                               [  OK  ]

iptables: Applying firewall rules:                         [  OK  ]

[root@OV ~]# 

答案1

您已默认接受所有内容,因此不需要规则......

话虽如此,您可能应该有一条新规则(作为最佳实践),允许所有相关/已建立的会话。

我认为该问题与输出规则的 --dport 有关。尝试将其更改为 --sport

这是因为,连接到您的机器将使用随机传出端口(源端口)连接到 Mysql 端口(服务器上的 3306/目标),但是,当该数据包返回时,3306 是源,而随机端口是目标。

如果您对 Mysql 有任何增强日志记录,您可能可以确认这一点,因为它应该接收请求/您的机器应该连接到它,但是,它只是没有得到响应(有点像没有 pong 的 ping!)

相关内容