Использование wireguard для соединения 2 хостов через шлюз - PullRequest
0 голосов
/ 22 мая 2019

У меня есть 3 сервера VPS с публичными IP-адресами, назовем их wireguard1, wireguard2 и wireguard3.

Мне успешно удалось соединить wireguard1 и wireguard2, используя следующее руководство по DigitalOcean .После этого мне удалось успешно подключить wireguard1 и wireguard3.

Файлы конфигурации выглядят так:

На wireguard1:

[Interface]
Address = 10.0.0.1/24
SaveConfig = true
ListenPort = 5555
PrivateKey = <wireguard1 private key>

[Peer]
PublicKey = <wireguard2 public key>
AllowedIPs = 10.0.0.2/32
Endpoint = <wireguard2 public ip address>:5555

[Peer]
PublicKey = <wireguard3 public key>
AllowedIPs = 10.0.0.3/32
Endpoint = <wireguard3 public ip address>:5555

На wireguard2:

[Interface]
Address = 10.0.0.2/24
SaveConfig = true
ListenPort = 5555
PrivateKey = <wireguard2 private key>

[Peer]
PublicKey = <wireguard1 public key>
AllowedIPs = 10.0.0.0/24
Endpoint = <wireguard1 public ip address>:5555

На wireguard3:

[Interface]
Address = 10.0.0.3/24
SaveConfig = true
ListenPort = 5555
PrivateKey = <wireguard3 private key>

[Peer]
PublicKey = <wireguard1 public key>
AllowedIPs = 10.0.0.0/24
Endpoint = <wireguard1 public ip address>:5555

Я могу пропинговать wireguard1 (10.0.0.1) из wireguard2 (10.0.0.2) и наоборот, чтобы все работало нормально.Я могу пропинговать wireguard1 (10.0.0.1) из wireguard3 (10.0.0.3) и наоборот, чтобы все работало нормально.

Однако я не могу пропинговать wireguard2 (10.0.0.2) из ​​wireguard3 (10.0.0.3)или наоборот.Я действительно мог бы в разделе [Peer] в wireguard2 ссылаться на wireguard3, но я хотел бы найти решение, где весь трафик проходит через wireguard1.

Я думал, что установка AllowedIP в 10.0.0.0/24 сделаетТрюк, но, похоже, не работает.

У кого-нибудь есть рабочее решение?

1 Ответ

0 голосов
/ 27 июня 2019

У меня была такая же проблема некоторое время. Похоже, вам нужно, чтобы у всех пиров были открытые ключи всех других клиентов, чтобы это работало. Однако я не уверен, нужны ли им всем конечные точки или нет. Для вашей конфигурации это будет выглядеть примерно так:

On wireguard1:

[Interface]
Address = 10.0.0.1/24
SaveConfig = true
ListenPort = 5555
PrivateKey = <wireguard1 private key>

[Peer]
PublicKey = <wireguard2 public key>
AllowedIPs = 10.0.0.2/32
Endpoint = <wireguard2 public ip address>:5555

[Peer]
PublicKey = <wireguard3 public key>
AllowedIPs = 10.0.0.3/32
Endpoint = <wireguard3 public ip address>:5555

На проводе2:

[Interface]
Address = 10.0.0.2/24
SaveConfig = true
ListenPort = 5555
PrivateKey = <wireguard2 private key>

[Peer]
PublicKey = <wireguard1 public key>
AllowedIPs = 10.0.0.1/32
Endpoint = <wireguard1 public ip address>:5555

[Peer]
PublicKey = <wireguard3 public key>
AllowedIPs = 10.0.0.3/32
Endpoint = <wireguard3 public ip address>:5555

На проводе3:

[Interface]
Address = 10.0.0.3/24
SaveConfig = true
ListenPort = 5555
PrivateKey = <wireguard3 private key>

[Peer]
PublicKey = <wireguard1 public key>
AllowedIPs = 10.0.0.1/32
Endpoint = <wireguard1 public ip address>:5555

[Peer]
PublicKey = <wireguard2 public key>
AllowedIPs = 10.0.0.2/32
Endpoint = <wireguard2 public ip address>:5555
...