Nginx
通過 VPS 連接到wireguard peer
我目前的 Wireguard 設置有一個連接到不同本地網路上的兩個設備的 VPS。每個家庭網路設備都使用 Wireguard 連接到 VPS,但未配置為接受彼此的連接(它們尚未在彼此的配置文件中添加為對等點)。
我想使用類似於反向代理伺服器的 VPS,以便家庭設備 1 可以連接到 VPS 並將其流量路由到家庭設備 2,而無需配置兩個家庭設備之間的直接連接(本質上是輪輻模型)。有沒有辦法以這種方式路由流量?
目前家庭網路設備配置文件:
[Interface] Address = 10.0.0.2/8 SaveConfig = true ListenPort = 53910 FwMark = 0xca6c PrivateKey = <privkey> [Peer] PublicKey = <pubkey> AllowedIPs = 10.0.0.1/32 Endpoint = <IP address>
伺服器配置文件:
[Interface] Address = 10.0.0.1/8 SaveConfig = true PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ListenPort = 51820 PrivateKey = <privkey> [Peer] PublicKey = <pubkey> AllowedIPs = 10.0.0.2/32 Endpoint = <IP of home network device 1> [Peer] PublicKey = <pubkey> AllowedIPs = 10.0.0.3/32 Endpoint = <IP of home network device 2>
在這些目前規則下,如果我嘗試從設備 1 對設備 2 執行 ping 操作,我會收到此錯誤消息(這似乎表明對等方彼此了解,但配置不正確?)
user@device1:~/wireguard$ ping 10.0.0.3 PING 10.0.0.3 (10.0.0.3) 56(84) bytes of data. From 10.0.0.2 icmp_seq=1 Destination Host Unreachable ping: sendmsg: Required key not available
謝謝!
更新您客戶端的 WireGuard
AllowedIPs
設置,以包括您希望每個客戶端通過其與 VPS 的 WireGuard 連接訪問的其他設備的 IP 地址。例如,像這樣允許設備 1 使用 WireGuard 僅連接到設備 2:[Interface] Address = 10.0.0.2/8 ... [Peer] PublicKey = <VPS pubkey> AllowedIPs = 10.0.0.3/32 ...
或者像這樣允許設備 1 通過 WireGuard 連接到設備 2 以及 VPS 本身:
[Interface] Address = 10.0.0.2/8 ... [Peer] PublicKey = <VPS pubkey> AllowedIPs = 10.0.0.1/32, 10.0.0.3/32 ...
或者像這樣允許設備 1 使用 WireGuard 連接來連接到
10.0.0.0/8
塊中的任何主機:[Interface] Address = 10.0.0.2/8 ... [Peer] PublicKey = <VPS pubkey> AllowedIPs = 10.0.0.0/8 ...
有關完整範例,請參閱此WireGuard hub-and-spoke 指南。