Linux DHCP服务器配置步骤有哪些?新手必看指南!
- 云服务器
- 2025-12-30
- 7
在Linux系统中配置DHCP(动态主机配置协议)服务器,可以为局域网中的自动分配IP地址、子网掩码、网关、DNS等网络参数,简化网络管理,以下是详细的配置步骤和说明,以常见的DHCP服务器软件包dhcpd为例展开。
安装DHCP服务器软件
首先需要确保系统已安装dhcpd服务,在基于Debian/Ubuntu的系统中,使用以下命令安装:
sudo apt update sudo apt install iscdhcpserver
在基于RHEL/CentOS的系统中,使用:

安装完成后,dhcpd服务默认不会自动启动,需手动启用:
sudo systemctl enable iscdhcpserver # Debian/Ubuntu sudo systemctl enable dhcpd # RHEL/CentOS
配置DHCP服务器核心文件
dhcpd的主配置文件通常位于/etc/dhcp/dhcpd.conf(Debian/Ubuntu)或/etc/dhcpd.conf(RHEL/CentOS),以下是配置文件的关键参数说明及示例:
全局参数配置
在配置文件开头,可以设置默认租约时间、最大租约时间等全局参数:

子网配置
为核心网络段定义地址池,为168.1.0/24网段配置DHCP服务:
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 domainnameservers 8.8.8.8, 8.8.4.4; # DNS服务器 option subnetmask 255.255.255.0; # 子网掩码 }
静态地址分配
为特定设备(如服务器、打印机)固定IP地址,通过MAC地址绑定实现:
host server01 { hardware ethernet 00:1A:2B:3C:4D:5E; # 设备MAC地址 fixedaddress 192.168.1.50; # 分配的静态IP }
多子网配置
若需支持多个网段,可重复添加subnet块,为168.2.0/24配置:

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 domainnameservers 114.114.114.114; }
配置DHCP服务监听接口
默认情况下,dhcpd会监听所有网络接口,若需指定特定接口(如eth0),需修改配置文件:
- Debian/Ubuntu:编辑/etc/default/iscdhcpserver,修改INTERFACESv4参数: INTERFACESv4="eth0"
- RHEL/CentOS:编辑/etc/sysconfig/dhcpd,添加DHCPDARGS参数: DHCPDARGS=eth0
启动并测试服务
配置完成后,启动DHCP服务并检查状态:
sudo systemctl restart iscdhcpserver # 或 dhcpd sudo systemctl status iscdhcpserver
在客户端设备上,通过ipconfig /renew(Windows)或dhclient eth0(Linux)请求IP地址,使用ipconfig /all(Windows)或ip a(Linux)验证是否成功获取配置。
常见配置问题排查
- 地址池耗尽:若range设置的IP不足,需扩大范围或调整静态分配地址。
- 服务未启动:检查防火墙规则(如ufw或firewalld)是否阻止UDP 67端口(DHCP服务端口)。
- 配置语法错误:使用sudo dhcpd t(Debian/Ubuntu)或sudo dhcpd t(RHEL/CentOS)检查配置文件语法。
配置文件参数速查表
| 参数 | 说明 | 示例 |
|---|---|---|
| subnet | 定义网段 | subnet 192.168.1.0 netmask 255.255.255.0 { ... } |
| range | 可分配IP范围 | range 192.168.1.100 192.168.1.200; |
| option routers | 默认网关 | option routers 192.168.1.1; |
| option domainnameservers | DNS服务器 | option domainnameservers 8.8.8.8; |
| hardware ethernet | 设备MAC地址 | hardware ethernet 00:1A:2B:3C:4D:5E; |
| fixedaddress | 静态IP | fixedaddress 192.168.1.50; |
| defaultleasetime | 默认租约(秒) | defaultleasetime 600; |
相关问答FAQs
Q1: 如何查看DHCP服务器已分配的租约信息?
A1: 可通过查看DHCP租约文件获取信息,在Debian/Ubuntu中,文件路径为/var/lib/dhcp/dhcpd.leases;在RHEL/CentOS中为/var/lib/dhcpd/dhcpd.leases,使用命令cat /var/lib/dhcp/dhcpd.leases查看,其中包含客户端MAC地址、分配的IP、租约开始/结束时间等。
Q2: 客户端无法获取IP地址,如何排查?
A2: 首先检查服务状态(systemctl status iscdhcpserver),确认服务正常运行,使用tail f /var/log/syslog(Debian/Ubuntu)或tail f /var/log/messages(RHEL/CentOS)查看DHCP服务日志,定位错误信息(如地址池耗尽、接口未绑定等),检查客户端是否启用了DHCP服务,以及网络连接是否正常。