允许通过wireguard vpn访问内部地址

允许通过wireguard vpn访问内部地址

这个问题已经被问过几次了,我在 ChatGPT 上花了很多时间试图解决这个问题。

我有三台机器:

  • RP 0 具有 Wireguard VPN 和可通过 192.168.0.1 访问的 Fluidd 仪表板
  • 具有 Wireguard VPN 并想要访问 RP 仪表板的 Android 手机
  • centOS VPS 用作wireguard vpn。

方法很简单:

  • 使用 Wireguard 创建 VPN 服务器。
  • 将两个设备添加到服务器的conf中。
  • 将conf 添加到每个设备。
  • RP 应在其 conf 中允许电话的本地 VPN ip。
  • 将 localip:80 端口转发到 192.168.0.1

问题:

  • 电话无法访问仪表板,因为请求未重定向到 192.168.0.1。

信息:

  • 对 10.0.0.3、10.0.0.1 和 10.0.0.2 执行 Ping 操作正常。
  • 卷曲 RP 返回“TIMED_OUT”。
  • 服务器开启51820端口的访问。
  • 电话和 RP 都连接到服务器并进行握手并向下/向上传输数据。
  • RP 可以从设备内部访问其仪表板,我可以通过另一个 IP 地址在本地网络中访问它。

如果我误解了什么,请纠正我。

Server conf

[Interface]
Address = 10.0.0.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY

# Mobile Device Peer
[Peer]
PublicKey = MOBILE_PUBLIC_KEY
AllowedIPs = 10.0.0.3/32

# Raspberry Pi Peer
[Peer]
PublicKey = RP_PUBLIC_KEY
AllowedIPs = 10.0.0.2/32

RP conf

[Interface]
PrivateKey = RP_PRIVATE_KEY
Address = 10.0.0.2/24
DNS = 8.8.8.8

[Peer]
PublicKey = SERVER_PUB_KEY
AllowedIPs = 0.0.0.0/0, 10.0.0.3/32, 10.0.0.1/32
Endpoint = SERVER_IP:51820

Mobile conf

[界面]

PrivateKey = MOBILE_PRIVATE_KEY
Address = 10.0.0.3/24
DNS = 8.8.8.8

[Peer]
PublicKey = SERVER_PUB_KEY
AllowedIPs = 0.0.0.0/0
Endpoint = SERVER_IP:51820

我尝试通过以下方式在 RP 中添加端口转发

sudo iptables -t nat -A PREROUTING -i wg0 -p tcp --dport 80 -j DNAT --to-destination 127.0.0.1:80

但是,这没有用。任何帮助表示赞赏。我对这个话题的了解非常少。

答案1

嗯,这不是一个实际的答案。问题是我访问的是“https”而不是“http”。

我最终创建了一个反向代理。我必须"sudo tcpdump -i wg0-client打开 RP 并通过电话 ping RP,最后我解决了。

相关内容