Wireguard 对等通信如何工作?

Wireguard 对等通信如何工作?

我在 VPS 中设置了 wireguard 以绕过 CGNAT。我的 pfSense 路由器作为对等点连接到它,然后我将我的手机作为 VPS 的对等点。这是因为如果没有端点,我无法在 pfSense 中添加它。

这有效,我甚至可以从手机上使用本地 DNS 查找……但它是否因为“配置错误”而有效?我只想确保这是一个有效的 wireguard 设置,我可以稍后在必要时重新创建它。以下是更多详细信息

虚拟专用服务器

[Interface]
Address = 10.1.0.1/24
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -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; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
ListenPort = 51820
PrivateKey = <private-key>
DNS = 192.168.1.100

[Peer]
PublicKey = <pfsense>
AllowedIPs = 192.168.1.100/32, 10.1.0.0/24, 192.168.33.0/24
PersistentKeepalive = 25

[Peer]
PublicKey = <iphone>
AllowedIPs = 10.1.0.0/24

然后,pfSense 有一个静态隧道(即未选中“动态端点”)连接到 VPS 地址并AllowedIPs设置为整个10.1.0.0/24网络(这就是我认为一切正常的原因,它允许网络上的任何 IP……但为什么它不必明确?)

我的手机与 pfSense 相同,只是它也允许192.168.33.0/24并具有与 VPS 相同的 DNS。

我猜它看起来像这样

        VPS
     |      |
pfSense -- phone

但我预计,如果没有 pfSense 将我的手机作为对等体,它将被设置为

        VPS
     |      |
pfSense    phone

pfSense并且和之间的通信phone因缺少同伴而被阻止。

我的猜测是,wireguard 允许通信,phone <-> VPS <-> pfSense因为pfSense它配置为允许整个网络。

对吗?我只是想确保,如果我必须再次进行设置,比如说我使用的是 VM 而不是 pfSense,我可以重新创建我的配置,然后一切都会恢复正常。

相关内容