首页 > 解决方案 > GCE 实例无法访问 - 连接:网络无法访问

问题描述

今天早上我启动了我的 GCE 实例,并且 4/6 完全无法访问。所有这些都在同一个 us-east1-d 区域中。SSH 连接也无法正常工作,因此我使用串行控制台连接到有问题的实例之一。

当我尝试 ping 任何地址时,我得到以下信息:connect: Network is unreachable

当前的 ifconfig

eth0      Link encap:Ethernet  HWaddr 42:01:0A:8E:00:0A  
          inet addr:10.142.0.10  Bcast:10.142.0.10  Mask:255.255.255.255
          inet6 addr: fe80::4001:aff:fe8e:a/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1460  Metric:1
          RX packets:3955 errors:0 dropped:0 overruns:0 frame:0
          TX packets:650 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2231216 (2.1 MiB)  TX bytes:63705 (62.2 KiB)

eth0:cp1  Link encap:Ethernet  HWaddr 42:01:0A:8E:00:0A  
          inet addr:10.240.0.73  Bcast:10.240.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1460  Metric:1

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:253775 errors:0 dropped:0 overruns:0 frame:0
          TX packets:253775 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:40106687 (38.2 MiB)  TX bytes:40106687 (38.2 MiB)

操作系统是Centos 6.10 请指教,真的不知道是什么问题!

更新

我能够使用串行控制台来调查配置的网络路由,但不知何故这条路由丢失了:

GATEWAY0=10.142.0.1
NETMASK0=0.0.0.0
ADDRESS0=0.0.0.0

将其添加到 /etc/sysconfig/network-scripts/route-eth0 并且实例重新获得网络访问权限。仍在试图找到谁/什么/何时/何地/为什么会发生这种情况。

标签: networkingcentosgoogle-cloud-platformgoogle-compute-enginecentos6

解决方案


在从 CentOS 6.9 到 6.10 的每晚 yum 更新后(大约 7 月 4 日),我遇到了同样的问题。听起来好像 dhcp 包中引入了一个错误,更新后默认网关路由丢失。

实际上,我通过创建 route-eth0 文件得出了与您相同的结论,但后来我偶然发现了 Google 的问题跟踪器,他们在其中确定了一个略有不同的解决方案,直到发布了永久错误修复 ( https://issuetracker.google.com/问题/111154121)。他们的解决方法是向您的 VM 添加一个简单的启动脚本(通过控制台),该脚本在实例启动时定义默认网关:

#!/bin/bash
route add default gw [default_gateway_ip] eth0

在您的情况下,默认网关 ip 是 10.142.0.1,因此完整的启动脚本应该是:

#!/bin/bash
route add default gw 10.142.0.1 eth0

这个修复程序已经为我可靠地工作了大约一个星期。我不确定在发布错误修复后如何创建 route-eth0 文件,因此我将更改恢复到此解决方案。听起来 RHEL 已经提出了一个错误修复 ( https://access.redhat.com/errata/RHBA-2018:2163 ),但是我上次检查的 CentOS 存储库还没有更新。


推荐阅读