FRITZ!Box 静态路由:指向 VPN 网关的 LAN IP
FRITZ!Box 需要远程前缀和 VPN 盒子的 LAN 地址,而不是隧道地址。把三个字段和回程路径都设对。
你家的 LAN 以 FRITZ!Box 作为默认路由器,旁边一台小 Linux 盒子承担 VPN。这台盒子能访问办公网,而 FRITZ!Box 后面的笔记本不能。一条静态路由用三个字段就能解决,唯一真正的难点是不要在网关字段里填隧道地址。网关始终是自己 LAN 里的下一跳路由器,从来如此。
打开界面之前先把三个字段写下来
假设 LAN 是 192.168.50.0/24,FRITZ!Box 在 192.168.50.1,VPN 盒子的固定地址是 192.168.50.2,它已经有一条可用的受保护路径通往 10.40.0.0/16。路由的含义是:去往那个远程前缀的包交给固定 LAN 地址上的设备。远程 VPN 服务器的公网端点及其内部隧道地址在这里都不相关,因为 FRITZ!Box 从不直接向它们发送任何东西。
| 字段 | 值 | 它表示什么 |
|---|---|---|
| IPv4 网络 | 10.40.0.0 | 远程目标网络 |
| 子网掩码 | 255.255.0.0 | 该目标有多大 |
| 网关 | 192.168.50.2 | 家庭 LAN 里的下一跳路由器 |
把该 LAN 地址保留在 DHCP 池之外,否则你配置的网关总有一天会属于某部手机。
FRITZ!Box 把路由放在哪里
FRITZ! 在家庭网络、网络、网络设置下打开 IPv4 路由控制,具体标签与层级取决于型号和 FRITZ!OS 版本。如果路由表被隐藏,请启用扩展视图,用上面的值添加一条记录并应用。值得看一眼你自己型号的说明书,因为同一功能在版本之间不止一次搬过位置。留意你保存的那条记录的确切措辞,因为表里的记录很少会告诉你它来自哪个界面。
这与 FRITZ!Box 自己终止 VPN 不是同一个功能。路由指向另一台设备;内置 VPN 才是那台设备。
网关必须路由,而不只是可达
能访问远程网络的主机并不会自动成为其余 LAN 的路由器。VPN 盒子需要开启 IP 转发、一条允许在 LAN 接口与隧道之间转发的防火墙策略,以及一条把回应送回 LAN 而不是从自己的默认路径发出的路由。只开转发却忘了防火墙规则是最常见的半截修法,从客户端看就像路由故障。
从 FRITZ!Box 一侧 ping VPN 盒子的 LAN 地址,然后从客户端 traceroute 到远程地址,确认第二跳就是那台盒子。
回程路径与重叠网段
远端需要一条通往 192.168.50.0/24 的回程路由,走隧道返回——除非你在 VPN 盒子上有意做源地址转换。保留和转换是两种不同的策略,日志不同,访问规则也不同,而你刚加的静态路由并不在两者之间做选择。重叠网段是更难的问题:如果本地 LAN 与远程网络共用同一前缀,一条主机路由无法区分它们,地址规划必须改。
在 LAN 的其他地方再加一条更具体的路由,或者在笔记本上再装一个 VPN 客户端,都会悄悄压过 FRITZ!Box 里的记录。
先用普通客户端测试,再测试故障
请从 LAN 上一台普通的授权机器测试,而不是从 VPN 盒子,因为盒子本来就在工作,证明不了什么。访问一个远程服务并检查回应,然后确认无关的互联网目标仍然走默认路由、没有被拖进隧道。为了一条子网而替换默认路由,比你最初那三个字段的改动大得多。
最后断开 VPN,看看会发生什么。网关失去受保护路径之后,静态路由仍然留在表中,所以流量在盒子上失败,而不是回落到互联网;任何要阻断回落流量的要求都属于盒子自己的策略,而不属于一条保存的路由。