一次多网卡ECS主机的网络请求失败问题的定位与排查
华为云弹性云服务器的ECS主机有多种flavor可供选择,当用户选择的ECS主机包含两块及以上网卡的时候,如图所示,该机器配有三块网卡,
为了与外网通讯,会给某块网卡配置EIP,一般情况下,当配置完EIP后服务即可进行正常的网络访问请求,但有一种情况需要考虑,当服务所监听的网卡和EIP不在一块网卡上时,会出现服务请求失败的情况,此时需要根据实际情况定位问题。
首先要看服务进程有没有起来,ps -ef | grep ${service name},如果服务进程正常,需要考虑网络是否正常,可以尝试ping一下公网上的某个域名是否ping通,
,对于多网卡的主机,默认情况下ping命令都是和eth0网卡进行通信,如果发现eth0不能ping通,可以使用ping -I命令指定eth1或者eth2进行ping,如果eth1或者eth2能ping通,如图所示,,则考虑需要增加eth0至eth1或者2的路由信息,route -n看一下本机的路由表,如图所示:,发现需要增加一条路由表信息来跳转从eth0到eth1的请求,这样从eth0过来的请求都会从eth1的出口出去,使用命令 route add -net aaa.aaa.aaa.aaa netmask bbb.bbb.bbb.bbb gw xxx.xxx.xxx.xxx eth1增加路由信息,其中,aaa.aaa.aaa.aaa表示需要访问的外网网段,bbb.bbb.bbb.bbb表示外网的子网掩码,xxx.xxx.xxx.xxx表示可以通信的网卡的网关;添加完以后route -n查看一下是否添加成功,如果添加错误使用route delete命令进行删除,添加成功可以在试一下ping命令是否成功,,此时用eth0网卡直接ping外网地址已经可以ping通,大功告成。如果还是出现ping不通的情况,需要检查一下安全组或者iptables的配置,此处不再赘述。
- 点赞
- 收藏
- 关注作者
评论(0)