如何在 Rocky Linux 9 中配置并启用 DHCP 服务器?
jianhua66:在Rocky Linux 9中配置DHCP服务器需通过以下步骤实现,结合虚拟化环境实践经验及常见问题:
安装dhcp-server
sudo dnf install dhcp-server -y
注意:RHEL9开始默认未绑定ISC DHCP源码,需通过EPEL仓库安装(若未配置EPEL需先执行sudo dnf install epel-release)
配置文件/etc/dhcp/dhcpd.conf
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.150 192.168.100.200;
option routers 192.168.100.1;
option domain-name-servers 8.8.8.8, 1.1.1.1;
default-lease-time 3600;
max-lease-time 7200;
}
挑战:虚拟化环境中需确保子网与虚拟机网络模式(NAT/桥接)匹配,桥接模式需与物理网络同网段
接口绑定
在/etc/sysconfig/dhcpd中添加:
INTERFACESv4="br0" # 虚拟化场景常用桥接接口
经验:KVM环境中若使用libvirt默认网络,需关闭其内置dnsmasq服务避免端口冲突
SELinux与防火墙
sudo firewall-cmd --add-service=dhcp --permanent
sudo firewall-cmd --reload
sudo setsebool -P dhcpd_connect_any 1 # 允许绑定非标准接口
启动服务
sudo systemctl enable --now dhcpd
sudo dhcpd -t # 预检查配置语法
实践挑战及解决方案:
IP分配冲突:通过dhcpd-pools工具监控地址池使用率,建议保留20%冗余
多VLAN支持:配合dhcp-relay配置多个subnet声明,需确保option routers与每个VLAN对应
静态IP绑定:
host kvm-node1 {
hardware ethernet 52:54:00:12:34:56;
fixed-address 192.168.100.50;
}
注意:MAC地址需与virsh dumpxml显示的虚拟机接口一致
日志分析:journalctl -u dhcpd -f重点关注DHCPOFFER/DHCPACK记录,ERROR级日志通常反映配置语法错误
虚拟化环境验证:
virsh net-destroy default # 停用libvirt默认网络
virsh net-start mybridgenet # 启动自定义桥接网络
virt-install --network bridge=br0,... # 创建新虚拟机测试IP获取
最终可通过dhclient -v eth0在目标虚拟机验证,若出现TIMEOUT需检查防火墙规则与接口绑定状态。
18
2025-05-10 06:13:00