Ubuntu Cobbler中DHCP设置的关键技巧与步骤
在配置DHCP前,需确保系统已安装Cobbler及其依赖的DHCP服务。使用以下命令安装(Ubuntu 22.04及以上版本推荐使用isc-dhcp-server):
sudo apt update
sudo apt install cobbler cobbler-web isc-dhcp-server tftpd-hpa xinetd
编辑Cobbler的核心配置文件/etc/cobbler/settings,启用DHCP管理并设置关键参数:
server:指定Cobbler服务器自身的IP地址(如192.168.1.100),用于客户端连接;next_server:设置为Cobbler服务器的IP地址(与server一致),用于指向PXE启动文件的存储位置;manage_dhcp:设为1,表示由Cobbler接管DHCP配置的生成与管理;manage_tftpd:设为1,同时启用TFTP服务(用于传输PXE启动文件)。server: 192.168.1.100
next_server: 192.168.1.100
manage_dhcp: 1
manage_tftpd: 1
Cobbler通过模板文件/etc/cobbler/dhcp.template生成DHCP配置。需修改以下关键参数以适配网络:
subnet定义网络段(如192.168.1.0/24),range设置动态分配的IP区间(如192.168.1.100-192.168.1.200);option routers指定网关IP(如192.168.1.1),option domain-name-servers设置DNS服务器(如8.8.8.8, 8.8.4.4);filename设为"pxelinux.0"(传统PXE启动文件),next-server需与Cobbler的next_server一致(确保客户端能找到PXE文件)。subnet 192.168.1.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8, 8.8.4.4;
filename "pxelinux.0";
default-lease-time 21600;
max-lease-time 43200;
next-server $next_server;
}
修改完Cobbler配置后,执行sync命令将设置应用到DHCP服务:
sudo cobbler sync
该命令会读取dhcp.template生成实际的DHCP配置文件(通常位于/etc/dhcp/dhcpd.conf),并重启DHCP服务以加载新配置。
sudo systemctl status isc-dhcp-server
输出应显示active (running)。range内IP,并检查next-server是否指向Cobbler服务器(可通过ip a或DHCP客户端日志验证)。dhcp.template中使用host块为特定MAC地址分配固定IP,避免IP冲突。示例如下:host client1 {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.1.50;
}
/etc/default/isc-dhcp-server,设置INTERFACESv4="eth0",替换为实际网络接口),防止非法访问。manage_dhcp(设为0),则需手动编辑/etc/dhcp/dhcpd.conf配置DHCP,但推荐使用模板管理,便于后续同步更新;next_server指向正确,否则客户端无法下载PXE启动文件;isc-dhcp-server,而22.04可能默认使用dhcp-server),需根据版本调整命令。