是Linux下DHCP服务器的详细配置指南:
安装DHCP服务软件包
根据不同的Linux发行版选择对应的安装命令:
| 发行版类型 | 安装命令 |
|———————|—————————————————————————–|
| Debian/Ubuntu | sudo apt-get update && sudo apt-get install isc-dhcp-server
|
| CentOS/RHEL | sudo yum install dhcp
或 sudo dnf install dhcp-server
|
编辑主配置文件(/etc/dhcp/dhcpd.conf)
这是核心步骤,通过定义子网、地址池和其他参数实现动态分配功能,以下是关键配置示例及说明:
基础网络段设置
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 192.168.1.1; # DNS服务器地址 option domain-name "example.com"; # 域名后缀 default-lease-time 600; # 默认租约时间(秒) max-lease-time 7200; # 最大租约时间(秒) }
绑定特定设备的静态IP
若需为某台主机固定IP,可通过MAC地址绑定:
host web-server { hardware ethernet 00:0C:29:XX:XX:XX; # 目标设备的网卡MAC地址 fixed-address 192.168.1.50; # 指定的静态IP }
多子网支持(超级作用域)
当存在多个物理网络时,可添加多个subnet
块:
subnet 192.168.3.0 netmask 255.255.255.0 { range 192.168.3.10 192.168.3.100; option routers 192.168.3.1; option domain-name-servers 192.168.1.3; }
调整系统网络接口配置
确保DHCP服务器自身使用静态IP,修改/etc/network/interfaces
(Debian系)或通过图形界面设置网卡模式为“手动”,并填写固定的IP、掩码和网关信息。
启动与管理服务
完成配置后执行以下操作:
- 启动服务:
sudo systemctl start isc-dhcp-server
- 设置开机自启:
sudo systemctl enable isc-dhcp-server
- 状态检查:
sudo systemctl status isc-dhcp-server
- 日志排查:查看
/var/log/syslog
或/var/log/messages
中的运行记录。
防火墙放行规则
允许UDP协议的67和68端口通信:
| 防火墙工具 | 命令示例 |
|———————|—————————————————————————–|
| iptables | sudo iptables -A INPUT -p udp --dport 67:68 -j ACCEPT
|
| firewalld | sudo firewall-cmd --permanent --add-service=dhcp && sudo firewall-cmd --reload
|
客户端验证测试
- 将客户机的网卡设置为“自动获取IP”。
- 使用命令如
ipconfig /all
(Windows)或ifconfig
(Linux)查看是否成功获取到由服务器分配的IP及相关参数。 - 尝试重启客户机网络服务,观察是否能重新获取相同的配置。
相关问题与解答
Q1: 如何避免IP地址冲突?
- 答:DHCP协议内置了冲突检测机制,但仍需注意两点:一是合理规划地址池范围,排除已手动分配的静态IP;二是启用日志监控,定期检查
/var/lib/dhcpd/dhcpd.leases
文件中的租约记录,及时发现异常占用情况。
Q2: 为什么修改配置后未生效?
- 答:常见原因是未重启服务,每次修改
dhcpd.conf
后必须运行sudo systemctl restart isc-dhcp-server
使更改生效;确认语法正确性可用dhcpd -t
进行配置文件校验
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/88011.html