首页主机资讯如何自定义CentOS DHCP选项

如何自定义CentOS DHCP选项

时间2025-12-23 08:37:04发布访客分类主机资讯浏览1422
导读:在 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; }
  • 为指定主机保留固定 IP(Host 声明)
    • 示例:
      • host printer01 {
        • hardware ethernet 00:16:3e:xx:xx:xx;
        • fixed-address 192.168.1.50;
        • option host-name “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
CentOS DHCP服务重启后IP冲突怎么办 CentOS DHCP服务器日志分析方法

游客 回复需填写必要信息