如何自定义CentOS DHCP选项
导读:在 CentOS 中自定义 DHCP 选项通常分为两类:一类是在客户端自定义从 DHCP 服务器接收或发送的选项(如 DNS、主机名、静态路由、NTP 等),另一类是在服务器端为客户端下发自定义选项(标准或厂商特定选项)。下面分别给出可操作...
在 CentOS 中自定义 DHCP 选项通常分为两类:一类是在客户端自定义从 DHCP 服务器接收或发送的选项(如 DNS、主机名、静态路由、NTP 等),另一类是在服务器端为客户端下发自定义选项(标准或厂商特定选项)。下面分别给出可操作的做法与示例。
客户端侧自定义 DHCP 选项
- 使用 ifcfg 文件设置静态 DNS(传统 network-scripts)
- 编辑接口文件:/etc/sysconfig/network-scripts/ifcfg-
- 示例:
- BOOTPROTO=dhcp
- PEERDNS=yes
- DNS1=8.8.8.8
- DNS2=8.8.4.4
- 使配置生效:systemctl restart network。说明:PEERDNS=yes 表示接受 DHCP 下发的 DNS;显式设置 DNS1/DNS2 时,通常以静态 DNS 为准(具体取决于版本与实现)。
- 使用 NetworkManager 设置 DNS
- 查看连接名:nmcli con show
- 修改连接 DNS:nmcli con mod ipv4.dns “8.8.8.8 8.8.4.4”
- 使配置生效:nmcli con up (或 nmcli con reload)。
- 使用 dhclient 全局配置自定义请求/覆盖选项
- 编辑:/etc/dhcp/dhclient.conf
- 常用指令:
- 请求并覆盖 DNS:supersede domain-name-servers 8.8.8.8, 8.8.4.4;
- 发送主机名:send host-name “my-hostname”;
- 覆盖子网掩码/网关:supersede subnet-mask 255.255.255.0; supersede routers 192.168.1.1;
- 使配置生效:释放并重新获取地址,例如:dhclient -r & & dhclient -v 。
- 使用 nmtui 图形界面
- 启动:sudo nmtui → 选择“Edit a connection” → 在 IPv4 配置中将 Method 设为 Automatic (DHCP),在 DNS servers 中填写 8.8.8.8 8.8.4.4 → 保存并激活连接。
服务器端自定义 DHCP 选项(ISC DHCPd)
- 安装与准备
- 安装软件包:yum install dhcp
- 复制示例配置为起点(路径因版本不同,二选一):
- /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example
- /usr/share/doc/dhcp-server/dhcpd.conf.example
- 复制到:/etc/dhcp/dhcpd.conf
- 下发常用标准选项(示例)
- 编辑:/etc/dhcp/dhcpd.conf
- 示例片段:
- subnet 192.168.1.0 netmask 255.255.255.0 {
- range 192.168.1.100 192.168.1.200;
- option routers 192.168.1.1;
- option subnet-mask 255.255.255.0;
- option domain-name-servers 8.8.8.8, 114.114.114.114;
- option ntp-servers 192.168.1.1;
- default-lease-time 21600;
- max-lease-time 43200;
- authoritative; }
- subnet 192.168.1.0 netmask 255.255.255.0 {
- 为指定主机保留固定 IP(Host 声明)
- 示例:
- host printer01 {
- hardware ethernet 00:16:3e:xx:xx:xx;
- fixed-address 192.168.1.50;
- option host-name “printer01”; }
- host printer01 {
- 示例:
- 语法检查与服务管理
- 语法检查:dhcpd -t
- 启动与开机自启:systemctl start dhcpd & & systemctl enable dhcpd
- 防火墙放行 DHCP(Firewalld):firewall-cmd --add-service=dhcp --permanent & & firewall-cmd --reload
- 查看监听:ss -tulpn | grep dhcpd(应见 UDP 67)
- 租约信息:/var/lib/dhcpd/dhcpd.leases。
验证与排错
- 客户端验证
- 查看地址与路由:ip addr show 、ip route
- 查看 DNS:cat /etc/resolv.conf
- 查看 DHCP 过程日志:journalctl -u NetworkManager -b 或查看系统日志中与 dhclient 相关的输出。
- 服务器验证
- 实时日志:tail -f /var/log/dhcpd.log(常见流程日志:DHCPDISCOVER → DHCPOFFER → DHCPREQUEST → DHCPACK)
- 监听端口:ss -u ln | grep :67
- 租约分配:cat /var/lib/dhcpd/dhcpd.leases
- 常见错误与处理:
- “No subnet declaration for ”:未在 dhcpd.conf 中声明该接口所在子网,需补充 subnet 段。
- “No free leases”:地址池耗尽,扩大 range 或清理过期租约。
- “DHCPNAK …”:IP 冲突或租约异常,排查静态配置冲突与租约数据库。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何自定义CentOS DHCP选项
本文地址: https://pptw.com/jishu/778125.html
