![允许通过wireguard vpn访问内部地址](https://linux22.com/image/224803/%E5%85%81%E8%AE%B8%E9%80%9A%E8%BF%87wireguard%20vpn%E8%AE%BF%E9%97%AE%E5%86%85%E9%83%A8%E5%9C%B0%E5%9D%80.png)
这个问题已经被问过几次了,我在 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,最后我解决了。