家里的路由器坏了,临时拿一台旧设备顶上,却发现不会自动分配IP地址?别急着叫人上门,用命令行配置DHCP其实没那么难。很多家庭网络中的问题,比如手机连上Wi-Fi却显示“无网络”,或者电脑获取不到IP,往往就是DHCP服务没配好。
什么是DHCP,它为啥重要
DHCP(动态主机配置协议)就像小区物业给新住户分配门牌号。你家的手机、平板、电视连上网,都得靠它自动拿到IP地址,不然大家挤在一起,谁也上不了网。大多数家用路由器默认开启DHCP,但如果你用的是软路由、树莓派,或者刷了OpenWrt的设备,就得手动设置。
在Linux系统中启用DHCP服务
假设你用一台旧电脑装了Ubuntu做家庭网关,想让它来分配IP。先安装常用的DHCP服务器软件isc-dhcp-server:
sudo apt update
sudo apt install isc-dhcp-server
接着编辑配置文件,告诉它怎么分IP:
sudo nano /etc/dhcp/dhcpd.conf
把下面这段写进去,适配你家的网络环境:
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, 114.114.114.114;
default-lease-time 600;
max-lease-time 7200;
}
这里的192.168.1.0是你家网络的段,range是能分配的IP范围,routers是网关地址,一般就是你的路由器IP,domain-name-servers是DNS,用谷歌或国内公共DNS都行。
启动服务,让它跑起来
改完配置,记得告诉系统走哪个网卡:
sudo nano /etc/default/isc-dhcp-server
在INTERFACESv4=""里填上网卡名,比如eth0或wlan0:
INTERFACESv4="eth0"
最后启动服务:
sudo systemctl start isc-dhcp-server
sudo systemctl enable isc-dhcp-server
这时候再拿手机连一下,应该就能正常上网了。如果还不行,检查下是不是IP冲突,或者防火墙挡住了。
OpenWrt这类系统怎么配
很多人家里用的不是普通路由器,而是刷了OpenWrt的设备。这种系统虽然界面友好,但有时候还是得进命令行。SSH登录后,直接改网络配置文件:
vi /etc/config/dhcp
找到dhcp lan那段,确保有这么几行:
list dhcp_option '3,192.168.1.1'
option start '100'
option limit '150'
option leasetime '12h'
start是起始IP,limit是最多分配多少个,leasetime是租期。改完重启DHCP服务:
/etc/init.d/dnsmasq restart
因为OpenWrt用dnsmasq同时处理DNS和DHCP,所以重启这个就行。
这些操作看起来有点技术味,其实就跟设置洗衣机模式差不多——知道每个按钮是干啥的,按步骤来,家里的网络也能自己掌控。下次路由器出点小毛病,先别急着换,试试自己动手调一调。