3.2. 配置 DHCP 转发
您可以在连接到您要转发请求的远程网络段的交换机、路由器或服务器上运行 DHCP 转发服务。
不要在 undercloud 上运行 DHCP 转发服务。
undercloud 在 provisioning 网络中使用两个 DHCP 服务器:
- 内省 DHCP 服务器。
- 置备 DHCP 服务器。
您必须配置 DHCP 转发,将 DHCP 请求转发到 undercloud 上的两个 DHCP 服务器。
您可以将 UDP 广播与支持它的设备一起使用,将 DHCP 请求中继到 undercloud 置备网络的 L2 网络段中。或者,您可以使用 UDP 单播,将 DHCP 请求转发到特定的 IP 地址。
在特定设备类型上配置 DHCP 转发已超出本文档的范围。作为参考,本文档提供了一个使用 ISC DHCP 软件中的实现的 DHCP 转发配置示例。如需更多信息,请参阅 man page dhcrelay (8)。
某些转发需要 DHCP 选项 79,特别是为 DHCPv6 地址提供 DHCPv6 地址的转发,以及未在原始 MAC 地址上传递的中继。如需更多信息,请参阅 RFC6939。
广播 DHCP 转发
此方法将使用 UDP 广播流量的 DHCP 请求转发到 DHCP 服务器或服务器所在的 L2 网络段。网络段中的所有设备都接收广播流量。使用 UDP 广播时,undercloud 上的两个 DHCP 服务器都会接收转发的 DHCP 请求。根据实现,您可以通过指定接口或 IP 网络地址来配置它:
- Interface
- 指定连接到 DHCP 请求转发的 L2 网络段的接口。
- IP 网络地址
- 指定 DHCP 请求转发的 IP 网络的网络地址。
单播 DHCP 转发
此方法使用 UDP 单播流量将 DHCP 请求转发到特定的 DHCP 服务器。当使用 UDP 单播时,您需要配置一个设备,这个设备为转发 DHCP 请求进行转发到在 undercloud 中进行内省的接口所分配的 IP地址,以及 OpenStack Networking (neutron) 服务创建用于为 ctlplane 网络托管 DHCP 服务的网络命名空间的 IP 地址。
用于内省的接口是定义为 undercloud.conf 文件中的 inspection_interface 的接口。如果没有设置此参数,undercloud 的默认接口为 br-ctlplane。
通常使用 br-ctlplane 接口进行内省。您在 undercloud.conf 文件中定义为 local_ip 的 IP 地址位于 br-ctlplane 接口上。
分配给 Neutron DHCP 命名空间的 IP 地址是您在 undercloud.conf 文件中为 local_subnet 配置的第一个地址。IP 范围中的第一个地址是您在配置中定义为 dhcp_start 的地址。例如,如果您使用以下配置,则 192.168.10.10 是 IP 地址:
DHCP 命名空间的 IP 地址会自动分配。在大多数情况下,这个地址是 IP 范围中的第一个地址。要验证是否是这种情况,请在 undercloud 上运行以下命令:
dhcrelay 配置示例
在以下示例中,dhcp 软件包中的 dhcrelay 命令使用以下配置:
-
用于转发传入 DHCP 请求的接口:
eth1、eth2和eth3。 -
将网络段上的 undercloud DHCP 服务器连接到:
eth0。 -
用于内省的 DHCP 服务器侦听 IP 地址:
192.168.10.1。 -
用于调配的 DHCP 服务器正在侦听 IP 地址
192.168.10.10。
这会生成以下 dhcrelay 命令:
dhcrelay版本 4.2.x:sudo dhcrelay -d --no-pid 192.168.10.10 192.168.10.1 \ -i eth0 -i eth1 -i eth2 -i eth3
$ sudo dhcrelay -d --no-pid 192.168.10.10 192.168.10.1 \ -i eth0 -i eth1 -i eth2 -i eth3Copy to Clipboard Copied! Toggle word wrap Toggle overflow dhcrelay版本 4.3.x 及更新版本:sudo dhcrelay -d --no-pid 192.168.10.10 192.168.10.1 \ -iu eth0 -id eth1 -id eth2 -id eth3
$ sudo dhcrelay -d --no-pid 192.168.10.10 192.168.10.1 \ -iu eth0 -id eth1 -id eth2 -id eth3Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Cisco IOS 路由交换机配置示例
这个示例使用以下 Cisco IOS 配置来执行以下任务:
- 配置用于 provisioning 网络的 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 !
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 叶网络。