在 Linux 中修改 DHCP 行为通常分为服务端修改与客户端修改两类场景:服务端负责分配地址与选项,客户端负责获取与续约。修改前应先确认系统使用的网络管理组件,常见包括 systemd-networkd、NetworkManager 以及传统 isc-dhcp-server 等,不同组件配置路径与语法差异显著。

若目标是修改 DHCP 服务端,典型做法是编辑 isc-dhcp-server 的主配置文件 /etc/dhcp/dhcpd.conf。在该文件中可定义 subnet 声明、地址池 pool、默认网关、DNS 与租约时间等关键参数。修改完成后需通过 systemctl restart isc-dhcp-server 重启服务使配置生效,并可通过 dhcpd.leases 文件查看当前地址分配状态。
若目标是修改 DHCP 客户端 行为,使用 systemd-networkd 时应在 /etc/systemd/network/ 中编辑对应的 .network 文件,设置 DHCP=yes 并可通过 [DHCPv4] 与 [DHCPv6] 段落精细化控制请求选项、客户端标识与路由优先级。修改后执行 systemctl restart systemd-networkd 即可应用。
当系统使用 NetworkManager 管理网络时,可通过 nmcli 修改 DHCP 行为。例如使用 nmcli connection modify <连接名> ipv4.method auto 启用 IPv4 DHCP,或通过 ipv4.dhcp-send-hostname、ipv4.dhcp-hostname 等属性控制客户端请求字段。对已启用的连接执行 nmcli connection up <连接名> 使配置生效。
在需要固定租约或绑定特定地址时,可在服务端配置中使用 host 声明与 hardware ethernet 匹配客户端 MAC 地址,从而分配静态 IP 而非动态分配。客户端侧若需固定标识,可通过 DHCP 客户端配置发送自定义 hostname 或 client identifier,提高地址绑定的稳定性与可管理性。
无论修改服务端还是客户端,都应在调整前后使用 ip addr、ip route、resolvectl status 或 nmcli device show 等工具验证地址、路由与 DNS 是否按预期更新。生产环境中建议在修改前备份原有配置,并在测试环境中验证 DHCP 交互流程,避免因租约冲突或选项错误导致网络中断。

查看详情

查看详情