在搭建局域网或管理服务器时,手动设置静态IP虽然稳定,但面对大量设备就显得麻烦。这时候启用DHCP服务,让设备自动获取IP地址,效率高得多。很多路由器自带DHCP功能,但在某些场景下,比如使用Linux服务器作为网络核心,就需要通过命令行来配置DHCP。
安装DHCP服务软件
以常见的Ubuntu/Debian系统为例,可以使用isc-dhcp-server这个软件包。打开终端,执行:
sudo apt update
sudo apt install isc-dhcp-server
CentOS或RHEL系列则用:
sudo yum install dhcp-server
配置DHCP主文件
安装完成后,主要配置文件位于 /etc/dhcp/dhcpd.conf。先备份原始文件:
sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak
编辑配置文件:
sudo nano /etc/dhcp/dhcpd.conf
清空内容或注释掉原有配置,加入以下基本设置:
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8, 8.8.4.4;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option broadcast-address 192.168.1.255;
}
这里定义了子网范围、可分配的IP区间、网关和DNS服务器。根据实际网络环境调整IP段和网关地址。
指定监听网卡
在Ubuntu上,还需要告诉DHCP服务监听哪个网卡。编辑:
sudo nano /etc/default/isc-dhcp-server
找到 INTERFACESv4 行,修改为:
INTERFACESv4="eth0"
如果你的网卡是 enp3s0 或其他名称,用 ip a 命令查看后替换即可。
启动并测试服务
配置完成后,启动服务:
sudo systemctl start isc-dhcp-server
设为开机自启:
sudo systemctl enable isc-dhcp-server
如果启动失败,查看日志:
sudo journalctl -u isc-dhcp-server
常见问题包括配置语法错误、端口被占用或网卡名写错。
客户端验证
拿一台手机或电脑连入同一网络,查看是否自动获取到了IP。也可以在另一台Linux设备上运行:
sudo dhclient -v eth0
看到获取到IP地址,并能正常上网,说明DHCP服务运行正常。
命令行配置DHCP看起来有点门槛,但只要一步步来,几分钟就能搞定。特别是在没有图形界面的服务器环境中,这是必须掌握的技能。