Использование wireguard для соединения 2 хостов через шлюз

У меня есть 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 поможет, но, похоже, не работает.

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

0 ответов

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

На 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.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

На 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.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
Другие вопросы по тегам