温馨提示×

如何通过Cobbler设置Ubuntu系统的网络参数

小樊
34
2025-12-21 04:41:49
栏目: 智能运维

通过 Cobbler 设置 Ubuntu 系统的网络参数

一、前置准备与总体思路

  • Cobbler 服务器上安装并启用必要服务:建议安装 cobbler cobbler-web tftp-server isc-dhcp-server xinetd,并准备要部署的 Ubuntu 镜像(ISO 或本地镜像目录)。
  • 规划网络参数:为安装网段准备 子网掩码、网关、DNS、IP 分配范围,以及每台目标机的 静态 IP/主机名(如需要)。
  • 总体思路:用 DHCP 模板下发安装阶段的网络(next-server、网关、DNS、启动文件),用 Cobbler system 对象为指定主机下发静态网络参数,用 preseed 文件完成安装后的持久化网络配置。

二、DHCP 与 TFTP 的基础网络下发

  • 配置 Cobbler 主配置:编辑 /etc/cobbler/settings,将 servernext_server 设为 Cobbler 服务器地址,并开启 manage_dhcpmanage_tftpd
  • 配置 DHCP 模板:编辑 /etc/cobbler/dhcp.template,为安装网段设置子网、掩码、网关、DNS、地址池与 PXE 启动项(next-server 使用模板变量 $next_server)。
  • 配置 TFTP:确保 TFTP 可用(如使用 xinetd 管理),以便 PXE 客户端能获取启动文件。
  • 使配置生效:执行 cobbler sync 生成并应用 DHCP 配置,然后重启相关服务。
    示例片段(/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;
}

上述步骤完成后,客户端 PXE 启动即可通过 DHCP 获取安装所需网络参数与引导文件。

三、为指定主机设置静态网络参数

  • 方式 A(推荐):使用 cobbler system add 为目标主机指定静态网络。示例命令:
cobbler system add \
  --name=node01 \
  --mac=00:50:56:2B:B1:19 \
  --profile=ubuntu-20.04-amd64 \
  --ip-address=192.168.1.105 \
  --subnet=255.255.255.0 \
  --gateway=192.168.1.1 \
  --interface=ens33 \
  --static=1 \
  --hostname=node01 \
  --name-servers="223.5.5.5 8.8.8.8" \
  --kickstart=/var/lib/cobbler/kickstarts/ubuntu-20.04.seed

说明:上述命令会在安装阶段为指定 MAC 的主机分配静态 IP/网关/DNS/主机名,并绑定到指定 profilekickstart

  • 方式 B:使用 Cobbler Web(Web UI)创建或编辑 System,在网卡设置中填写 IP、子网掩码、网关、DNS、主机名,保存后执行 cobbler sync

  • 使配置生效:执行 cobbler sync 更新 DHCP 租约与 PXE 配置,重启客户端 PXE 安装即可按静态参数进行。

四、在 Ubuntu 安装阶段与安装后持久化网络

  • 安装阶段网络:若使用第 步为某主机指定了静态参数,Cobbler 会在安装流程中将该主机的网络参数应用到安装环境(用于下载软件包、完成安装)。
  • 安装后持久化:在 preseed(Debian/Ubuntu 的 kickstart) 中配置网络,使系统首次启动即使用期望的网络参数。示例(/var/lib/cobbler/kickstarts/ubuntu-20.04.seed 片段):
# 使用 DHCP(默认)
d-i netcfg/choose_interface select auto
d-i netcfg/dhcp_timeout string 60

# 或使用静态 IP(取消注释并按需修改)
# d-i netcfg/choose_interface select eth0
# d-i netcfg/get_ipaddress string 192.168.1.105
# 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 223.5.5.5 8.8.8.8
# d-i netcfg/confirm_static boolean true

# 主机名
d-i netcfg/get_hostname string node01
d-i netcfg/get_domain string localdomain

要点:

  • 若已在 system 层指定静态参数,preseed 中可继续使用 DHCP,也可覆盖为静态;两者用途不同但可协同。
  • 多网卡环境请在 preseed 中明确 choose_interface,避免安装后默认路由不符合预期。

五、验证与常见问题

  • 验证要点:
    • 执行 cobbler check 排查配置问题;每次修改后执行 cobbler sync 使配置生效。
    • 客户端 PXE 启动,确认从 next-server 获取启动文件,安装日志显示正确的 IP/网关/DNS/主机名
    • 安装完成后登录系统,检查 ip a、route -n、/etc/netplan/(Ubuntu 18.04+ 常见)或 /etc/network/interfaces(ifupdown)是否与应用参数一致。
  • 常见问题:
    • 客户端拿不到地址或找不到启动文件:核对 /etc/cobbler/dhcp.template 中的 subnet/range/filename/next-servercobbler sync 是否执行。
    • 静态 IP 未生效:确认 system 对象–ip-address/–gateway/–name-servers 填写正确,且 –static=1;必要时在 preseed 中再次声明。
    • 多网卡路由异常:在 preseed 中明确 choose_interface,或在安装后通过 netplan 配置默认路由与 DNS。

0