3.8. 为直接连接到 DHCP 服务器的子网设置 DHCP 服务
如果 DHCP 服务器直接连接到该服务器应响应 DHCP 请求的子网,请使用以下步骤。如果服务器的网络接口有这个子网的 IP 地址,那么就会出现这种情况。
根据您要为 IPv4、IPv6 或两个协议提供 DHCP 的信息,请查看以下操作过程:
先决条件
-
已以
root
用户身份登录。 -
dhcp-server
软件包已安装。
步骤
对于 IPv4 网络:
编辑
/etc/dhcp/dhcpd.conf
文件:另外,如果没有其他指令包含这些设置,则添加
dhcpd
用作默认值的全局参数:option domain-name "example.com"; default-lease-time 86400;
本例将连接 example.com 的默认域名设为
example.com
,默认的租期时间设为86400
秒(1 天)。在新行中添加
authoritative
语句:authoritative;
重要没有
authoritative
语句,如果客户端询问池外部的地址,则dhcpd
服务不会回答带有DHCPNAK
的DHCPREQUEST
消息。对于每个直接连接到服务器接口的 IPv4 子网,请添加
subnet
声明:subnet 192.0.2.0 netmask 255.255.255.0 { range 192.0.2.20 192.0.2.100; option domain-name-servers 192.0.2.1; option routers 192.0.2.1; option broadcast-address 192.0.2.255; max-lease-time 172800; }
这个示例为 192.0.2.0/24 网络添加了 subnet 声明。使用这个配置,DHCP 服务器会为发送这个子网的 DHCP 请求的客户端分配下列设置:
-
range
参数定义的范围内空闲的 IPv4 地址 -
此子网的 DNS 服务器的 IP 为:
192.0.2.1
-
此子网的默认网关为:
192.0.2.1
-
此子网的广播地址为:
192.0.2.255
-
最长租期时间,之后此子网中的客户端释放 IP ,并向服务器发送新请求:
172800
秒(2 天)
-
另外,配置在系统引导时自动启动
dhcpd
:# systemctl enable dhcpd
启动
dhcpd
服务:# systemctl start dhcpd
对于 IPv6 网络:
编辑
/etc/dhcp/dhcpd6.conf
文件:另外,如果没有其他指令包含这些设置,则添加
dhcpd
用作默认值的全局参数:option dhcp6.domain-search "example.com"; default-lease-time 86400;
本例将连接 example.com 的默认域名设为
example.com
,默认的租期时间设为86400
秒(1 天)。在新行中添加
authoritative
语句:authoritative;
重要没有
authoritative
语句,如果客户端询问池外部的地址,则dhcpd
服务不会回答带有DHCPNAK
的DHCPREQUEST
消息。对于每个直接连接到服务器接口的 IPv6 子网,请添加
subnet
声明:subnet6 2001:db8:0:1::/64 { range6 2001:db8:0:1::20 2001:db8:0:1::100; option dhcp6.name-servers 2001:db8:0:1::1; max-lease-time 172800; }
本例为 2001:db8:0:1::/64 网络添加了一个 subnet 声明。使用这个配置,DHCP 服务器会为发送这个子网的 DHCP 请求的客户端分配下列设置:
-
range6
参数中定义的范围内可用的 IPv6 地址。 -
此子网的 DNS 服务器的 IP 地址为
2001:db8:0:1::1
。 最大租期时间是
172800
秒(2 天),之后此子网中的客户端释放 IP ,并向服务器发送新请求。请注意: IPv6 需要使用路由器广告信息来识别默认网关。
-
另外,配置在系统引导时自动启动
dhcpd6
:# systemctl enable dhcpd6
启动
dhcpd6
服务:# systemctl start dhcpd6
其他资源
-
dhcp-options(5)
手册页 -
dhcpd.conf (5)
手册页 -
/usr/share/doc/dhcp-server/dhcpd.conf.example
file -
/usr/share/doc/dhcp-server/dhcpd6.conf.example
file