版本:OpenStack Liberty Neutron DVR

现象:

1、在虚拟机内部不停地dhclient

2、在虚拟机所属的计算节点的物理网卡上抓包,发现该虚拟机发出的dhcp广播包

3、在虚拟机所属网络所在的NAT节点(qdhcp所在的节点)的物理网卡上抓包,同样发现了该虚拟机发出的dhcp广播包,即在bond1上抓到了包:

    Bridge br-int
fail_mode: secure
Port "sg-297691c4-9f"
tag:
Interface "sg-297691c4-9f"
type: internal
Port "tap8a1db903-07"
tag:
Interface "tap8a1db903-07"
type: internal
Port br-int
Interface br-int
type: internal
Port "qr-8d397111-81"
tag:
Interface "qr-8d397111-81"
type: internal
Port int-br-vlan
Interface int-br-vlan
type: patch
options: {peer=phy-br-vlan}
Port "tap15d024ee-23"
tag:
Interface "tap15d024ee-23"
type: internal
Bridge br-ex
Port br-ex
Interface br-ex
type: internal
Port "qg-ab607114-19"
Interface "qg-ab607114-19"
type: internal
Bridge br-vlan
Port br-vlan
Interface br-vlan
type: internal
Port phy-br-vlan
Interface phy-br-vlan
type: patch
options: {peer=int-br-vlan}
Port "bond1"
Interface "bond1"
ovs_version: "2.4.0"

4、但是在qdhcp的网卡tap15d024ee-23抓不到dhcp广播包,查看各个ovs bridge的流表未发现什么问题,很是奇怪

原因:

后来在同事的帮助下,发现这个bond1还被加到了一个linux bridge上:

brctl show
bridge name bridge id STP enabled interfaces
br0 .1418774dd6a3 no em1
br1 .90e2ba8465f2 no bond1

分析:

原来这个bond1被加入到linux bridge上时,导致虽然看上去也被绑到br-vlan上,但是实际上并没有生效,因此导致上层的br-int无法收到dhcp广播包

解决:

将该bond1从linux bridge上解绑掉,然后重新加入到ovs bridge br-vlan上

OpenStack虚拟机DHCP获取不到IP地址排查的更多相关文章

  1. 2-4-搭建DHCP服务实现动态分配IP地址-NTP网络时间同步

    本节所讲内容: •DHCP服务器工作原理 •使用DHCP为局域网中的机器分配IP地址 •使用DHCP为服务器分配固定IP地址 •ntpdate加计划任务同步服务器时间 ---------------- ...

  2. 搭建DHCP服务实现动态分配IP地址-NTP网络时间同步

    本节所讲内容: DHCP服务器工作原理 使用DHCP为局域网中的机器分配IP地址 使用DHCP为服务器分配固定IP地址 ntpdate加计划任务同步服务器时间   实验环境: 服务端:xuegod63 ...

  3. 【liunx】使用xshell连接虚拟机上的CentOS 7,使用xhell连接本地虚拟机上的Ubuntu, 获取本地虚拟机中CentOS 7的IP地址,获取本地虚拟机中Ubuntu 的IP地址,Ubuntu开启22端口

    注意,如果想用xshell去连接本地虚拟机中的linux系统,需要本地虚拟机中的系统是启动的才能连接!!!!! ============================================ ...

  4. vmware 虚拟机中有时获取不到IP地址

    转载: https://blog.csdn.net/valecalida/article/details/80683518 解决方法:打开vmware,然后找到编辑 然后点击虚拟网络编辑器 此时应该先 ...

  5. 详谈再论JAVA获取本机IP地址

    首先,你如果搜索“JAVA获取本机IP地址”,基本上搜到的资料全是无用的.比如这篇:http://www.cnblogs.com/zrui-xyu/p/5039551.html实际上的代码在复杂环境下 ...

  6. 设置VMWare虚拟机使拷贝虚拟机后固定原有的IP地址

    VMWare中已经安装并设置好的虚拟机在拷贝给别人后,再次打开该虚拟机时原有自动获取的IP地址将会变化,那么原有根据该IP地址进行的设置均将失效,还需要重新设置,比较麻烦,经过百度查询原来可以将虚拟机 ...

  7. 获取本地的IP地址(内网)

    方法一 public static String getLocalIpAddress() { try { for (Enumeration<NetworkInterface> en = N ...

  8. 获取本机IP地址

    这里有两种方法: //获取本机IP - (NSString *)localIPAddress { NSString *localIP = nil; struct ifaddrs *addrs; ) { ...

  9. 关于是用dotnet获取本机IP地址+计算机名的方法

    印象中在maxscript帮助文档里找到过方法,但是当时没记下来.只能通过dotnet实现了. 如果电脑有无线网卡和本地连接,可能会出现乱码,也问了写dotnet的朋友,提供了一些思路,不过最终还是使 ...

随机推荐

  1. W.Richard Stevens sock program

    在<TCP/IP卷一>中有一个程序sock,Stevens的主页上有,但是在LINUX下通常无法工作(那时还没有LINUX),经过百度,发现http://www.icir.org/chri ...

  2. 网站优化之PHPCMS如何开启伪静态

    做为一名网站优化方面的工作,那么选择CMS系统的时候,有良好的网站优化功能就是一个好的CMS的标准之一,而系统是否支持伪静态,则是URL优化的工作之一,而PHPCMS是一款网站优化方面做得比较成功的C ...

  3. 【Python③】python基本数据类型,变量和常量

    基本数据类型 Python中,能直接处理的数据类型有以下几种: 整数 Python可以处理任意大小的整数,包括负整数,程序中的写法和数学上的一样,例如:6,-666,8888…… 计算机使用二进制,所 ...

  4. python类型转换、数值操作

    类型转换 代码  1 函数                      描述  2 int(x [,base ])         将x转换为一个整数  3 long(x [,base ])       ...

  5. Android中的DrawerLayout

    简介 Drawerlayout是google自带的控件,功能类似开源的SlidingMenu,在support-v4包下用来替代SlidingMenu(google好无耻啊). 使用方法 在activ ...

  6. Firebug的下载安装

    网上下载到的Firebug最后得到的都是一个.xpi文件 这个文件直接从文件夹拖入火狐浏览器就可以完成安装了,但浏览器总会告诉你无法通过验证.... 这时候你只需要在火狐浏览器中输入about:con ...

  7. JQuery设置时间段下拉选择 时间下拉选择

    $(document).ready(function() { var arrT = []; var tt = "{0}:{1}"; for (var i = 0; i < 2 ...

  8. mysql使用

    1.以查询结果建表 create table newTableName select column1 [newName1] [, column2 [newName2], .. , columnn [n ...

  9. 在VS2010中建立C#三层结构

    转自:http://www.blueidea.com/microsoft/vs2010/2010_con/2010081301.htm 三层结构,会有多个项目.为了让各项目之间的关系反映在目录结构上所 ...

  10. STL 内存释放

    C++ STL 中的map,vector等内存释放问题是一个很令开发者头痛的问题,关于 stl内部的内存是自己内部实现的allocator,关于其内部的内存管理本文不做介绍,只是 介绍一下STL内存释 ...