neutron dhcp
neutron dhcp 采用dnsmasq服务来实现。和传统的 dhcp 一样, dhcp请求也分为4步
The client sends a discover (“I’m a client at MAC address 08:00:27:b9:88:74, I need an IP address”)
The server sends an offer (“OK 08:00:27:b9:88:74, I’m offering IP address 10.10.0.112”)
The client sends a request (“Server 10.10.0.131, I would like to have IP 10.10.0.112”)
The server sends an acknowledgement (“OK 08:00:27:b9:88:74, IP 10.10.0.112 is yours”)
dnsmasq把log写入系统log,正常的log如下
Aug 24 14:52:37 controller100 dnsmasq[6299]: read /var/lib/neutron/dhcp/b5a8fe96-77c7-443c-8a2b-a862fd016301/addn_hosts - 3 addresses
Aug 24 14:52:37 controller100 dnsmasq-dhcp[6299]: read /var/lib/neutron/dhcp/b5a8fe96-77c7-443c-8a2b-a862fd016301/host
Aug 24 14:52:37 controller100 dnsmasq-dhcp[6299]: read /var/lib/neutron/dhcp/b5a8fe96-77c7-443c-8a2b-a862fd016301/opts
Aug 24 14:52:48 controller100 dnsmasq-dhcp[6299]: DHCPDISCOVER(ns-b8d4df6d-14) fa:16:3e:11:85:5d
Aug 24 14:52:48 controller100 dnsmasq-dhcp[6299]: DHCPOFFER(ns-b8d4df6d-14) 192.168.1.4 fa:16:3e:11:85:5d
Aug 24 14:52:48 controller100 dnsmasq-dhcp[6299]: DHCPREQUEST(ns-b8d4df6d-14) 192.168.1.4 fa:16:3e:11:85:5d
Aug 24 14:52:48 controller100 dnsmasq-dhcp[6299]: DHCPACK(ns-b8d4df6d-14) 192.168.1.4 fa:16:3e:11:85:5d host-192-168-1-4
后面的4步是DHCP请的过程。 第一步
read /var/lib/neutron/dhcp/b5a8fe96-77c7-443c-8a2b-a862fd016301/addn_hosts - 3 addresses
是查看已经分配的ip(包括这次即将分配的ip)
/var/lib/neutron/dhcp/b5a8fe96-77c7-443c-8a2b-a862fd016301/host
该文件记录了ip 和 mac的映射
/var/lib/neutron/dhcp/b5a8fe96-77c7-443c-8a2b-a862fd016301/opts
该文件记录了dhcp服务器的地址等
我们做一个实验,禁用compute的网卡的混杂模式。这样vm发出的package,在回复的时候就无法到达vm,因为host机器的网卡会扔掉该package。 这时的dhcp log如下:
Aug 24 14:56:34 controller100 dnsmasq[6299]: read /var/lib/neutron/dhcp/b5a8fe96-77c7-443c-8a2b-a862fd016301/addn_hosts - 4 addresses
Aug 24 14:56:34 controller100 dnsmasq-dhcp[6299]: read /var/lib/neutron/dhcp/b5a8fe96-77c7-443c-8a2b-a862fd016301/host
Aug 24 14:56:34 controller100 dnsmasq-dhcp[6299]: read /var/lib/neutron/dhcp/b5a8fe96-77c7-443c-8a2b-a862fd016301/opts
Aug 24 14:56:46 controller100 dnsmasq-dhcp[6299]: DHCPDISCOVER(ns-b8d4df6d-14) fa:16:3e:d9:b7:42
Aug 24 14:56:46 controller100 dnsmasq-dhcp[6299]: DHCPOFFER(ns-b8d4df6d-14) 192.168.1.5 fa:16:3e:d9:b7:42
Aug 24 14:57:46 controller100 dnsmasq-dhcp[6299]: DHCPDISCOVER(ns-b8d4df6d-14) fa:16:3e:d9:b7:42
Aug 24 14:57:46 controller100 dnsmasq-dhcp[6299]: DHCPOFFER(ns-b8d4df6d-14) 192.168.1.5 fa:16:3e:d9:b7:42
Aug 24 14:58:46 controller100 dnsmasq-dhcp[6299]: DHCPDISCOVER(ns-b8d4df6d-14) fa:16:3e:d9:b7:42
Aug 24 14:58:46 controller100 dnsmasq-dhcp[6299]: DHCPOFFER(ns-b8d4df6d-14) 192.168.1.5 fa:16:3e:d9:b7:42
可以看到只有dhcp discover和dhcp offer。但是offer无法继续到达vm,所以request 就发不出来,自然就没有ack
neutron dhcp的更多相关文章
- neutron dhcp ha 实验
4个节点(controller, network,2 compute nodes) 1.0 on the network node 1.1 set –I ‘s/start] on/#start\ ...
- Neutron :默认通过 dnsmasq 实现 DHCP 功能----Namespace
Neutron 提供 DHCP 服务的组件是 DHCP agent. DHCP agent 在网络节点运行上,默认通过 dnsmasq 实现 DHCP 功能. 配置 DHCP agent DHCP ...
- 理解 neutron(15):Neutron linux-bridge-agent 创建 linux bridge 的简要过程
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- 配置 DHCP 服务 - 每天5分钟玩转 OpenStack(89)
前面章节我们看到 instance 在启动过程中能够从 Neutron 的 DHCP 服务获得 IP,本节将详细讨论其内部实现机制. Neutron 提供 DHCP 服务的组件是 DHCP agent ...
- Neutron 理解 (1): Neutron 所实现的虚拟化网络 [How Netruon Virtualizes Network]
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- Neutron 理解 (2): 使用 Open vSwitch + VLAN 组网 [Netruon Open vSwitch + VLAN Virutal Network]
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- Neutron 理解 (3): Open vSwitch + GRE/VxLAN 组网 [Netruon Open vSwitch + GRE/VxLAN Virutal Network]
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- Neutron 理解 (4): Neutron OVS OpenFlow 流表 和 L2 Population [Netruon OVS OpenFlow tables + L2 Population]
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
- Neutron 理解(5):Neutron 是如何向 Nova 虚机分配固定IP地址的 (How Neutron Allocates Fixed IPs to Nova Instance)
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...
随机推荐
- 最实用解决tomcat startup.bat 一闪而过
1.直接到tomcat 的解压路径中找到log日志,eg:D:\tomcat\apache-tomcat-7.0.73\logs 查看 catalina 这个日志文件,可以清除的定位错误原因:一般可能 ...
- iOS programming Delegation and Text Input
iOS programming Delegation and Text Input 1.1 Text Fields CGRect textFieldRect = CGRectMake(40, ...
- 仿陌陌的ios客户端+服务端源码
软件功能:模仿陌陌客户端,功能很相似,注册.登陆.上传照片.浏览照片.浏览查找附近会员.关注.取消关注.聊天.语音和文字聊天,还有拼车和搭车的功能,支持微博分享和查找好友. 后台是php+mysql, ...
- codevs 1082 线段树练习 3 --分块练习
时间限制: 3 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 给你N个数,有两种操作: 1:给区间[a,b]的所有数增加X 2:询问区间[ ...
- Android(java)学习笔记203:JNI之NDK开发步骤
1. NDK开发步骤(回忆一下HelloWorld案例): (1)创建工程 (2)定义native方法 (3)创建jni文件夹 (4)创建c源文件放到jni文件夹 (5)拷贝jni.h头文件到jni目 ...
- 使用GetLogicalDriveStrings获取卷标
#include <windows.h> #include <stdio.h> #define BUFSIZE 512 int main() { TCHAR szTemp[BU ...
- 小写bool和大写BOOL的区别
转:https://blog.csdn.net/ji0525084/article/details/8594469 bool是标准C++中的布尔量,占一个字节大小内存,只有false或者true.具有 ...
- 关于idea的目录结构如何变成树状,也就是横向变纵向
横向 竖向 方法:
- 杀了个回马枪,还是说说position:sticky吧
<style> article { max-width: 600px; margin: 1em auto; } article h4, article footer { position: ...
- React入门介绍(1)-ReactDOM.render()等基础
React入门介绍-ReactDOM.render()等基础 首先,React是一个用于构建用户界面的Javascript库,但Peact并不是一套完整的MVC或MVVM的框架,它仅涵盖V-view视 ...