Wireguard + Split Tunnel + Two Peers - Ошибка установления связи со вторым одноранговым узлом из-за закрытого ключа

Я установил два одноранговых сервера с защитой от проводов и могу успешно подключиться к каждому из них независимо.

Но когда я пытаюсь подключиться к двум одноранговым узлам одновременно и разделяю туннели, не удается встряхнуть руку со вторым сервером . Я думаю, это потому, что закрытые ключи двух одноранговых узлов разные. , а в многопользовательском клиенте я могу ввести только закрытый ключ одного сервера.

Я не знаю, как эти два одноранговых узла могут работать вместе с одним закрытым ключом?

Моя основная цель - настроить два одноранговых сервера и разделить туннель для определенного диапазона IP.

Здесь я вставил конфигурацию двух серверов и одноранговых узлов, а также многостороннего клиента. Был бы признателен за любую помощь.

Server 1:
[Interface] 
Address = 10.7.0.1/24 
PrivateKey = EKSCFdQiAgXsL4Wm40z63fdXL7q4PCgyB4XhNqkq+1A= 
ListenPort = 51820

[Peer]
PublicKey = G5ZurqtqfiMCgkImUfA+R17r3IaYhAh/jWZpNtB/4iI=
PresharedKey = mekE11iavS70vbJ/mLunFxRDEzYwXuGX2wdCZw8FFyc=
AllowedIPs = 10.7.0.2/32
Server 2:
[Interface]
Address = 10.7.0.1/24
PrivateKey = +IapZjrB8UfiTdsJNUWIFntK00z2v6MTpeYqHVMMTmI=
ListenPort = 51820

[Peer]
PublicKey = l7YElLKnNWLUmohKpR+rQDORLmXm5geAivz9AzbbvkE=
PresharedKey = J+kdful8xJW1uMdVGfrDM+D2v/dyl/Y8SYp+0/rS/mM=
AllowedIPs = 10.7.0.2/32
  • Обратите внимание, что мне удалось получить одинаковый диапазон IP (10.7.0.2) на обоих серверах. не знаю, необходимо ли это, вызывает проблему или нет.
Peer 1 config:
[Interface] 
Address = 10.7.0.2/24 
DNS = 8.8.8.8, 8.8.4.4 
PrivateKey = WMrHIjr71kv7Cl3zw9mx72d8uCTmLJPDk6K0j7FWjmg=

[Peer]
PublicKey = gu78igdrkMzlowf8988zYt58ciI0DTmz4QMzZ1QgfCs=
PresharedKey = mekE11iavS70vbJ/mLunFxRDEzYwXuGX2wdCZw8FFyc=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = SERVER_A:51820
PersistentKeepalive = 25
Peer 2 config:
[Interface]
Address = 10.7.0.2/24
DNS = 8.8.8.8, 8.8.4.4
PrivateKey = yNGP/MbTAjyADyTLuv19PwL5rCj6Q8j/hJGVz+Cafko=

[Peer]
PublicKey = HdYcIUebtkxiXWwcvaef8Z+/wrEqV7ArzL4Jbknus3A=
PresharedKey = J+kdful8xJW1uMdVGfrDM+D2v/dyl/Y8SYp+0/rS/mM=
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = SERVER_2:51820
PersistentKeepalive = 25

И, наконец, многопользовательская конфигурация, которую я пытаюсь использовать, но терпит неудачу: Конфигурация клиента:

[Interface]
Address = 10.7.0.2/32
DNS = 8.8.8.8, 8.8.4.4
PrivateKey = yNGP/MbTAjyADyTLuv19PwL5rCj6Q8j/hJGVz+Cafko=

[Peer]
PublicKey = HdYcIUebtkxiXWwcvaef8Z+/wrEqV7ArzL4Jbknus3A=
PresharedKey = J+kdful8xJW1uMdVGfrDM+D2v/dyl/Y8SYp+0/rS/mM=
AllowedIPs = 8.0.0.0/8
Endpoint = SERVER_2:51820
PersistentKeepalive = 25

[Peer]
PublicKey = gu78igdrkMzlowf8988zYt58ciI0DTmz4QMzZ1QgfCs=
PresharedKey = mekE11iavS70vbJ/mLunFxRDEzYwXuGX2wdCZw8FFyc=
AllowedIPs = 45.0.0.0/8
Endpoint = SERVER_A:51820
PersistentKeepalive = 25

Журналы Wireguard со второго сервера, который не может установить связь как проблема с закрытым ключом:

ядро: [ 70290.070053] Wireguard: wg0: Недействительное инициирование рукопожатия из MY_IP: 64230

ядро: [70295.369403] Wireguard: wg0: Недействительное инициирование рукопожатия из MY_IP: 64230

Ядро: [70300.569581] Wireguard: wg0: Invalid hands 64230

Кто-нибудь может мне помочь, как добиться разделения туннеля с использованием двух одноранговых узлов и решить эту проблему с закрытым ключом? Спасибо.

1
задан 12 July 2021 в 19:22
1 ответ

Благодаря участникам IRC канала Wireguard #wireguard, наконец, проблема была решена.

Чтобы исправить это, открытый ключ в [Peer] двух серверов должен быть одинаковым.

В моем примере я должен был указать «l7YElLKnNWLUmohKpR + rQDORLmXm5geAivz9AzbbvkE =» в поле PublicKey сервера 1 [Peer].

Это устранило проблему.

0
ответ дан 28 July 2021 в 13:23

Теги

Похожие вопросы