连接RDS实例失败,且ping RDS内网地址时提示Destination Host Unreachable
。
问题现象
从ECS实例无法ping通RDS内网地址,返回Destination Host Unreachable
。
PING rm-bpxxxx.mysql.rds.aliyuncs.com (172.17.0.31) 56(84) bytes of data.
From xxxx (172.17.0.1) icmp_seq=1 Destination Host Unreachable
From xxxx (172.17.0.1) icmp_seq=2 Destination Host Unreachable
From xxxx (172.17.0.1) icmp_seq=3 Destination Host Unreachable
问题原因
原因通常是RDS实例的内网网段与其他服务的网段冲突。
分析过程
使用PING命令ping RDS内网地址,可以看到RDS内网IP。从上述例子中,可以看到RDS实例内网IP为
172.17.0.31
。以Linux系统为例,执行
route-n
命令查看路由,返回信息类似如下。Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 172.17.2.253 0.0.0.0 UG 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 172.17.0.0 0.0.0.0 255.255.255.0 U 0 0 0 br-350b446c181a
返回信息显示网卡
br-350b446c181a
的网段为172.17.0.0/24
,与RDS内网IP地址冲突,导致ECS实例无法路由到RDS实例。这种情况通常是容器服务的网段与RDS网段冲突。下面以容器服务为例,介绍如何解决路由冲突问题。
解决方案
切换RDS实例的交换机
您可以切换RDS实例的交换机,使实例的交换机网段不与容器服务的网段冲突。具体操作,请参见切换RDS SQL Server实例的交换机。
重要
默认情况下,不同VPC之间无法内网互通。建议仅切换交换机,不切换VPC,这样不会影响其他阿里云服务与RDS实例的内网连接。
其他引擎交换机的切换方法,请参见:
相关文档
文档内容是否对您有帮助?