Использование 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