路由器的管理页面从沙发上两秒就能打开,从酒店房间却超时,而 VPN 客户端始终报告已连接。你拥有的是一条出去的路,而不是回来的路:隧道把你的流量送到互联网,就停在那里。要访问自己局域网里的设备,需要一个终止在具备回程路由的设备上的会话。这是设计决策而非设置项,它决定了后面的工作是否可能。

这个区别容易被忽略,因为同一个产品可以兼顾两件事。商业出口客户端和远程访问服务器可以在同一端口上使用同一协议,区别在于谁拥有端点之后的地址空间。

隧道的哪一端拥有局域网

用于管理时,端点必须位于你想访问的网络内部,或者拥有一条被授权进入该网络的路径。运行自带 VPN 服务器的路由器符合条件;一台固定地址、有到局域网路由的小型常开主机也符合。第三方运营的出口服务不符合,因为它的端点在你的局域网上没有接口,也没有任何规则能让接口出现。这是动手前必须先完成的判断。

固件很少标注这一区别,所以要读功能做什么,而不是它声称什么协议。WireGuard、OpenVPN 和 IKEv2 在市场的两侧都出现:一种构建把家庭流量送出去,另一种接受你的远程设备。仅客户端构建无法通过配置变成服务器,菜单怎么写都一样。

让回程路由存在

路由器上的 WireGuard 服务器有类似 10.8.0.1/24 的接口地址,以及一条针对笔记本的对端记录。客户端决定把哪些目标送进隧道,而只包含隧道子网的列表会让局域网不可见,无论服务器怎么配置。两端必须一致,而通常只有一端会被编辑。

wg show wg0 allowed-ips
ip route get 192.168.1.1

第一条命令从服务器视角报告每个对端被允许发送什么;第二条报告局域网地址在客户端上实际会走向哪里。解析到隧道接口的局域网目标就是有效的路由,而走物理网关出去的永远不会到达,防火墙怎么说都一样。把局域网前缀加入客户端的允许列表,同样这两条命令就从诊断变成验证步骤。

IPsec 网关的同一跳由 strongSwan 的转发文档 描述,其中转发和一条源地址转换规则把隧道客户端连到内部主机。地址方案不同,要求相同。

谁能打开管理页面

访问控制属于路由器,而不属于“小心一点”的意愿。只允许需要该页面的已认证隧道身份或源地址段,并同时阅读路由器自身的输入链和任何转发到局域网的策略。允许有线局域网访问管理页面的规则,对从隧道接口进来的客户端只字未提。为特定身份写例外,然后保留一个应当被拒绝的第二身份。

监听端是另一半,而且它在防火墙输出里看不见。ss -ltnp 显示 Web 服务器绑定在哪个地址,只绑定局域网地址的服务不会在隧道地址上应答,规则再宽松也一样。重新绑定或增加地址是路由器上的配置改动,而不是防火墙改动。

在同一轮里同时开启身份验证和传输校验。可达不等于可信,隧道里的每台设备并不会因此成为管理员。隧道凭据和路由器账户是两套独立权限、各自独立生命周期,所以丢失的笔记本可以吊销密钥,而不必重置每个管理员的密码。

从外部测试,而不是从沙发上测

从你无法控制的网络测试。通过已批准的隧道连接,打开一个新的管理会话,改动一些你能在页面上看到反映的无害内容。在沙发上你只证明了局域网能用,而这从来不是疑问。

然后用同样的细心测试拒绝。不带隧道尝试打开页面并确认失败,再确认管理服务根本没有在 WAN 地址上监听。仅仅没有链接的页面不是访问控制,而显示登录表单的 WAN 监听端仍然是 WAN 监听端。如果密码是互联网和路由器控制台之间唯一的东西,那么设计就是一个密码。

家里的服务也值得顺带看一眼。收紧管理规则常常弄坏访客网络或家人设备使用的解析器,而这会在几天后以看似无关的抱怨出现。

改动时保留一条退路

在远程修改路由或隧道设置之前,准备一条独立的退路。已有会话可能扛过那个已经阻断新连接的改动,人们正是这样一边盯着仍在工作的会话一边把自己锁在门外。选项很具体:定时重启到已知配置、控制台或物理接触、不依赖正在编辑的设置的第二条隧道,或者硬件支持时的带外管理。选一个,并在维护窗口之前而不是之中验证它。

记录要短且保持更新:哪台主机终止隧道、哪些身份能访问页面、服务绑定在哪个地址、丢失设备如何吊销。这份清单同时就是恢复计划,因为它说明每个依赖住在哪里。缺少回程路由是要修的路由问题,从来不是把管理发布到 WAN 上的理由。

相关文章