CentOS Cobbler 支持多网段主要通过合理配置 DHCP 服务器来实现。DHCP 服务器负责为客户端分配 IP 地址,并且可以配置多个子网(网段)。以下是如何在 CentOS 上配置 Cobbler 以支持多网段的步骤:
首先,确保系统已经安装了 EPEL 源,然后安装 Cobbler 及其相关组件:
sudo yum install cobbler cobbler-web tftp-server dhcp httpd xinetd
编辑 Cobbler 的主要配置文件 /etc/cobbler/settings
:
sudo vim /etc/cobbler/settings
确保以下设置正确:
manage_dhcp
: 启用或禁用 Cobbler 管理 DHCP 服务。manage_dns
: 启用或禁用 Cobbler 管理 DNS 服务。manage_tftpd
: 启用或禁用 Cobbler 管理 TFTP 服务。pxe_just_once
: 防止将机器中的安装循环配置为始终从网络引导。编辑 DHCP 配置文件 /etc/dhcp/dhcpd.conf
,为每个网段添加一个子网配置块:
sudo vim /etc/dhcp/dhcpd.conf
例如,为两个网段配置子网:
subnet 192.168.1.0 netmask 255.255.255.0 {
range 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";
next-server 192.168.1.2;
}
subnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.100 192.168.2.200;
option routers 192.168.2.1;
option domain-name-servers 8.8.8.8, 8.8.4.4;
filename "pxelinux.0";
next-server 192.168.2.2;
}
将 192.168.1.0
、192.168.2.0
替换为你的实际子网,将 192.168.1.1
、192.168.2.1
替换为相应的网关,将 192.168.1.2
、192.168.2.2
替换为 Cobbler 服务器的 IP 地址。
之后,重启 DHCP 服务以应用更改:
sudo systemctl restart dhcpd
确保 TFTP 服务已启动并配置正确:
sudo systemctl enable xinetd
sudo systemctl restart xinetd
编辑 Cobbler 设置文件 /etc/cobbler/settings
,配置服务器地址和管理 DHCP 等:
sudo cobbler settings edit --name=server --value=192.168.52.202
sudo cobbler settings edit --name=manage_dhcp --value=1
将操作系统 ISO 镜像导入 Cobbler,例如 CentOS:
sudo cobbler import --path=/centos7 --name=centos7.4 --arch=x86_64
创建 Kickstart 文件以定义自动化安装参数:
cat > /var/lib/cobbler/kickstarts/centos7.ks <<EOL
install url --url="http://$server/cobbler/ks_mirror/centos7"
rootpw --iscrypted `$default_password_crypted'
firewall --disabled
EOL
启动 Cobbler 服务和 HTTP 服务,并设置开机启动:
sudo systemctl start cobblerd
sudo systemctl enable cobblerd
sudo systemctl start httpd
sudo systemctl enable httpd
提交更改以应用配置:
sudo cobbler sync
通过上述步骤,您可以在 CentOS 上配置 Cobbler 以支持多个网段。每个网段的客户端将通过各自的 DHCP 服务器获取 IP 地址,并从 Cobbler 服务器获取启动文件以进行自动化安装。