1. 准备工作
关闭防火墙和SELinux以避免网络配置冲突:
systemctl stop firewalld && systemctl disable firewalld # 关闭防火墙
sed -i 's/selinux=.*/selinux=disabled/g' /etc/selinux/config # 禁用SELinux
2. 安装Cobbler及相关组件
Debian系统需先添加EPEL源(可选但推荐),再安装Cobbler、DHCP、TFTP等服务:
sudo apt-get update
sudo apt-get install epel-release # 添加EPEL源(可选)
sudo apt-get install cobbler cobbler-web tftp-server dhcp xinetd httpd -y # 安装核心组件
3. 配置Cobbler主配置文件
编辑/etc/cobbler/settings,设置服务器IP及启用关键服务:
sudo nano /etc/cobbler/settings
修改以下参数(替换192.168.1.2为你的Cobbler服务器IP):
server: 192.168.1.2 # Cobbler服务器IP
next_server: 192.168.1.2 # TFTP服务器IP(通常与Cobbler服务器一致)
manage_dhcp: 1 # 启用Cobbler管理DHCP(若用Cobbler管理DHCP)
manage_tftpd: 1 # 启用Cobbler管理TFTP
pxe_just_once: 0 # 允许客户端多次PXE启动(避免安装循环)
4. 配置DHCP服务
编辑Cobbler的DHCP模板文件(/etc/cobbler/dhcp.template),设置子网、IP范围及引导参数:
sudo nano /etc/cobbler/dhcp.template
替换以下内容(根据你的网络环境调整192.168.1.0/24、192.168.1.1、192.168.1.2):
subnet 192.168.1.0 netmask 255.255.255.0 {
range dynamic-bootp 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 $next_server; # 指向TFTP服务器($next_server由Cobbler自动替换)
}
5. 配置TFTP服务
编辑/etc/xinetd.d/tftp,设置TFTP根目录为Cobbler的默认路径:
sudo nano /etc/xinetd.d/tftp
修改server_args参数:
server_args = -s /var/lib/tftpboot # Cobbler的TFTP根目录
6. 导入操作系统镜像
将Debian ISO镜像挂载并导入到Cobbler,生成安装源:
# 创建挂载目录并挂载ISO
sudo mkdir -p /mnt/debian-iso
sudo mount -o loop /path/to/debian.iso /mnt/debian-iso # 替换为你的ISO路径
# 导入ISO到Cobbler(--name自定义镜像名称)
sudo cobbler import --path=/mnt/debian-iso --name=debian-11 --arch amd64
# 卸载ISO
sudo umount /mnt/debian-iso
7. 创建Cobbler配置文件
为导入的操作系统创建Profile(配置模板),关联Kickstart自动化脚本:
# 编辑Profile(替换为你的镜像名称和Kickstart文件路径)
sudo cobbler profile edit --name=debian-11 --kickstart=/var/lib/cobbler/kickstarts/debian.seed
# 设置PXE启动(--netboot-enabled=true启用网络启动)
sudo cobbler system add --name=test-client --profile=debian-11 --netboot-enabled=true
8. 同步配置并启动服务
将所有配置应用到Cobbler,并启动相关服务:
# 同步配置(必须步骤,应用所有更改)
sudo cobbler sync
# 启动并设置开机自启
sudo systemctl start cobblerd && sudo systemctl enable cobblerd
sudo systemctl start dhcpd && sudo systemctl enable dhcpd # 若Cobbler管理DHCP
sudo systemctl start xinetd && sudo systemctl enable xinetd
9. 验证配置
使用Cobbler自检命令检查配置错误,确保服务正常:
sudo cobbler check
常见需解决的问题:
manage_dhcp设置及端口67/68是否开放);/var/lib/tftpboot属主为tftp用户);--kickstart参数指向的文件存在)。10. 测试PXE启动
将客户端计算机设置为PXE启动(进入BIOS/UEFI,优先选择网络启动),若配置正确,客户端将从Cobbler服务器获取IP并自动加载Debian安装界面。