温馨提示×

Debian DHCP自定义选项如何设置

小樊
45
2026-01-03 10:18:53
栏目: 智能运维

Debian DHCP自定义选项设置指南

一 准备与监听接口

  • 安装 ISC DHCP 服务器:sudo apt update && sudo apt install isc-dhcp-server
  • 指定监听接口(Debian 10+/ISC 4+ 推荐):编辑 /etc/default/isc-dhcp-server,设置例如:INTERFACESv4=“eth0”(或 INTERFACES=“eth0” 的旧写法)。
  • 确保服务器网卡已配置静态IP,且该接口与要服务的子网一致。
  • 防火墙放行 DHCP 服务:sudo ufw allow 67/udp(或 sudo ufw allow dhcp)。

二 在服务器定义自定义选项

  • 编辑主配置文件 /etc/dhcp/dhcpd.conf,在全局或子网/主机作用域中使用:
    • 定义选项:option custom-option code 123 = string;(类型可为 string、ip-address、boolean、integer 等)。
    • 赋值:option custom-optionYourValue”;(作用域内有效)。
    • 作用域示例:全局、subnet 或 host 均可设置,host 优先级更高。
  • 示例片段:
    # 全局自定义选项
    option custom-option code 123 = string;
    option custom-option "GlobalValue";
    
    subnet 192.168.1.0 netmask 255.255.255.0 {
        range 192.168.1.10 192.168.1.100;
        option routers 192.168.1.1;
        option domain-name-servers 8.8.8.8, 8.8.4.4;
    
        # 子网级自定义选项
        option custom-option "SubnetValue";
    }
    
    host client1 {
        hardware ethernet 00:11:22:33:44:55;
        fixed-address 192.168.1.101;
        # 主机级自定义选项(优先级最高)
        option custom-option "Client1Value";
    }
    
  • 应用与验证:
    • 重启服务:sudo systemctl restart isc-dhcp-server;检查状态:sudo systemctl status isc-dhcp-server
    • 查看租约与已下发选项:sudo dhcp-lease-list(若未安装可用 apt 安装)。
    • 语法检查与常见错误:配置文件每行需以分号结尾;服务未起或端口冲突可用 journalctl 与 ss/ netstat 排查。

三 在客户端接收或发送自定义选项

  • 请求自定义选项(Debian 客户端常用 isc-dhcp-client):编辑 /etc/dhcp/dhclient.conf,在全局或接口块中使用 request 指令显式请求自定义选项(如 custom-option),或在 interface 块中补充请求列表。示例:
    timeout 60;
    retry 10;
    
    interface "eth0" {
        send host-name "debian-host";
        request subnet-mask, broadcast-address, routers,
                domain-name, domain-name-servers, domain-search, host-name,
                ntp-servers, custom-option;
    }
    
  • 说明:并非所有客户端都会自动请求未知选项,显式 request 可提升获取成功率;获取后值通常写入租约文件(如 /var/lib/dhcp/dhclient.eth0.leases),由相应网络管理脚本应用。
  • 如需发送厂商特定信息,可在 dhclient.conf 中使用 vendor 块进行配置。

四 常见类型与排错要点

  • 常用数据类型与格式:
    • string:“text”;ip-address:1.2.3.4;boolean:true/false;integer:123
    • 数组/列表:option ntp-servers 1.1.1.1, 8.8.8.8;(逗号分隔)。
  • 作用域优先级:host > subnet > 全局;同一作用域内后定义的会覆盖前者。
  • 排错清单:
    • 语法:缺少分号、花括号不匹配;用 systemctl status 与 journalctl 定位行号。
    • 网络:监听接口名是否正确、服务器是否在该子网有静态IP、是否存在DHCP端口 67/UDP 冲突(dnsmasq/其他 DHCP 服务)。
    • 防火墙/VLAN:确认 67/UDP 放行、跨 VLAN 需中继(DHCP Relay)。

0