我在 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,我可以重新创建我的配置,然后一切都会恢复正常。