确保server字段设置为Cobbler服务器的可解析主机名或IP地址(如192.168.1.100),next_server字段设置为TFTP服务器的IP地址(通常与server一致)。若修改过服务器IP,需同步更新这两个字段并执行cobbler sync使配置生效。
DHCP配置需包含子网、网关、DNS及PXE引导参数,示例:
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(与next_server一致)
}
修改后需重启DHCP服务(systemctl restart dhcpd)并同步Cobbler配置(cobbler sync)。
/etc/xinetd.d/tftp文件,将disable设置为no(启用TFTP):service tftp
{
disable = no
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /var/lib/tftpboot # TFTP根目录(需与Cobbler设置一致)
per_source = 11
cps = 100 2
flags = IPv4
}
/var/lib/tftpboot)存在且权限正确(chown -R root:root /var/lib/tftpboot),重启xinetd服务(systemctl restart xinetd)。cobblerd、dhcpd、tftp、httpd(用于Web界面和Kickstart文件分发)服务已启动并设置开机自启:systemctl enable --now cobblerd dhcpd tftp httpd
systemctl status <服务名>检查各服务是否处于active (running)状态。Cobbler依赖网络服务(DHCP、TFTP、HTTP),防火墙或SELinux可能拦截其通信:
systemctl stop firewalld
systemctl disable firewalld
/etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,然后重启系统或执行setenforce 0临时生效。执行cobbler check命令,它会列出所有配置问题(如缺失引导文件、DHCP配置错误、服务未启动等),并根据提示逐一修复。常见报错及解决:
cobbler get-loaders下载PXE引导文件(pxelinux.0、menu.c32等)到/var/lib/cobbler/loaders。ImportError: No module named yaml,安装pyyaml模块:yum install python2-pip && pip install pyyaml。pxelinux.0引导文件,说明网络配置成功;若无法获取IP,需检查DHCP服务是否正常分配地址;若能获取IP但无法加载引导文件,需确认TFTP服务是否正常响应(可通过tcpdump抓包分析)。若问题仍未解决,查看以下日志获取详细错误信息:
/var/log/cobbler/cobbler.logjournalctl -u cobblerd -n 100(查看最近100条Cobbler服务日志)/var/log/messages(过滤dhcpd关键字)/var/log/messages(过滤in.tftpd关键字)。