排查IP白名单问题

IP白名单配置错误会导致数据库连接不成功,本文介绍如何排查IP白名单的问题。

如何判断IP白名单配置正确

您可以通过Telnet工具检查IP白名单配置是否正确。Telnet信息如下图所示:

图1.png

若客户端收到数据库服务返回的MySQL handshake报文信息,并且报文中显示了MySQL的版本号(如上图中的5.7.32),则IP白名单配置正确。否则,表示IP白名单未配置正确,您可以参考设置白名单中的内容来正确配置白名单。

IP白名单配置错误的排查方法

在连接数据库集群时,您可以首先验证是否能连接主地址。如果主地址无法连接,很可能是IP白名单的问题,您可以通过Telnet、tcpdump工具排查具体原因。

访问企业版集群公网VIP地址的白名单不正确

  • 现象:用户访问企业版集群公网VIP地址,Telnet不通,现象如下图所示:

    图2.png

  • 如果在客户端抓包,会看到TCP三次握手的SYN报文一直在重传。

访问企业版集群的VPC地址或标准版集群的所有地址(公网和VPC)的白名单不正确

  • 现象:用户访问企业版集群的VPC地址或标准版集群的所有地址(公网和VPC),Telnet通,但收不到数据库服务返回的MySQL handshake报文,现象如下图:

    6C37AC08-B74B-475e-83CB-5E99EFD78F0B.png

  • 如果在客户端抓包,会看到TCP三次握手的第二个SYN + ACK报文和最后一个ACK报文一直在重新响应。

如何解决IP白名单问题

您可以先临时添加一个0.0.0.0/0的网段,尝试一下业务是否可以访问,如果可以访问说明是白名单配置问题。

然后,您需要正确地添加白名单,并把临时添加的0.0.0.0/0网段删除掉。设置白名单的方法请参见设置白名单