Cobbler管理CentOS网络配置的完整流程
首先确保系统已安装EPEL源,然后通过yum安装Cobbler核心组件及网络服务依赖:
sudo yum install cobbler cobbler-web tftp-server dhcp httpd xinetd pykickstart -y
安装完成后,启动Cobbler主服务并设置开机自启:
sudo systemctl start cobblerd && sudo systemctl enable cobblerd
编辑/etc/cobbler/settings,调整以下关键参数以启用网络服务管理:
manage_dhcp: 1:允许Cobbler自动管理DHCP服务(需确保DHCP服务器未由其他程序管理);manage_tftpd: 1:启用Cobbler对TFTP服务的管理;server: <Cobbler服务器IP>:设置Cobbler服务器自身的IP地址;next_server: <Cobbler服务器IP>:指定TFTP服务器的IP(通常与server一致);pxe_just_once: 1:防止客户端重复从网络启动(避免安装循环)。Cobbler可通过内置模板简化DHCP配置。编辑/etc/cobbler/dhcp.template,添加以下内容(根据实际网络调整参数):
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启动文件名(Cobbler自动放置)
next-server $next_server; # 指向Cobbler服务器($next_server为模板变量)
}
若未使用模板,可直接编辑/etc/dhcp/dhcpd.conf,内容与上述一致。修改完成后重启DHCP服务:
sudo systemctl restart dhcpd
编辑TFTP配置文件/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服务使配置生效:
sudo systemctl restart xinetd
下载CentOS ISO镜像(如centos-7-x86_64.iso),放置在临时目录(如/tmp),然后通过Cobbler导入:
sudo cobbler import --path=/tmp/centos-7-x86_64.iso --name centos7 --arch x86_64
导入完成后,Cobbler会自动将ISO中的内核(vmlinuz)、初始RAM磁盘(initrd.img)等文件复制到TFTP根目录(/var/lib/tftpboot),供PXE启动使用。
Kickstart文件定义了CentOS安装的自动化流程(分区、软件包、网络配置等)。Cobbler自带默认模板,路径为/var/lib/cobbler/kickstarts/default.seed。可根据需求修改此文件,例如添加静态IP配置:
network --bootproto=static --ip=192.168.1.150 --netmask=255.255.255.0 --gateway=192.168.1.1 --nameserver=8.8.8.8
若需为特定系统定制Kickstart文件,可将自定义模板放在/var/lib/cobbler/kickstarts/目录下,并通过--kickstart参数指定路径。
Profile是Cobbler中连接操作系统镜像与Kickstart文件的桥梁。创建名为centos7的Profile:
sudo cobbler profile edit --name centos7 --kickstart /var/lib/cobbler/kickstarts/default.seed --distro centos7-x86_64
其中:
--name:Profile名称(自定义,需唯一);--kickstart:Kickstart文件路径;--distro:导入的操作系统镜像名称(通过cobbler distro list查看)。为需要部署的客户端系统创建记录(即使未立即部署,也可提前配置):
sudo cobbler system add --name test-client --profile centos7
启用该系统的PXE启动功能(确保客户端从网络启动):
sudo cobbler system edit --name test-client --netboot-enabled yes
若需为客户端分配静态IP,可进一步编辑系统配置:
sudo cobbler system edit --name test-client --interface eth0 --mac=00:1A:2B:3C:4D:5E --ip-address=192.168.1.150 --netmask=255.255.255.0 --static=1
其中--mac为客户端网卡MAC地址(必填,用于唯一标识设备)。
所有配置修改完成后,执行同步命令将更改应用到Cobbler服务:
sudo cobbler sync
同步完成后,可通过以下命令验证网络配置是否正常:
sudo cobbler check(确保无错误提示);sudo dhcpd -t(测试DHCP配置语法);tftp localhost,然后输入get pxelinux.0(验证是否能下载PXE启动文件)。