温馨提示×

如何用Ubuntu Cobbler管理网络配置

小樊
47
2026-01-09 16:00:43
栏目: 智能运维

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_dhcpmanage_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/settingsdefault_password_crypted,再 cobbler sync
  • 常用排错命令:
    • 查看服务状态:systemctl status cobblerd xinetd isc-dhcp-server
    • 查看日志:tail -f /var/log/cobbler/cobbler.log
    • 核对配置:cobbler report;必要时再次 cobbler sync

0