我有一个程序“SillyTavern”,它使用 WebUI,本质上是一个 Web 服务器。我的第一个目标是让这个程序的 WebUI 可以通过我的智能手机从任何地方访问。我通过在路由器中设置端口转发规则来实现这一点,该规则将我的 PC 的私有 IP 链接到路由器的公共 IP([我的公共 IP]:7215 到 192.168.0.10:7215)。
我的下一个目标是找到一种方法来加密我的两个设备之间的流量。我找到的解决方案是 WireGuard,我的实现如下:
- 首先,我安装了 WireGuard,并根据 WireGuard 的快速入门指南在我的 PC 上进行了设置。wg0 的私有 IP 设置为 192.168.0.200/24,我的配置文件如下:
PrivateKey = [. . .]
ListenPort = 7215
[Peer]
PublicKey = [. . .]
PresharedKey = [. . .]
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 10
- 然后,我在智能手机上设置了WireGuard。配置如下:
Addresses = 192.168.0.201/24
DNS Servers = 8.8.8.8
Listen Port = 7215
MTU = "Auto"
Allowed IPs = 0.0.0.0/0
Persistent Keepalive = 10
- 最后,我将路由器中的端口转发规则更改为“[我的公共 IP]:7215 到 192.168.0.200:7215”。我在两台机器上都激活了 WireGuard,并尝试访问 Web 服务器:连接超时。
我所做的任何研究都没有给我任何提示,让我知道我哪里出了问题。我尝试将端口转发规则改回以前的样子,结果是一样的。如果我尝试仅在 PC 上运行 WireGuard 进行连接,我可以正常连接。提前感谢您提供的任何见解。
[更新于 08/18/24] 我在手机配置中的“端点”字段中添加了“[我的路由器的公共 IP]:7215”。这似乎完成了隧道,因为现在我的手机显示以下内容:
Transfer
rx: 440B, tx: 3.66KiB
Latest handshake
3 seconds ago
但是,当我尝试通过手机浏览器访问我的网络服务器时,仍然会出现连接超时的情况。