AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 774684
Accepted
disconnected
disconnected
Asked: 2016-05-04 17:01:30 +0800 CST2016-05-04 17:01:30 +0800 CST 2016-05-04 17:01:30 +0800 CST

iptables - 访问端口 3306 超时

  • 772

我无法从远程服务器连接到 mysql。我已经bind-address注释掉了,但是当我在 iptables 中添加规则以阻止其他连接时,请求服务器的连接超时。

我试过这个建议:

iptables -I INPUT 1 -p tcp -s 1.2.3.4 --dport 3306 -j ACCEPT
iptables -I INPUT 1 -p tcp --dport 3306 -j DROP

但我的连接仍然超时。我输入这两行的顺序无关紧要。当我尝试连接时,我正在回显远程服务器 IP 地址,它确实是我在 iptables 中使用的 IP 地址。没有这DROP条线,连接可以正常工作,就像我的 iptables 中没有任何内容一样。

打印出来的echo -e "target prot opt source destination\n$(iptables -L INPUT -n | grep 3306)":

target     prot opt source               destination
ACCEPT     tcp  --  1.2.3.4              0.0.0.0/0           tcp dpt:3306 
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3306

(上面我已经用1.2.3.4替换了实际ip)

尝试从另一台服务器 (VPS) 连接成功。这让我相信我尝试请求的共享服务器存在问题。

firewall centos mysql iptables ip-blocking
  • 2 2 个回答
  • 1204 Views

2 个回答

  • Voted
  1. Ashley Primo
    2016-05-04T17:24:44+08:002016-05-04T17:24:44+08:00

    问题是规则顺序。

    按该顺序输入命令最终将如下所示:

    1. 如果端口 3306 DROP
    2. 如果端口 3306 和源 IP 是 1.2.3.4接受

    问题是您在检查源 IP 之前断开连接。这是因为您输入的命令在规则之前而不是在规则之后,因此最后输入的命令成为第一条规则。

    您可以通过以下方式解决此问题:

    • 将 -I 更改为 -A(追加)+ 清除旧链/规则
    • 或颠倒您键入命令的顺序。
    • 3
  2. Best Answer
    disconnected
    2016-05-04T20:20:16+08:002016-05-04T20:20:16+08:00

    刷新后iptables,我曾经iptraf显示连接到端口 3306 的实时列表。

    请求服务器是共享托管服务器,与请求关联的 IP 地址与发起请求的 Web 应用程序的 IP 地址不同。这是不同的和变化的。

    唯一的解决方案是将应用程序移动到不使用转发代理的 VPS 或包含数据库的服务器。

    特别感谢 @Jnrprimo 和我一起看这个。

    • 0

相关问题

  • 用 D-LINK DFL-CPG310 防火墙替换 Cisco Pix 防火墙

  • MSMQ 防火墙端口

  • IP-KVM(在我的例子中是 ADDER Ipeps):轻松防火墙穿越

  • 远程连接 sql server 不工作,但如果防火墙禁用它呢?

  • 服务器 2003 R2 上的 Cisco VPN 客户端

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve