Ubuntu Cobbler 设置 DHCP 选项
一 前置准备
- 安装必要组件:cobbler cobbler-web tftp-server isc-dhcp-server xinetd。
- 在 /etc/cobbler/settings 中设置本机地址与启动服务开关:
- server: 本机 IP(如:10.1.1.1)
- next_server: 本机 IP(TFTP 地址)
- manage_dhcp: 1(由 Cobbler 生成并管理 DHCP 配置)
- 可选:default_password_crypted(使用 openssl passwd -1 生成)
- 启动依赖服务并设置开机自启:cobblerd、tftp、isc-dhcp-server。
二 配置 DHCP 选项
- 编辑 DHCP 模板 /etc/cobbler/dhcp.template,在相应的 subnet 段内设置常用选项(示例为 10.1.1.0/24 网段):
- 必选:
- range dynamic-bootp 10.1.1.100 10.1.1.200;(地址池)
- option routers 10.1.1.254;(网关)
- option domain-name-servers 223.5.5.5, 8.8.8.8;(DNS)
- option subnet-mask 255.255.255.0;(掩码)
- filename “/pxelinux.0”;(PXE 启动文件)
- next-server $next_server;(TFTP 地址,Cobbler 变量)
- 可选租约时间:
- default-lease-time 21600;
- max-lease-time 43200;
- 说明:
- 模板中可使用 $next_server 变量,避免硬编码;
- 若已有外部 DHCP,可将 manage_dhcp: 0,并在外部 DHCP 的 subnet 段中手动加入 filename 与 next-server 两项,其余选项按网络环境配置。
三 应用与验证
- 使配置生效:执行 sudo cobbler sync。该命令会根据 dhcp.template 生成 DHCP 配置并写入 /var/lib/cobbler/dhcp.cfg,然后 Cobbler 会尝试重启或重载 isc-dhcp-server。
- 重启服务(若未自动重载):sudo systemctl restart isc-dhcp-server。
- 自检与连通性:
- 运行 sudo cobbler check,修正告警项;
- 在客户端设置 PXE 启动,观察是否获取到 IP、网关、DNS 并成功加载 pxelinux.0。
四 常见选项与排错
- 常用 DHCP 选项对照
- 网关:option routers <网关IP>;
- DNS:option domain-name-servers ,;
- 子网掩码:option subnet-mask <掩码>;
- 启动文件:filename “pxelinux.0”;
- TFTP 地址:next-server <TFTP_IP>;
- 租约时间:default-lease-time <秒>; max-lease-time <秒>;
- 域名:option domain-name “<域名>”;
- 广播地址:option broadcast-address <广播IP>;
- 排错要点
- 查看生成的 DHCP 配置:cat /var/lib/cobbler/dhcp.cfg,确认子网与选项已写入;
- 检查服务状态:systemctl status isc-dhcp-server cobblerd,并查看日志(如 /var/log/syslog)定位启动或下发失败原因;
- 若使用外部 DHCP,务必在外部 DHCP 的 subnet 段添加 filename 与 next-server,否则 PXE 无法链式加载。