Neutron 提供 DHCP 服务的组件是 DHCP agent。 DHCP agent 在网络节点运行上,默认通过 dnsmasq 实现 DHCP 功能.
流程图
配置
|
|
当创建network并在subnet上 enable DHCP时,网络节点上的DHCP agent会启动一个dnsmasq进程为该network提供dhcp服务。
dnsmasq启动参数
|
|
–dhcp-hostsfile
存放DHCP host信息的文件,这里的 host 在我们这里实际上就是 instance。
dnsmasq 从该文件获取 host 的 IP 与 MAC 的对应关系。
每个 host 对应一个条目,信息来源于 Neutron 数据库。123[root@bj-oam-op-con01 ~(keystone_admin)]# cat /var/lib/neutron/dhcp/9ad1b638-a53e-4ab8-ad91-5a7f5cf90513/host fa:16:3e:60:0c:a5,host-172-28-4-3.tang-lei.com.,172.28.4.3fa:16:3e:b8:a3:6d,host-172-28-5-79.tang-lei.com.,172.28.5.79
–interface
指定提供 DHCP 服务的 interface。
dnsmasq 会在该 interface 上监听 instance 的 DHCP 请求。
这里的interface就是tap3b3a392a-64