【问题标题】:GCE Instances inaccessible - connect: Network is unreachableGCE 实例无法访问 - 连接:网络无法访问
【发布时间】:2018-12-16 06:41:02
【问题描述】:

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

当我尝试 ping 任何地址时,我得到以下信息: 连接:网络不可达

当前的 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 并且实例重新获得网络访问权限。仍在试图找出谁/什么/何时/何地/为什么会发生这种情况。

【问题讨论】:

  • 你好 Lordofdudes,我可以看到你已经在你的问题中发布了这个问题的解决方案。您能否将此解决方案发布为答案,以便查看此帖子的其他社区人员可以从中受益?

标签: networking centos google-cloud-platform google-compute-engine centos6


【解决方案1】:

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

实际上,我通过创建 route-eth0 文件得出了与您相同的结论,但后来我偶然发现了 Google 的问题跟踪器,他们在其中确定了一个略有不同的解决方案,直到发布了永久错误修复 (https://issuetracker.google.com/issues/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 存储库还没有更新。

【讨论】:

  • 很好地寻找错误跟踪器。我还没有实施谷歌推荐的修复,但手动路由解决方案仍然有效,所以在我在我的产品环境中更改它之前,我将做更多的研究。
猜你喜欢
  • 2020-01-24
  • 2014-01-29
  • 1970-01-01
  • 2016-01-31
  • 2020-12-04
  • 2014-09-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多