在Ubuntu服务器上安装Cobbler核心服务、Web管理界面及依赖组件:
sudo apt update
sudo apt install cobbler cobbler-web dhcp3-server tftpd-hpa xinetd -y
cobbler:核心自动化部署工具;cobbler-web:基于Web的管理界面;dhcp3-server/tftpd-hpa/xinetd:支持PXE启动的必要服务。编辑DHCP配置文件(/etc/dhcp/dhcpd.conf),添加以下内容(替换为实际网络参数):
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200; # 客户端IP范围
option routers 192.168.1.1; # 网关
option domain-name-servers 8.8.8.8, 8.8.4.4; # DNS
filename "pxelinux.0"; # PXE启动文件
next-server 192.168.1.10; # Cobbler服务器IP(TFTP服务器)
}
重启DHCP服务使配置生效:
sudo systemctl restart isc-dhcp-server
注:若Cobbler管理DHCP(manage_dhcp=1,见后续配置),可省略手动配置DHCP。
编辑TFTP配置文件(/etc/xinetd.d/tftp),设置TFTP根目录:
server_args = -s /var/lib/tftpboot
重启xinetd服务:
sudo systemctl restart xinetd
确保/var/lib/tftpboot目录存在且权限正确(通常为root:root,权限755)。
编辑Cobbler主配置文件(/etc/cobbler/settings),修改关键参数:
server: 192.168.1.10 # Cobbler服务器IP(必须可被客户端访问)
next_server: 192.168.1.10 # TFTP服务器IP(通常与Cobbler服务器一致)
manage_dhcp: 1 # 设为1,让Cobbler管理DHCP(需提前安装dhcp3-server)
pxe_just_once: 1 # 防止客户端重复进入安装流程
default_password_crypted: "$1$随机字符串$加密密码" # 设置默认root密码(用openssl生成:openssl passwd -1 "你的密码")
保存后运行cobbler check检查配置是否有问题,若有提示则逐一修复。
将Ubuntu ISO镜像挂载并导入Cobbler:
sudo mkdir -p /mnt/ubuntu-iso
sudo mount -o loop /tmp/ubuntu-22.04.iso /mnt/ubuntu-iso # 替换为实际ISO路径
sudo cobbler import --path=/mnt/ubuntu-iso --name=ubuntu-22.04 --arch=x86_64
导入完成后,创建Profile(关联镜像与Kickstart文件):
sudo cobbler profile edit --name=ubuntu-22.04 --kickstart=/var/lib/cobbler/kickstarts/ubuntu.seed
注:ubuntu.seed是Kickstart配置文件,需提前在/var/lib/cobbler/kickstarts/目录下创建,内容包含分区、用户、软件源等自动化安装参数。
为客户端系统添加PXE启动配置:
sudo cobbler system add --name=ubuntu-client1 --profile=ubuntu-22.04
sudo cobbler system edit --name=ubuntu-client1 --netboot-enabled=true # 开启网络启动
提交所有更改,使配置生效:
sudo cobbler sync
同步后会自动更新TFTP文件、DHCP配置等。
sudo systemctl start cobbler-web
sudo systemctl enable cobbler-web
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS(可选,更安全)
sudo ufw reload
http://<Cobbler服务器IP>/cobbler_web,使用默认用户名cobbler和之前设置的密码登录。htdigest命令修改/etc/cobbler/users.digest中的密码(更安全):sudo htdigest /etc/cobbler/users.digest "Cobbler" 新用户名
httpd)使用SSL证书,将访问协议改为https://(避免密码明文传输)。sudo ufw allow from 192.168.1.0/24 to any port 80)。完成以上步骤后,即可通过浏览器远程访问Cobbler Web界面,实现对Ubuntu系统的自动化部署、配置管理及客户端系统监控。