家庭网络与路由笔记
家里的网络设备多了以后,一台主路由往往不够用。这篇整理一下我自己在规划家庭网络时 的一些考虑,以及排查问题时的常用手段。
网段规划
划分网段时最容易踩的坑是范围重叠。比如主路由用 192.168.1.0/24,
另一台设备也默认用同一个网段,接上之后两边都不正常。所以动手之前先把每个网段
记下来,确认互不重叠。
另外要注意掩码。10.0.0.0/22 覆盖的是 10.0.0.0 到
10.0.3.255,如果另一台设备用了 10.0.1.0/24,
它其实落在前者范围内,这类重叠不看掩码是发现不了的。
DNS 的解析顺序
客户端拿到的 DNS 服务器不一定是你以为的那个。DHCP 下发的地址、系统静态配置的地址、 以及 IPv6 路由通告里的 RDNSS 选项,三者可能同时存在,优先级由操作系统决定。
在 macOS 上可以用下面的命令看实际生效的解析器:
scutil --dns | grep nameserver
Linux 上则看 /etc/resolv.conf,但如果系统用了 systemd-resolved,
这个文件可能只是一个指向本地 stub 的软链接,真实上游要用
resolvectl status 查看。
旁路由的常见问题
把一台设备作为旁路由时,它和真正的出口网关处在同一个二层网络里。这种拓扑下有个 容易忽略的细节:内核发现「要转发给同网段的另一台设备」时,会发送 ICMP 重定向, 让客户端下次直接找那台设备,从而绕过旁路由。
判断方法是看路由缓存里有没有 redirect 标记:
ip route get 8.8.8.8 from 192.168.1.100 iif br-lan
如果输出里带 cache <redirect>,就是这个原因。关闭方式:
sysctl -w net.ipv4.conf.all.send_redirects=0
排查顺序
遇到「某台设备上不了网」时,我一般按这个顺序走:先确认它拿到的 IP 和网关对不对, 再看能不能 ping 通网关,然后测 DNS 解析,最后才测具体的网站。这样能快速定位是 二层、三层、解析还是应用层的问题,避免一开始就陷入细节。
另外提醒一点,ping 不通不一定代表网络有问题。很多云服务商的网关和
部分公网地址默认不响应 ICMP,用 TCP 连通性测试更可靠。