获取 dhcp IP 过程分析 - 每天5分钟玩转 OpenStack(91)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取 dhcp IP 过程分析 - 每天5分钟玩转 OpenStack(91)相关的知识,希望对你有一定的参考价值。

技术分享

前面我们已经讨论了 DHCP agent 的配置以及 namespace 如何隔离 dnsmasq 服务,本节将以 cirros-vm1 为例分析获取 DHCP IP 的详细过程。

在创建 instance 时,Neutron 会为其分配一个 port,里面包含了 MAC 和 IP 地址信息。这些信息会同步更新到 dnsmasq 的 host 文件。如下图所示:

技术分享

同时 nova-compute 会设置 cirros-vm1 VIF 的 MAC 地址。

技术分享

一切准备就绪,instance 获取 IP 的过程如下:

  1. cirros-vm1 开机启动,发出 DHCPDISCOVER 广播,该广播消息在整个 flat_net 中都可以被收到。

  2. 广播到达 veth tap19a0ed3d-fe,然后传送给 veth pair 的另一端 ns-19a0ed3d-fe。dnsmasq 在它上面监听,dnsmasq 检查其 host 文件,发现有对应项,于是dnsmasq 以  DHCPOFFER 消息将 IP(172.16.1.103)、子网掩码(255.255.255.0)、地址租用期限等信息发送给 cirros-vm1。

  3. cirros-vm1 发送 DHCPREQUEST 消息确认接受此 DHCPOFFER。

  4. dnsmasq 发送确认消息 DHCPACK,整个过程结束。        

这个过程我们可以在 dnsmasq 日志中查看。 dnsmasq 默认将日志记录到 /var/log/syslog。

技术分享

至此,我们已经讨论完 DHCP 服务,下节开始讲学习应用最广泛的 vlan network。

 

技术分享

以上是关于获取 dhcp IP 过程分析 - 每天5分钟玩转 OpenStack(91)的主要内容,如果未能解决你的问题,请参考以下文章

配置 DHCP 服务 - 每天5分钟玩转 OpenStack(89)

配置 DHCP 服务 - 每天5分钟玩转 OpenStack(89)

获取 metadata 的完整例子 - 每天5分钟玩转 OpenStack(166)

用 config drive 配置网络 - 每天5分钟玩转 OpenStack(173)

floating IP 原理分析 - 每天5分钟玩转 OpenStack(107)

floating IP 原理分析 - 每天5分钟玩转 OpenStack(107)