ฉันได้ติดตั้งเซิร์ฟเวอร์เพียร์การ์ดสองเครื่องและสามารถเชื่อมต่อกับแต่ละเซิร์ฟเวอร์ได้สำเร็จอย่างอิสระ

แต่เมื่อฉันพยายามที่จะเชื่อมต่อกับสองเพื่อนในเวลาเดียวกันและอุโมงค์แยกมันไม่ล้มเหลวในการจับมือกับเซิร์ฟเวอร์ที่สอง ฉันคิดว่านั่นเป็นเพราะคีย์ส่วนตัวของเพียร์สองตัวต่างกัน และในไคลเอนต์แบบเพียร์หลายตัว ฉันสามารถป้อนคีย์ส่วนตัวของเซิร์ฟเวอร์เดียวเท่านั้น

ฉันไม่รู้ว่าเพื่อนสองคนนี้จะทำงานร่วมกับคีย์ส่วนตัวได้อย่างไร

เป้าหมายหลักของฉันคือการตั้งค่าเซิร์ฟเวอร์เพียร์สองตัวและช่องสัญญาณแยกสำหรับช่วง 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

และสุดท้าย การกำหนดค่า multi peer ที่ฉันพยายามใช้แต่ล้มเหลว: Client config:

[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: การเริ่มต้น handshake ไม่ถูกต้องจาก MY_IP:64230

เคอร์เนล: [70295.369403] wireguard: wg0: การเริ่มต้น handshake ไม่ถูกต้องจาก MY_IP:64230

เคอร์เนล: [70300.569581] wireguard: wg0: การเริ่มต้น handshake ไม่ถูกต้องจาก MY_IP:64230

ใครสามารถช่วยฉันฉันจะบรรลุ split tunnel โดยใช้สองเพียร์และแก้ไขปัญหาคีย์ส่วนตัวนี้ได้อย่างไร ขอบคุณ.

answer

ขอบคุณช่อง IRC ของ Wireguard #สมาชิกไวร์การ์ด ในที่สุดปัญหาก็ได้รับการแก้ไข

ในการแก้ไข คีย์สาธารณะใน [Peer] ของสองเซิร์ฟเวอร์จะต้องเหมือนกัน

ในตัวอย่างของฉัน ฉันต้องใส่ "l7YElLKnNWLUmohKpR+rQDORLmXm5geAivz9AzbbvkE=" ในฟิลด์เซิร์ฟเวอร์ 1 [Peer] PublicKey

สิ่งนี้แก้ไขปัญหาได้