我无法通过 WireGuard VPN 连接到 Gitea,但 NGINX 可以工作。我也可以在没有 WireGuard 的情况下进行连接。
设置:
Gitea 在具有桥接适配器网络的 Windows 托管 Oracle VM VirtualBox 上的 Alpine Linux 上的 Docker 中运行。
WireGuard 配置为中心辐射型拓扑
Alpine Linux 的 WireGuard IP 是10.10.0.5
。Oracle VM VirtualBox 中 Alpine Linux 的 IP 是192.168.10.5
。
Gitea 有 http 端口 3000。
问题:
尝试时http://10.10.0.5:3000
,没有报错;页面上不显示任何内容,它只是永远加载或 wget 说Connecting to 10.10.0.5:3000 (10.10.0.5:3000)
并永远挂起。
http://192.168.10.5:3000
工作正常。
这同样适用于所有 WireGuard 节点,但 Gitea 除外。在该节点上http://10.10.0.5:3000
也可以工作。
笔记:
NGINX 在 Docker 中的同一个 Alpine Linux 上运行,端口为8080
,并且两者都http://10.10.0.5:8080
可以http://192.168.10.5:8080
工作。
此外,类似的设置:Alpine Linux 中的 Docker 中的 Gitea 以及在 VPS 上运行的 WireGuard 也可以正常工作。
网络拓扑结构
涉及三个系统:
- Alpine Linux 带有在具有静态 IP ( ) 的 VPS 上运行的 WireGuard 服务器
13x.xxx.xxx.0
。其 WireGuard IP 地址是10.10.0.1
。 - Windows,通过本地 Internet 提供商的路由器连接到 Internet。它充当 WireGuard 客户端。其 WireGuard IP 地址为
10.10.0.4
,本地 IP 地址为192.168.10.4
。 - Alpine Linux 运行在托管于上述 Windows 上的 VirtualBox 中。此 Alpine 实例还作为 WireGuard 客户端运行。其 WireGuard IP 地址为
10.10.0.5
,本地 IP 地址为192.168.10.5
。
Wireguard网络是10.10.0.0
并且它是wg0
接口。
本地网络是192.168.10.0
VirtualBox eth0
Alpine 中的接口,Windows 连接到它。WireGuard 服务器未连接到本地网络,因为它在云 VPS 中运行并拥有自己的静态 IP 地址。
路由表
VirtualBox 中 Alpine 上的内核 IP 路由表 (netstat -rn)
目的地 | 网关 | 基因面膜 | 旗帜 | MSS窗口 | IRTT | 我面对 |
---|---|---|---|---|---|---|
0.0.0.0 | 192.168.10.1 | 0.0.0.0 | UG | 0 0 | 0 | 以太网0 |
10.10.0.0 | 0.0.0.0 | 255.255.255.0 | U | 0 0 | 0 | 工作组0 |
172.17.0.0 | 0.0.0.0 | 255.255.0.0 | U | 0 0 | 0 | 码头工人0 |
192.168.10.0 | 0.0.0.0 | 255.255.255.0 | U | 0 0 | 0 | 以太网0 |
在 VPS 中运行的 WireGuard 服务器上的内核 IP 路由表 (netstat -rn)
目的地 | 网关 | 基因面膜 | 旗帜 | MSS窗口 | IRTT | 我面对 |
---|---|---|---|---|---|---|
0.0.0.0 | 13x.xxx.xxx.0 | 0.0.0.0 | UG | 0 0 | 0 | 以太网0 |
10.10.0.0 | 0.0.0.0 | 255.255.255.0 | U | 0 0 | 0 | 工作组0 |
13x.xxx.xxx.0 | 0.0.0.0 | 255.255.255.0 | U | 0 0 | 0 | 以太网0 |
问题:
这里可能有什么问题?我应该使用什么工具来调试这个?