日常知识通
柔彩主题三 · 更轻盈的阅读体验

命令行配置DHCP,家里网络也能轻松搞定

发布时间:2025-12-16 23:57:21 阅读:243 次

家里的路由器坏了,临时拿一台旧设备顶上,却发现不会自动分配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,所以重启这个就行。

这些操作看起来有点技术味,其实就跟设置洗衣机模式差不多——知道每个按钮是干啥的,按步骤来,家里的网络也能自己掌控。下次路由器出点小毛病,先别急着换,试试自己动手调一调。