Debian 环境下 Cobbler 的网络配置管理
一 核心思路与关键配置
- 在 /etc/cobbler/settings 中设定 Cobbler 对外服务地址与 PXE 引导地址:将 server 与 next_server 都设为 Cobbler 服务器的 IP(同一地址即可)。启用服务托管开关:manage_dhcp=1(由 Cobbler 渲染 DHCP 配置)、manage_tftpd=1(启用 TFTP),如需托管 DNS 可设 manage_dns=1。为降低误装风险,建议将 pxe_just_once=1,使节点装完后下次不再自动从网络引导。修改后执行 cobbler check 与 cobbler sync 使配置生效。DHCP 模板位于 /etc/cobbler/dhcp.template,TFTP 由 xinetd 托管,常用目录为 /var/lib/tftpboot。以上关键点分别见 Debian 安装与网络安装步骤、常用命令与配置文件说明。
二 配置 DHCP 与 TFTP
- DHCP 配置:编辑 /etc/cobbler/dhcp.template,为安装网段添加子网声明,指定地址池、网关、DNS、引导文件与 next-server。示例:
- 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 8.8.8.8, 8.8.4.4;
- filename “pxelinux.0”;
- next-server 192.168.1.2;
- }
将网段、网关、DNS 与 next-server(Cobbler 服务器 IP)替换为你的实际环境。
- TFTP 配置:确保 xinetd 启用 TFTP,常用配置为 server_args = -s /var/lib/tftpboot;重启 xinetd 生效。
- 使配置生效:执行 cobbler sync;如由 Cobbler 托管 DHCP,sync 会自动渲染并重启 DHCP 服务;否则需手动重启 DHCP 服务。上述模板路径、示例与生效方式见相关文档。
三 为客户端分配静态网络参数
- 方式一(推荐,集中管理):使用 cobbler system add 或 cobbler system edit 为指定节点设置网络参数,示例:
- sudo cobbler system add --name web01 --profile debian-12-x86_64 --mac 00:11:22:33:44:55
–ip-address 192.168.1.100 --subnet 255.255.255.0 --gateway 192.168.1.1
–hostname web01.example.com --interface eth0 --netboot-enabled true
说明:为节点指定 IP/掩码/网关/主机名/网卡 后,Cobbler 会在安装阶段注入网络参数;执行 cobbler sync 后生效。
- 方式二(在 Kickstart 中声明):在 Debian 的 preseed/kickstart 中使用 d-i netcfg 段落静态配置网络,例如:
- d-i netcfg/choose_interface select eth0
- d-i netcfg/get_ipaddress string 192.168.1.100
- d-i netcfg/get_netmask string 255.255.255.0
- d-i netcfg/get_gateway string 192.168.1.1
- d-i netcfg/get_nameservers string 8.8.8.8 8.8.4.4
- d-i netcfg/confirm_static boolean true
说明:此方式适合与现有自动化流程兼容,或在需要按系统模板区分网络时使用。上述两种方式可结合使用(例如用 system 定义全局静态地址,用 preseed 覆盖个别参数)。
四 验证与常见问题
- 配置校验与生效:执行 cobbler check 排查问题,执行 cobbler sync 将配置下发到 /var/lib/tftpboot 并(若托管)重启相关服务;必要时重启 xinetd。完成后,客户端从 PXE 引导应能获取 IP、加载 pxelinux.0 并进入安装流程。
- 常见排错要点:
- 客户端拿不到地址或找不到引导文件:核对 next-server 是否为 Cobbler 服务器 IP、DHCP 模板中 filename “pxelinux.0” 是否正确、TFTP 根目录是否为 /var/lib/tftpboot、xinetd 是否启用 TFTP。
- 多次重复 PXE 安装:将 pxe_just_once=1,或在安装完成后将节点 netboot_enabled 设为 false,避免循环引导。
- 路由或 DNS 异常:检查 DHCP 模板中的 option routers 与 option domain-name-servers 是否与现场一致,必要时在 system 或 preseed 中覆盖。上述验证与排错步骤见安装与命令文档。