linux下dhcp服务器配置
- 云服务器
- 2025-08-02
- 13
是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进行配置文件校验