A 区域:网关是 192.168.1.1/24 opewnrt ,有公网 ip 。Unraid 位于 NAT 后,192.168.1.99/24 ,在 Unraid 中使用 Docker 运行 Wireguard Easy ,然后用网关的端口转发暴露 Docker Wireguard 的 UDP 端口到公网。
现在将 A 区域 NAT 后的 Wireguard 当作中转节点,手机虚拟网卡地址 10.0.8.5/24 ,连上隧道后,可以访问 A 区 192.168.1.0/24 子网设备。
B 区域:网关 192.168.2.1/24 ,无公网 ip 。同样有一台位于 NAT 后的 Unraid ,192.168.2.99/24 ,虚拟网卡地址 10.0.8.11/24 。
使用 B 中的 Unraid 自带的 VPN 管理器中的 Wireguard 隧道功能配置连接上 A 区的中转服务器后,手机则可以通过 10.0.8.11/24 访问 B 中的 Unraid 。但是无法通过 192.168.2.99 或 192.168.2.1 访问子网设备。
A 、B 区 Unraid 的 /etc/sysctl.conf 都默认配置了 ip 转发的,即 net.ipv4.ip_forward = 1 。
现在的问题是,手机连上隧道后,如何访问 192.168.2.0/24 子网的设备?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://v2ex.xtra.eu.org/t/948867
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.