问题

五一归来,大量服务器被重启了,其中一台服务器失联了。通过远程桌面登录之后发现服务器的 IP 地址是 “正常” 的,可以 Ping 通自己的 IP,但 Ping 不同网关。

解决

仔细一看,原来的 IP 在重启之后被设置到 ens160 Interface 上了,但该 Interface 却被挂载到 OvS Bridge 之上了:

    Bridge br-ex
Controller "tcp:127.0.0.1:6633"
is_connected: true
fail_mode: secure
Port phy-br-ex
Interface phy-br-ex
type: patch
options: {peer=int-br-ex}
Port "ens160"
Interface "ens160"
Port br-ex
Interface br-ex
type: internal

众所周知,挂载到 Bridge 上的物理网络接口的 IP 地址是无效的,只有 type: internal 的 OvS Interface 的 IP 地址是有效的。所以删除了 ens160 上的 IP 地址:

ifconfig ens160 0.0.0.0 up

将 IP 地址设置到 OvS Bridge br-ex 的 br-ex Internal Interface 上:

ifconfig br-ex 182.18.22.200/24 up

此时该阶段就可以 Ping 通同网段的 IP 了,但依旧不能 Ping 通公网。第一个反应当然就是查看路由表项了,果然发现没有了默认路由,添加之:

ip route add default via 172.18.22.1/24 dev br-ex

这样该节点的网络通信就恢复了。

除此之外,该节点曾经还遇见过 ARP 欺诈的问题。表现为无法 Ping 通外网,但是可以 Ping 通网关,外部 SSH 登录该节点时灵时不灵。最后通过 tcpdump 抓包知道,arping 网关 IP 地址返回的是一个 “假” 的 MAC 地址,是因为本节点上莫名的被配置了网关 IP,所以返回的实际上是本机的 MAC 地址。真可谓 “自己骗自己” 了。

总结

小结两点经验,在 OpenStack 环境中:

  1. 无法 Ping 通同网段 IP,则检查自身 IP 地址设置。
  2. 无法 Ping 通公网,则检查自身 Route 表项设置。
  3. 能 Ping 通网关、但无法 Ping 通公网,则检查是否存在 ARP 欺诈。

OpenStack 节点重启后无法联网的问题的更多相关文章

  1. rac 11g_第二个节点重启后无法启动实例:磁盘组dismount问题

    原创作品,出自 "深蓝的blog" 博客,欢迎转载,转载时请务必注明以下出处,否则追究版权法律责任. 深蓝的blog:http://blog.csdn.net/huangyanlo ...

  2. redis集群节点重启后恢复

    服务器重启后,集群报错: [root@SHH-HQ-NHS11S nhsuser]# redis-cli -c -h ip -p 7000ip:7000> set cc dd(error) CL ...

  3. Centos7 Devstack [Rocky] 重启后无法联网

    部署devstack-rocky版本后网络,可以 Ping 通自己的 IP,但 Ping 不同网关,ping不通同网段主机,查看网卡和ovs信息如下 解决 第一步 按造网上教程,修改br-ex,ens ...

  4. sparkStreaming 与fafka直接方式 进行消费者偏移量的保存如redis 里面 避免代码改变与节点重启后的数据丢失与序列化问题

    import java.util import kafka.common.TopicAndPartition import kafka.message.MessageAndMetadata impor ...

  5. Erlang节点重启导致的incarnation问题(转)

    转自霸爷的博客: 转载自系统技术非业余研究 本文链接地址: Erlang节点重启导致的incarnation问题 遇到个问题, =ERROR REPORT==== 10-Mar-2016::09:44 ...

  6. zigbee 路由节点丢失后清除 该节点的残余网络信息

    清除脱离网络的 路由节点(stale device)的 残留在各表中以AssociationDevList为例的残余信息. 如图所示拓扑结构中: 路由器1脱离网络后,通过协调器按键操作来  清除 协调 ...

  7. elasticsearch之节点重启

    Elasticsearch节点重启时背后发生的故事有哪些,应该注意哪些配置内容,本篇文章做一个简单的探讨. 节点离开 在elasticsearch集群中,假设NodeA因为种种原因退出集群,在Node ...

  8. 【Debian】非法关机后无法联网 connect: network is unreachable

    某一天,突然发现无法ssh登录虚拟机内的debian系统,一直认为是ssh的问题,然后无意间ping了ping百度,发现原来是debian系统没有联网....囧 首先,是虚拟机的网络设置检查. 打开V ...

  9. devstack重启后不能运行

    devstack 重启后没有运行服务. 解释: “Note if you reboot your machine running devstack, you need to rerun stack.s ...

随机推荐

  1. 开源Android 恶意软件Radio Balouch

    安全研究机构 ESET 首次发现了开源 Android 间谍软件在 Google Play  上的恶意信息窃取行为,并且在被删除后仍在Google Play 重复出现.据悉,第一个间谍软件是基于开源间 ...

  2. 日常系统维护之修复linux的grub引导

    恩,不知道怎么表达为win10的更新很烦人,其实我感觉windows用的不是那么顺手,但是制作视频的时候还是要用到,图片的话linux也可以胜任,毕竟GUN IMAGE还是挺不错的,但到了视频制作方面 ...

  3. Linux用户组管理及用户权限4

    权限管理:    ls -l        rwxrwxrwx:            左三位:定义user(owner)的权限            中三位:定义group的权限           ...

  4. sql 查询重复记录值取一条

    SELECT * FROM JBL_WebLog WHERE JBL_WebLog_PID IN ( --根据userName分类获取数据最小ID列表 SELECT MIN(JBL_WebLog_PI ...

  5. java 如何实现文件变动的监听

    获取修改时间 long lastTime = file.lastModified(); 原文链接:https://blog.csdn.net/liuyueyi25/article/details/79 ...

  6. 修改Jenkins目录

    注意:在Jenkins运行时是不能更改的. 请先将Jenkins停止运行. 1.windows环境下更改JENKINS的主目录 Windows环境中,Jenkins主目录默认在C:\Documents ...

  7. Struct2的简单的CRUD配置和使用

    1. 首先是Struct2使用的jar包,可以在官网下载https://struts.apache.org/   ,其中包只要下面这些就够用了. 或者点击下面链接下载 链接:https://pan.b ...

  8. MariaDB(MySql)使用储存过程和随机函数插入10万条数据

    ))default charset =utf8; #定义一个随机切割字符串的函数 delimiter // create function randStr() ) begin ) default 'A ...

  9. css3常用动画大全:translate、scale、opacity、rotate (转)

    /* animation */ .a-bounce,.a-flip,.a-flash,.a-shake,.a-swing,.a-wobble,.a-ring{-webkit-animation:1s ...

  10. java+HTML5实现断点续传

    一. 大文件上传基础描述: 各种WEB框架中,对于浏览器上传文件的请求,都有自己的处理对象负责对Http MultiPart协议内容进行解析,并供开发人员调用请求的表单内容. 比如: Spring 框 ...