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 地址:

[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
Copy to Clipboard Toggle word wrap
警告

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  |
+-------+--------+
Copy to Clipboard Toggle word wrap

dhcrelay 配置示例

在以下示例中,dhcp 软件包中的 dhcrelay 命令使用以下配置:

  • 用于转发传入 DHCP 请求的接口: eth1eth2eth3
  • 将网络段上的 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
    Copy to Clipboard Toggle word wrap
  • 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
    Copy to Clipboard Toggle word wrap

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
!
Copy to Clipboard Toggle word wrap

现在,您已经配置了 provisioning 网络,您可以配置剩余的 overcloud 叶网络。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat