IP白名单配置错误会导致数据库连接不成功,本文介绍如何排查IP白名单的问题。
如何判断IP白名单配置正确
您可以通过Telnet工具检查IP白名单配置是否正确。Telnet信息如下图所示:
若客户端收到数据库服务返回的MySQL handshake报文信息,并且报文中显示了MySQL的版本号(如上图中的5.7.32),则IP白名单配置正确。否则,表示IP白名单未配置正确,您可以参考设置白名单中的内容来正确配置白名单。
IP白名单配置错误的排查方法
在连接数据库集群时,您可以首先验证是否能连接主地址。如果主地址无法连接,很可能是IP白名单的问题,您可以通过Telnet、tcpdump工具排查具体原因。
访问企业版集群公网VIP地址的白名单不正确
现象:用户访问企业版集群公网VIP地址,Telnet不通,现象如下图所示:
如果在客户端抓包,会看到TCP三次握手的SYN报文一直在重传。
访问企业版集群的VPC地址或标准版集群的所有地址(公网和VPC)的白名单不正确
现象:用户访问企业版集群的VPC地址或标准版集群的所有地址(公网和VPC),Telnet通,但收不到数据库服务返回的MySQL handshake报文,现象如下图:
如果在客户端抓包,会看到TCP三次握手的第二个SYN + ACK报文和最后一个ACK报文一直在重新响应。
如何解决IP白名单问题
您可以先临时添加一个0.0.0.0/0的网段,尝试一下业务是否可以访问,如果可以访问说明是白名单配置问题。
然后,您需要正确地添加白名单,并把临时添加的0.0.0.0/0网段删除掉。设置白名单的方法请参见设置白名单。