提升局域网效率的自动化网络配置方案:从 DHCP 到 DNS 一步到位

在搭建局域网时,我们常常面临 IP 冲突、设备识别困难、远程访问不畅等问题。为了让家里的网络“更聪明”,我尝试用一套简单的自动化方案,把 DHCP 和 DNS 管理都统一了,不仅节省了配置时间,还大大提升了使用体验。

1. 场景背景

我的家庭网络设备比较多,有 NAS、打印机、开发板,偶尔还会在外用 VPN 连接回家里调试。以前每次改设备,IP 地址变了就要重新找,好麻烦。

于是我给自己设了个统一规则,所有设备用 .letsvpn.local 做域名后缀(比如 nas.letsvpn.localprinter.letsvpn.local),再通过 DHCP 固定 IP,配合 dnsmasq 自动解析,就再也不用手动输 IP 了。

2. DHCP 静态绑定配置

我用的是 isc-dhcp-server,在 /etc/dhcp/dhcpd.conf 里添加了每台设备的 MAC 和固定 IP:

subnet 192.168.100.0 netmask 255.255.255.0 {
  range 192.168.100.100 192.168.100.200;
  option routers 192.168.100.1;
  option domain-name-servers 192.168.100.1;

  host nas {
    hardware ethernet 00:11:22:33:44:55;
    fixed-address 192.168.100.88;
    option host-name "nas.letsvpn.local";
  }

  host dev-pc {
    hardware ethernet 00:11:22:33:44:66;
    fixed-address 192.168.100.66;
    option host-name "dev.letsvpn.local";
  }
}

配置完毕后,重启服务:

systemctl restart isc-dhcp-server

3. DNS 自动映射(基于 dnsmasq)

很多人配置完 DHCP 之后,还是只能靠 IP 找设备。其实只要补一个 DNS,就能用“名字”访问设备。

👉 举个例子,我给家里的开发板设了 dev.letsvpn.local,NAS 叫 nas.letsvpn.local,如下:

配置 /etc/dnsmasq.hosts

192.168.100.88 nas.letsvpn.local
192.168.100.66 dev.letsvpn.local
192.168.100.77 printer.letsvpn.local

主配置文件 /etc/dnsmasq.conf

interface=eth0
listen-address=127.0.0.1,192.168.100.1
addn-hosts=/etc/dnsmasq.hosts
domain=letsvpn.local

重启 DNS 服务:

systemctl restart dnsmasq

现在,任意设备连上这个局域网后,可以直接访问:

ssh pi@nas.letsvpn.local
ping printer.letsvpn.local

是不是比背 IP 舒服多了?

4. 自动化部署脚本

我还写了一个小脚本,可以一键更新 DNS 主机映射并重启服务:

#!/bin/bash
cat <<EOF > /etc/dnsmasq.hosts
192.168.100.88 nas.letsvpn.local
192.168.100.66 dev.letsvpn.local
192.168.100.77 printer.letsvpn.local
EOF

systemctl restart dnsmasq
echo "✅ DNS 重启完成"

5. 配合 VPN 远程访问

假如你像我一样,在外用 VPN(例如 WireGuard)连家里设备,只要 VPN 连接配置中加上局域网 DNS,就可以继续使用 .letsvpn.local 这些域名来访问设备。

WireGuard 示例配置(客户端):

[Interface]
PrivateKey = ...

[Peer]
PublicKey = ...
AllowedIPs = 192.168.100.0/24
Endpoint = yourhome.domain.com:51820
DNS = 192.168.100.1

这样配置完后,即便在咖啡馆连上 VPN,我也可以直接:

rsync -avz ~/project pi@dev.letsvpn.local:/home/pi/

6. Wi-Fi 命名建议(SSID)

为了保持一致性,我的路由器也用了类似命名:

  • 主网络:letsvpn-home
  • 访客网络:letsvpn-guest

访客网络启用了 VLAN 隔离,不能访问 192.168.100.x 网段,避免外人访问我的 NAS。

总结

这一套方案已经陪我跑了快两年,稳定、易维护,非常适合需要长期使用本地开发设备或远程访问的人群。

✅ 核心优点:

  • 统一的设备命名:.letsvpn.local
  • DHCP 分配静态 IP,避免冲突
  • 本地 DNS 解析,提高访问效率
  • 与 VPN 联动,实现远程内网访问
  • 脚本自动部署,便于管理更新

如果你也正在搭建自己的小型局域网,可以试试这种轻量级的自动化方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值