Ubuntu DHCP修改配置文件步骤(以ISC DHCP Server为例)
修改配置文件前,务必备份原始文件以避免配置错误导致服务中断:
sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak
使用文本编辑器(如nano或vim)打开DHCP核心配置文件:
sudo nano /etc/dhcp/dhcpd.conf
配置文件主要包含全局选项(适用于所有子网)和子网声明(定义具体IP分配规则)两部分:
option domain-name "example.com"; # 默认域名
option domain-name-servers 8.8.8.8, 8.8.4.4; # DNS服务器地址
subnet 192.168.1.0 netmask 255.255.255.0 { # 子网地址及掩码
range 192.168.1.10 192.168.1.100; # 可分配IP地址池
option routers 192.168.1.1; # 默认网关
option subnet-mask 255.255.255.0; # 子网掩码
option broadcast-address 192.168.1.255; # 广播地址
default-lease-time 600; # 默认租约时间(秒)
max-lease-time 7200; # 最大租约时间(秒)
}
编辑/etc/default/isc-dhcp-server文件,指定DHCP服务器监听的网络接口(避免监听所有接口导致安全问题):
sudo nano /etc/default/isc-dhcp-server
找到INTERFACESv4行,修改为你的网络接口名称(可通过ip a命令查看):
INTERFACESv4="eth0" # 若有多个接口,用空格分隔,如"eth0 eth1"
修改完成后,使用以下命令检查配置文件是否有语法错误(务必执行,否则服务无法启动):
sudo dhcpd -t
若输出Syntax is ok,则表示配置正确;若有错误,需根据提示修改对应内容。
通过以下命令重启服务以应用更改:
sudo systemctl restart isc-dhcp-server
sudo systemctl status isc-dhcp-server
若显示active (running),则表示服务已正常启动。sudo dhcp-lease-list
sudo tail -f /var/log/syslog | grep dhcpd
若系统启用了ufw防火墙,需允许DHCP流量(UDP端口67/68):
sudo ufw allow 67/udp
sudo ufw allow 68/udp
dnsmasq作为DHCP服务器,配置文件路径为/etc/dnsmasq.conf,修改后需重启dnsmasq服务(sudo systemctl restart dnsmasq)。