2.2. 配置 DHCP 转发
undercloud 使用置备网络上的两个 DHCP 服务器:
- 个用于内省。
- 一个用于调配。
配置 DHCP 转发时,请确保将 DHCP 请求转发到 undercloud 上的两个 DHCP 服务器。
您可以将 UDP 广播用于支持它的设备,将 DHCP 请求中继到连接 undercloud 置备网络的 L2 网络段中。或者,也可以使用 UDP 单播,该单播将 DHCP 请求中继到特定的 IP 地址。
在特定设备类型上配置 DHCP 转发不在本课程的讨论范围之内。作为参考,本文档提供了使用 ISC DHCP 软件中的实现的 DHCP 转发配置示例。有关如何使用此实施的详情,请参考 man page dhcrelay (8)。
广播 DHCP 转发
这个方法使用 UDP 广播流量转发 DHCP 请求到 DHCP 服务器所在的 L2 网络网段。网络片段中的所有设备接收广播流量。在使用 UDP 广播时,undercloud 上的 DHCP 服务器都会接收转发的 DHCP 请求。根据实现,这通常通过指定接口或 IP 网络地址来配置:
- Interface
- 指定连接到 DHCP 请求转发的 L2 网络片段的接口。
- IP 网络地址
- 指定 DHCP 请求转发的 IP 网络的网络地址。
单播 DHCP 转发
此方法利用 UDP 单播流量中继到特定 DHCP 服务器的 DHCP 请求。在使用 UDP 单播时,您必须配置提供 DHCP 转发的设备,以将 DHCP 请求中继到分配给分配给 undercloud 上内省的接口的 IP 地址,以及由 OpenStack Networking (neutron)服务创建的网络命名空间的 IP 地址,以托管 ctlplane
网络的 DHCP 服务。
内省的接口是 undercloud.conf
中的 inspection_interface 定义的接口。
通常使用 br-ctlplane
接口进行内省。undercloud.conf
中定义为 local_ip
的 IP 地址位于 br-ctlplane
接口。
分配给 Neutron DHCP 命名空间的 IP 地址是 undercloud.conf 中为 local_subnet 配置的第一个地址。IP 范围中的第一个地址是配置中 dhcp_start
定义的地址。例如:在使用以下配置时,192.168. 10
将是 IP 地址:
[DEFAULT] local_subnet = leaf0 subnets = leaf0,leaf1,leaf2 [leaf0] cidr = 192.168.10.0/24 dhcp_start = 192.168.10.10 dhcp_end = 192.168.10.90 inspection_iprange = 192.168.10.100,192.168.10.190 gateway = 192.168.10.1 masquerade = False
DHCP 命名空间的 IP 地址会自动分配。在大多数情况下,它是 IP 范围中的第一个地址。在 undercloud 上运行以下命令,确保验证情况是这种情况:
$ openstack port list --device-owner network:dhcp -c "Fixed IP Addresses" +----------------------------------------------------------------------------+ | Fixed IP Addresses | +----------------------------------------------------------------------------+ | ip_address='192.168.10.10', subnet_id='7526fbe3-f52a-4b39-a828-ec59f4ed12b2' | +----------------------------------------------------------------------------+ $ openstack subnet show 7526fbe3-f52a-4b39-a828-ec59f4ed12b2 -c name +-------+--------+ | Field | Value | +-------+--------+ | name | leaf0 | +-------+--------+
dhcrelay 配置示例
在以下示例中,dhcp
软件包中的 dhcrelay
命令使用以下配置:
-
转发传入的 DHCP 请求的接口:
eth1、
eth2
和eth3
。 -
在网络段上接口 undercloud DHCP 服务器连接到:
eth0
。 - 用于内省的 DHCP 服务器正在侦听 IP 地址:"192.168.10.1。
-
用于调配的 DHCP 服务器正在侦听 IP 地址
192.168.10.10
。
这会生成以下 dhcrelay
命令:
$ sudo dhcrelay -d --no-pid 172.20.0.10 172.20.0.1 \ -i eth0 -i eth1 -i eth2 -i eth3
Cisco IOS 路由交换机配置示例
这个示例使用以下 Cisco IOS 配置来执行以下任务:
- 配置 VLAN,以用于我们的调配网络。
- 添加 leaf 的 IP 地址。
-
将 UDP 和 BOOTP 请求转发到侦听 IP 地址的内省 DHCP 服务器:192.
168.10.1
. -
将 UDP 和 BOOTP 请求转发到侦听 IP 地址
192.168.10.10
的调配 DHCP 服务器。
interface vlan 2 ip address 192.168.24.254 255.255.255.0 ip helper-address 192.168.10.1 ip helper-address 192.168.10.10 !
现在您已配置了 provisioning 网络,您可以配置剩余的 overcloud leaf 网络。您可以使用一系列配置文件完成此操作。