Debian 环境下 Cobbler 的网络配置选项
一 核心全局选项 settings.yaml
- 关键项与作用如下(示例值请替换为你的实际网络):
- server:PXE/HTTP 下载源地址,所有被装机节点必须可达,示例:192.168.1.10。
- next_server:TFTP 地址,通常与 server 一致,示例:192.168.1.10。
- manage_dhcp:是否由 Cobbler 生成并管理 DHCP 配置(1=托管,0=手动),示例:1。
- manage_dns:是否由 Cobbler 管理 DNS(1=托管,0=手动),示例:0。
- manage_tftpd:是否由 Cobbler 管理 TFTP(1=托管,0=手动),示例:1。
- restart_dhcp / restart_dns:变更后是否自动重启对应服务,示例:1。
- pxe_just_once:PXE 仅一次装机,防止装机后反复从网络引导,示例:1。
- default_password_crypted:装机后 root 默认密码(建议用 openssl 生成),示例:$1$rLza5zNH$xLKFqWoK32/IA/zslG3Up0。
- 修改方式可用命令行:例如 sudo cobbler setting edit --name=server --value=192.168.1.10;或编辑 /etc/cobbler/settings.yaml 后 cobbler sync 生效。
二 DHCP 配置选项
- 托管模式(manage_dhcp=1):编辑 /etc/cobbler/dhcp.template,为 PXE 网段定义子网、地址池、网关、DNS、引导文件与 next-server;执行 cobbler sync 后自动渲染到 /etc/dhcp/dhcpd.conf 并(按配置)重启 DHCP。
- 非托管模式(manage_dhcp=0):直接在 /etc/dhcp/dhcpd.conf 手工维护子网与 PXE 指令,确保 next-server 与 filename 正确。
- 常用 DHCP 指令与示例:
- subnet 192.168.1.0 netmask 255.255.255.0:PXE 所在网段。
- 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:DNS。
- filename “pxelinux.0”:启动文件(BIOS 环境)。
- next-server $next_server:TFTP 地址(Cobbler 模板变量,渲染为 settings 中的 next_server)。
- 若使用 ISC DHCP 且多网口,需在 /etc/default/isc-dhcp-server 指定监听接口(如:INTERFACESv4=“eth0”)。
三 TFTP 与网络引导文件
- 启用与参数:
- 在 /etc/cobbler/settings 将 manage_tftpd=1,编辑 /etc/cobbler/tftpd.template 启用服务并设置根目录(常见为 /var/lib/tftpboot),示例:server_args = -s /var/lib/tftpboot。
- 也可在 /etc/xinetd.d/tftp 中将 disable=no 并重启 xinetd(若以 xinetd 托管)。
- 引导文件与目录:
- 执行 cobbler get-loaders 下载常用网络引导程序至 /var/lib/cobbler/loaders(如:pxelinux.0、menu.c32、elilo.efi、yaboot),确保 BIOS/UEFI 机型均可引导。
- 目录 /var/lib/tftpboot/pxelinux.cfg/ 存放 PXE 菜单与配置;/var/www/cobbler/ 提供安装源与镜像文件访问。
四 按主机与按网段的网络定制
- 按主机(system 对象):
- 新增主机并指定网络启动与要使用的 profile:
- sudo cobbler system add --name=host01 --profile=debian-12-amd64 --netboot-enabled=true
- sudo cobbler system edit --name=host01 --interface=eth0 --mac=00:11:22:33:44:55 --ip-address=192.168.1.101 --netmask=255.255.255.0 --gateway=192.168.1.1 --dns-name=host01.example.com
- 如需静态租约,可在 system 中设置 ip/mask/gateway/dns,并在 DHCP 模板中使用 host 声明或配合 manage_dhcp=0 的静态分配策略。
- 按网段(多 VLAN/多网段):
- 在 /etc/cobbler/dhcp.template 中为每个 PXE 网段分别写 subnet 段,next-server 通常保持一致;确保物理/VLAN 路由可达与 DHCP 中继(ip helper)配置正确。
五 常用验证与生效步骤
- 一致性检查:执行 cobbler check,按提示修正 server/next_server、TFTP、引导文件、密码等项。
- 使配置生效:执行 cobbler sync,观察日志 /var/log/cobbler/cobbler.log 是否有渲染或服务重启错误。
- 服务状态:确认 cobblerd、httpd、tftp(或 xinetd)、isc-dhcp-server 处于 active(running)状态;必要时重启相关服务。
- 客户端测试:目标主机设置为 PXE 启动,观察是否获取到正确的 IP、下载 pxelinux.0 并进入安装菜单。