Ubuntu 环境下使用 Cobbler 管理网络配置
一、核心概念与网络服务关系
- PXE 启动链:客户端通过 DHCP 获取 IP,并从 DHCP 的 next-server 指定的服务器下载引导文件 /pxelinux.0(由 TFTP 提供),随后加载内核与 initrd 进入安装流程。Cobbler 提供 DHCP/TFTP/HTTP 的一体化管理,简化网络安装与批量部署。
- 关键配置项:在 /etc/cobbler/settings 中,server(Cobbler API/Web 地址)与 next_server(TFTP 地址)必须设置为可达的本机 IP;通过 manage_dhcp 与 manage_tftpd 开关决定是否由 Cobbler 托管对应服务。
二、安装与启用基础服务
- 安装组件(Ubuntu 常见组合):
- sudo apt update
- sudo apt install -y cobbler cobbler-web tftp-server xinetd isc-dhcp-server
- 启用并启动服务:
- sudo systemctl enable --now cobblerd xinetd isc-dhcp-server
- 说明:Cobbler 提供 CLI 与 Web 管理;TFTP 由 xinetd 托管,DHCP 可使用 Cobbler 模板自动生成配置(或对接现有 DHCP)。
三、配置 DHCP 与 TFTP
- 配置 /etc/cobbler/settings(示例为本机地址,请按实际修改):
- server: 192.168.1.10
- next_server: 192.168.1.10
- manage_dhcp: 1
- manage_tftpd: 1
- 可选:设置默认 root 密码(生成方式见下节)
- 编辑 /etc/cobbler/dhcp.template(一个典型子网示例):
- subnet 192.168.1.0 netmask 255.255.255.0 {
- option routers 192.168.1.1;
- option domain-name-servers 223.5.5.5, 8.8.8.8;
- range dynamic-bootp 192.168.1.100 192.168.1.200;
- filename “/pxelinux.0”;
- next-server $next_server;
- default-lease-time 21600;
- max-lease-time 43200;
- }
- 启用 TFTP(xinetd 配置片段):
- service tftp { disable = no; … server_args = -s /var/lib/tftpboot; flags = IPv4; }
- 使配置生效:
- sudo cobbler sync
- sudo systemctl restart isc-dhcp-server xinetd
- 要点:DHCP 模板中的 next-server 会被 settings 中的 $next_server 自动替换;修改 DHCP 模板后务必执行 cobbler sync。
四、防火墙与端口放行
- 放行常见服务端口(firewalld 示例):
- sudo firewall-cmd --zone=public --add-service=tftp --permanent
- sudo firewall-cmd --zone=public --add-service=http --permanent
- sudo firewall-cmd --zone=public --add-port=25150-25151/tcp --permanent
- sudo firewall-cmd --reload
- 说明:TFTP 使用 UDP 69;Cobbler 的 XML-RPC/报告等常用 TCP 25150–25151。如使用 UFW,请放行对应端口与服务。
五、验证与常见问题处理
- 自检与网络启动验证:
- 执行 cobbler check,按提示修复(如 server/next_server 非 127.0.0.1、引导加载器等)。
- 获取引导加载器:cobbler get-loaders(需网络访问),或手动将 pxelinux.0、menu.c32 等放入 /var/lib/cobbler/loaders。
- 导入发行版并同步:cobbler import --path=/mnt/iso --name=Ubuntu-22.04 --breed=ubuntu --os-version=jammy,随后 cobbler sync。
- 客户端设置 PXE 首启,观察是否获取到 192.168.1.100–200 的地址、下载 /pxelinux.0 并进入安装菜单。
- 已有 DHCP 的场景(不托管 DHCP):
- 在现有 DHCP 配置中为 PXE 网段增加:
- allow booting; allow bootp;
- filename “/pxelinux.0”;
- next-server 192.168.1.10;
- 注意:若 Cobbler 托管 DHCP,模板变更经 cobbler sync 可能覆盖 /etc/dhcp/dhcpd.conf,操作前请备份。
- 默认 root 密码与安全建议:
- 生成加密密码:openssl passwd -1 -salt ‘phrase’ ‘YourPassword’
- 将结果填入 /etc/cobbler/settings 的 default_password_crypted,再 cobbler sync。
- 常用排错命令:
- 查看服务状态:systemctl status cobblerd xinetd isc-dhcp-server
- 查看日志:tail -f /var/log/cobbler/cobbler.log
- 核对配置:cobbler report;必要时再次 cobbler sync。