首页主机资讯如何使用Cobbler配置DHCP服务

如何使用Cobbler配置DHCP服务

时间2026-01-16 23:29:04发布访客分类主机资讯浏览585
导读:使用 Cobbler 配置 DHCP 服务 一 准备与前提 在同一台机器上部署 DHCP 与 Cobbler,安装必要软件包(以 RHEL/CentOS 为例): 安装包:cobbler-loaders、dhcp 命令:# yum in...

使用 Cobbler 配置 DHCP 服务

一 准备与前提

  • 在同一台机器上部署 DHCPCobbler,安装必要软件包(以 RHEL/CentOS 为例):
    • 安装包:cobbler-loaders、dhcp
    • 命令:# yum install -y cobbler-loaders dhcp
  • 确保已启用并运行 TFTPHTTP 服务(Cobbler 通过 TFTP 分发引导文件,HTTP 提供安装介质与资源)。
  • 规划网络参数:子网、网关、DNS、IP 地址池、服务器 IP(next_server)

二 让 Cobbler 管理 DHCP

  • 开启管理开关并配置核心参数(编辑 /etc/cobbler/settings):
    • manage_dhcp: 1(由 Cobbler 生成并管理 DHCP 配置)
    • server: < Cobbler 服务器 IP>
    • next_server: < Cobbler 服务器 IP> (TFTP/引导文件所在服务器)
  • 重要提示:不要直接编辑 /etc/dhcpd.conf,应修改 /etc/cobbler/dhcp.template,Cobbler 会通过模板自动生成 DHCP 配置。
  • 修改模板后必须执行同步:# cobbler sync,使模板变更落地到实际 DHCP 配置并生效。

三 配置 DHCP 模板与启动文件

  • 编辑 /etc/cobbler/dhcp.template,设置子网与地址池,并正确下发 PXE 启动参数:
    • 关键指令:allow booting; allow bootp; (允许网络引导)
    • 启动文件选择:根据客户端类型设置 filename
      • BIOSfilename "/pxelinux.0";
      • UEFIfilename "/grub/grub.efi";
    • 指定引导服务器:next-server $next_server;
  • 示例片段(按需替换为你实际网段与地址池):
    ddns-update-style interim;
        
    allow booting;
        
    allow bootp;
        
    ignore client-updates;
        
    set vendorclass = option vendor-class-identifier;
        
    option pxe-system-type code 93 = unsigned integer 16;
        
    set pxetype = option pxe-system-type;
    
    
    subnet 192.168.1.0 netmask 255.255.255.0 {
        
        option domain-name "mydom.com";
        
        option domain-name-servers 192.168.1.1;
        
        option broadcast-address 192.168.1.255;
        
        option routers 192.168.1.254;
        
        default-lease-time 14400;
        
        max-lease-time 28800;
    
        pool {
        
            range 192.168.1.101 192.168.1.200;
    
        }
    
        group {
    
            # 动态主机通过 PXE 获取启动文件
            if substring(vendorclass, 0, 9)="PXEClient" {
    
                if pxetype=00:06 or pxetype=00:07 {
        
                    filename "/grub/grub.efi";
    
                }
     else {
        
                    filename "/pxelinux.0";
    
                }
    
            }
        
            next-server $next_server;
    
        }
    
    }
        
    
  • UEFI 客户端准备引导文件(将系统的 GRUB EFI 可执行文件放到 TFTP 目录):
    • 示例:# cp /boot/efi/EFI/redhat/grub.efi /var/lib/tftpboot/grub
  • 同步并应用:# cobbler sync

四 启动服务与防火墙

  • 重启 cobblerd 并应用变更:# systemctl restart cobblerd(部分系统可用 service cobblerd restart
  • 启动并持久化 HTTP 服务:# systemctl enable --now httpd
  • 启动 DHCP 服务(按发行版选择):
    • RHEL/CentOS 7+:# systemctl enable --now dhcpd
    • 如由 Cobbler 管理,通常在 cobbler sync 后自动就位;若未启用,请手动启动对应服务。
  • 防火墙放行 DHCP 与 TFTP(示例):
    • firewalld(将 eth1 替换为你的 PXE 接口):
      # firewall-cmd --permanent --zone=internal --add-interface=eth1
      # firewall-cmd --permanent --zone=internal --add-port=67/udp
      # firewall-cmd --permanent --zone=internal --add-port=68/udp
      # firewall-cmd --reload
      
    • 如还需 TFTP:# firewall-cmd --permanent --add-service=tftp & & firewall-cmd --reload
  • 验证服务状态:# systemctl status dhcpd cobblerd httpd

五 验证与常见问题

  • 配置校验与试运行:
    • 执行 # cobbler check,修复告警项(如 server/next_server 不能是 127.0.0.1 或 localhost)。
    • 查看生成的 DHCP 配置是否包含你的子网与地址池(通常位于 /var/lib/cobbler/dhcp.cfg 或经模板渲染后的 /etc/dhcpd.conf)。
    • 在客户端以 PXE 启动,确认能获取 IP 并进入 PXE 菜单;必要时抓包或查看 /var/log/messages/var/log/dhcpd.log 排查。
  • 已有独立 DHCP 服务器时的做法:
    • 保持 manage_dhcp: 0,在现有 /etc/dhcp/dhcpd.conf 的相应 subnet 中加入:
      • allow booting; allow bootp;
      • filename "/pxelinux.0"; (BIOS)或 filename "/grub/grub.efi"; (UEFI)
      • next-server < Cobbler 服务器 IP> ;
    • 注意:不要同时让两个 DHCP 服务在同一网段争抢地址分配。
  • 常见排错要点:
    • 客户端拿不到地址或卡在 PXE:核对 next-server/filename、接口绑定、地址池范围与防火墙。
    • UEFI 启动失败:确认 /var/lib/tftpboot/grub/grub.efi 存在且可访问。
    • 修改 /etc/cobbler/settings 后未生效:重启 cobblerd 并执行 cobbler sync
    • SELinux 拦截:必要时执行
      • # setsebool -P httpd_can_network_connect=1
      • # semanage fcontext -a -t public_content_t "/var/lib/tftpboot/.*"
      • # semanage fcontext -a -t public_content_t "/var/www/cobbler/images/.*"

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何使用Cobbler配置DHCP服务
本文地址: https://pptw.com/jishu/782039.html
如何利用Cobbler进行系统监控 Cobbler如何与LDAP集成

游客 回复需填写必要信息