无法通过 Wireguard 连接本地对等点

无法通过 Wireguard 连接本地对等点

我有一个 IP 为 1.2.3.4 的在线服务器和位于不同位置的两台本地计算机。计算机 A 和计算机 B。

我已按照此处的说明设置 Wireguard:https://www.cyberciti.biz/faq/ubuntu-20-04-set-up-wireguard-vpn-server/

但是计算机 A 无法 ping 或连接到计算机 B。

我认为我需要,但是不知道如何在在线服务器上设置以在本地对等点之间进行通信。

怎么做?

本地对等体是 mac 和 ubuntu 桌面。

我的设置: 服务器:

[Interface]
Address = 192.168.6.1/24
ListenPort = 41194
PrivateKey = <key>


[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.2/32
PersistentKeepalive = 15

[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.3/32
PersistentKeepalive = 15

本地对等点 A:

[Interface]
PrivateKey = <key>
Address = 192.168.6.2/32

[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.1/32
Endpoint = 65.21.63.31:41194
PersistentKeepalive = 21

[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.3/32
PersistentKeepalive = 15

本地对等体 B:

[Interface]
PrivateKey = <key>
Address = 192.168.6.3/32

[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.1/32
Endpoint = 65.21.63.31:41194
PersistentKeepalive = 21

[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.2/32
PersistentKeepalive = 15

服务器可以与对等体 A 和对等体 B 通信,但是对等体 A 不能与对等体 B 通信。

答案1

您引用的教程似乎将您引向“中心辐射型”拓扑,其中对等点 A 和对等点 B 不直接相互连接 - 相反,它们的连接通过您的服务器路由。如果您想要这样做,则应从[Peer]对等点 A 和对等点 B 的配置文件中删除第二个条目,并将AllowedIPs其第一个[Peer]条目的设置更改为:

AllowedIPs = 192.168.6.0/24

您还需要确保在服务器上启用数据包转发。有几种不同的方法可以做到这一点,但使用 WireGuard 最简单的方法就是将以下PreUp命令添加到[Interface]服务器配置文件的部分:

PreUp = sysctl -w net.ipv4.ip_forward=1

但是,如果您想要将对等点 A 直接连接到对等点 B(即“点对点”),则需要为其中一个对等点设置静态公共 IP 地址。如果是这种情况,您需要在对等点 A 和对等点 B 的配置文件中保留第二个条目;并在其中一个文件的第二个条目中添加设置,并在另一个文件的条目中[Peer]添加设置。Endpoint[Peer]ListenPort[Interface]

例如,如果对等点 A 可以通过 Internet(或某些内部网络)在 198.51.100.123 上供对等点 B 访问,并且对等点 B 的新连接可以通过 UDP 端口 51820 访问,则将对[Peer]等点 B 的配置文件中的第二项更改为:

[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.2/32
Endpoint = 198.51.100.123:51820
PersistentKeepalive = 15

并将[Interface]对等体 A 的配置中的条目更改为:

[Interface]
PrivateKey = <key>
Address = 192.168.6.2/32
ListenPort = 51820

相关内容