Ubuntu Cobbler与DHCP服务器的集成
导读:Ubuntu 环境下 Cobbler 与 DHCP 的集成实践 一、集成方式概览 方式一:由 Cobbler 托管 DHCP。将 manage_dhcp: 1,在 /etc/cobbler/dhcp.template 中定义子网、网关、D...
Ubuntu 环境下 Cobbler 与 DHCP 的集成实践
一、集成方式概览
- 方式一:由 Cobbler 托管 DHCP。将 manage_dhcp: 1,在 /etc/cobbler/dhcp.template 中定义子网、网关、DNS、地址池,执行 cobbler sync 自动渲染 /etc/dhcp/dhcpd.conf 并生效。适合全新环境或实验环境。
- 方式二:由外部 ISC DHCP 服务器提供服务。保持 manage_dhcp: 0,在现有 DHCP 配置中为 PXE 客户端添加关键选项 next-server(指向 Cobbler 服务器 IP)与 filename “pxelinux.0”,并确保允许 BOOTP/PXE 请求。此方式适合已有生产 DHCP 的场景。
二、方式一 Cobbler 托管 DHCP 的步骤
- 安装组件
- 执行:
sudo apt-get update & & sudo apt-get install cobbler cobbler-web tftp-server isc-dhcp-server xinetd
- 执行:
- 配置核心参数
- 编辑 /etc/cobbler/settings:设置 server 与 next_server 为 Cobbler 服务器地址(如 192.168.1.2),开启 manage_dhcp: 1、manage_tftpd: 1。
- 配置 DHCP 模板
- 编辑 /etc/cobbler/dhcp.template,示例如下(按实际网络修改):
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 domain-name-servers 223.5.5.5, 8.8.8.8; option subnet-mask 255.255.255.0; filename "pxelinux.0"; next-server $next_server; default-lease-time 21600; max-lease-time 43200; }
- 编辑 /etc/cobbler/dhcp.template,示例如下(按实际网络修改):
- 使配置生效
- 执行:
sudo cobbler sync(渲染 DHCP 配置并重启服务),随后sudo systemctl restart isc-dhcp-server
- 执行:
- 验证
sudo cobbler check(无报错为宜),sudo systemctl status isc-dhcp-server(确保 DHCP 运行)。
三、方式二 外部 ISC DHCP 与 Cobbler 协同
- 保持 Cobbler 不托管 DHCP
- 编辑 /etc/cobbler/settings:设置 manage_dhcp: 0,server 与 next_server 仍指向 Cobbler 服务器地址。
- 在外部 DHCP 配置中添加 PXE 关键选项
- 在 /etc/dhcp/dhcpd.conf 的相应 subnet 中加入:
allow booting; allow bootp; filename "pxelinux.0"; next-server 192.168.1.2; # Cobbler 服务器 IP - 如采用按客户端分类或地址池策略,可参考常见做法(例如为未知客户端划分可启动地址池,为已登记主机使用固定地址等)。
- 在 /etc/dhcp/dhcpd.conf 的相应 subnet 中加入:
- 使配置生效
- 重启外部 DHCP:
sudo systemctl restart isc-dhcp-server - 在 Cobbler 侧执行:
sudo cobbler sync(刷新 PXE 相关文件与配置)。
- 重启外部 DHCP:
四、TFTP 与防火墙要点
- TFTP 就绪
- 确保 TFTP 已启用并运行(如使用 xinetd 管理,将 /etc/xinet.d/tftp 中
disable = no),Cobbler 侧已开启 manage_tftpd: 1;执行sudo cobbler sync后 PXE 文件会被放置到 TFTP 根目录。
- 确保 TFTP 已启用并运行(如使用 xinetd 管理,将 /etc/xinet.d/tftp 中
- 防火墙放行
- 放行必要服务与端口(示例为 firewalld):
sudo firewall-cmd --zone=public --add-service=tftp --permanent sudo firewall-cmd --zone=public --add-service=httpd --permanent sudo firewall-cmd --zone=public --add-port=25150:25151/tcp --permanent sudo firewall-cmd --reload - 如使用 UFW,请放行 tftp(69/udp)、http(80/tcp) 及 25150–25151/tcp。
- 放行必要服务与端口(示例为 firewalld):
五、验证与常见问题
- 配置自检与同步
- 执行
sudo cobbler check(逐项修复告警),每次修改后执行sudo cobbler sync使配置生效。
- 执行
- 客户端 PXE 启动验证
- 目标主机 BIOS 设置 Network/PXE 优先启动,应能获取 IP、下载 PXE 启动文件并进入 Cobbler 引导菜单;若失败,检查 DHCP 日志(如 /var/log/syslog 或 /var/log/dhcpd.log)与 next-server/filename 是否正确。
- 常见错误与修复
- 客户端未从网络启动:确认交换机/VLAN 允许 PXE(DHCP/BOOTP),客户端启动顺序正确。
- 获取 IP 但未加载引导文件:核对 filename “pxelinux.0” 与 next-server 是否指向正确;外部 DHCP 未加
allow booting; allow bootp;也会导致失败。 - 导入镜像或签名异常:执行
sudo cobbler signature update后重试导入;必要时检查镜像挂载点与网络仓库可达性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu Cobbler与DHCP服务器的集成
本文地址: https://pptw.com/jishu/773656.html
