在CentOS系统上配置Cobbler网络设置前,需先安装Cobbler及其依赖组件(包括DHCP、TFTP、HTTP等服务)。执行以下命令安装:
sudo yum install cobbler cobbler-web tftp-server dhcp httpd xinetd pykickstart -y
安装完成后,确保系统已启用EPEL源(若未启用,可通过sudo yum install epel-release -y安装)。
Cobbler的核心配置文件为/etc/cobbler/settings,需修改以下关键参数以启用网络服务:
server和next_server修改为Cobbler服务器的本机IP地址(如192.168.1.100),确保客户端能访问Cobbler服务器。manage_dhcp、manage_tftpd设置为1,表示Cobbler将接管DHCP和TFTP服务的配置(若手动管理DHCP,可设为0)。pxe_just_once设置为1,避免客户端重复从网络启动。sudo cobbler sync
DHCP服务用于为客户端分配IP地址,并告知其PXE启动所需的next-server(Cobbler服务器)和filename(引导文件)。编辑/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引导文件名(需与TFTP目录一致)
next-server 192.168.1.100; # Cobbler服务器IP(需与settings中一致)
}
注意:将上述参数中的子网、IP范围、网关、DNS等替换为实际网络环境中的值。修改完成后,重启DHCP服务:
sudo systemctl restart dhcpd
sudo systemctl enable dhcpd # 设置开机自启
TFTP服务用于为客户端提供PXE启动所需的引导文件(如pxelinux.0、内核文件等)。编辑/etc/xinetd.d/tftp文件,修改以下参数:
service tftp {
disable = no # 启用TFTP服务
server_args = -s /var/lib/tftpboot # 指定TFTP根目录(Cobbler默认路径)
per_source = 11
cps = 100 2
flags = IPv4
}
修改完成后,重启xinetd服务(TFTP依赖xinetd运行):
sudo systemctl restart xinetd
sudo systemctl enable xinetd # 设置开机自启
Cobbler需通过导入操作系统ISO镜像来生成安装源。将ISO文件(如CentOS 7)放入临时目录(如/tmp),执行以下命令导入:
sudo cobbler import --path=/tmp/CentOS-7-x86_64-DVD-2009.iso --name centos7 --arch x86_64
参数说明:
--path:ISO文件的存放路径;--name:导入的操作系统名称(自定义,后续配置中需使用);--arch:系统架构(如x86_64、i386)。/var/www/cobbler/ks_mirror/centos7(HTTP安装源)和/var/lib/tftpboot(PXE引导文件)目录。Kickstart文件用于定义操作系统安装的自动化流程(如分区、网络配置、软件包选择等)。Cobbler默认提供模板文件/var/lib/cobbler/kickstarts/default.seed,可根据需求修改(如设置静态IP、主机名等)。示例如下:
# Kickstart file for CentOS 7
install
url --url "http://192.168.1.100/cobbler/ks_mirror/centos7" # 指向Cobbler的HTTP安装源
lang en_US.UTF-8
keyboard us
network --bootproto=dhcp --device=eth0 # 网络配置(可改为静态IP)
rootpw --plaintext yourpassword # root密码(建议加密)
firewall --disabled
selinux --disabled
timezone Asia/Shanghai
bootloader --location=mbr --boot-drive=sda
zerombr
clearpart --all --initlabel
part / --fstype=xfs --size=1 --grow
保存文件后,需将Kickstart文件关联到Cobbler配置文件(后续步骤)。
通过Cobbler命令创建系统配置文件,将操作系统镜像与Kickstart文件关联:
sudo cobbler profile edit --name centos7 --kickstart /var/lib/cobbler/kickstarts/default.seed
参数说明:
--name:配置文件的名称(自定义,需与后续system add中的名称一致);--kickstart:Kickstart文件的路径(需指向已创建的模板文件)。添加客户端系统配置,启用PXE启动,并同步所有更改到Cobbler服务:
sudo cobbler system add --name centos7-client --profile centos7 # 添加客户端系统
sudo cobbler system edit --name centos7-client --netboot-enabled yes # 启用PXE启动
sudo cobbler sync # 同步所有配置(关键步骤,确保设置生效)
参数说明:
--name:客户端系统的名称(自定义);--profile:关联的Cobbler配置文件名称(需与profile edit中的名称一致)。完成上述步骤后,需验证Cobbler的网络配置是否正确:
cobbler check命令,查看是否有错误提示(如DHCP、TFTP服务未启动);tftp 192.168.1.100,然后输入ls,查看是否能列出/var/lib/tftpboot目录下的文件(如pxelinux.0);pxelinux.0文件。sudo firewall-cmd --add-service=dhcp --permanent
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=tftp --permanent
sudo firewall-cmd --reload
setenforce 0)或调整相关策略,避免影响Cobbler服务。