在Linux系统中配置DHCP服务器分配IP地址的步骤如下:
1. 安装DHCP服务器软件
主流Linux发行版通常使用ISC DHCP Server或较新的`dnsmasq`。以ISC DHCP为例,在Debian/Ubuntu中运行`apt install isc-dhcp-server`,CentOS/RHEL则使用`yum install dhcp`。
2. 编辑主配置文件
配置文件通常为`/etc/dhcp/dhcpd.conf`。需定义子网、地址池、网关、DNS等参数:
plaintext
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;
}
3. 指定网络接口
在`/etc/default/isc-dhcp-server`中设置的网卡(如`INTERFACESv4="eth0"`)。
4. 高级配置项
- 静态IP分配:通过MAC地址绑定固定IP(`host client1 { hardware ethernet xx:xx:xx:xx; fixed-address 192.168.1.50; }`)
- 租约时间:调整`default-lease-time`和`max-lease-time`(单位秒)
- 动态DNS更新:集成DNS服务器实现主机名自动注册
5. 启动服务与排错
使用`systemctl start isc-dhcp-server`启动服务,`journalctl -u isc-dhcp-server`查看日志。可通过`dhcpd -t`测试配置文件语法。
扩展知识:
DHCP协议基于UDP 67(服务器)和68(客户端)端口,采用DORA(Discover-Offer-Request-Acknowledge)流程分配地址。
在生产环境中建议配置DHCP冗余(如ISC DHCP的failover协议或部署多个服务器拆分地址池)。
IPv6环境下需使用DHCPv6或结合SLAAC(无状态地址自动配置)。
防火墙需放行UDP 67端口(`iptables -A INPUT -p udp --dport 67 -j ACCEPT`)。若客户端未获取IP,可检查网络连通性、地址池耗尽或ARP冲突问题。