ฉันต่อสู้กับการตั้งค่า wireguard ซึ่งเป็นดังนี้:
- เราเตอร์อินเทอร์เน็ตมี ip 10.10.7.1 ภายนอก zzz.dyndns.org
- VM Host คือ 10.10.7.9 พร้อม Bridged VM Wireguard Server เป็น VM ที่มี ip
10.10.7.19.
- เซิร์ฟเวอร์ทั้งหมดรัน unbuntu 20.04 LTS พร้อมแพตช์เสถียรล่าสุด พอร์ตเราเตอร์ TCP 51280 ถูกส่งต่อไปยัง 10.10.7.19:51280 งานส่งต่ออื่นๆ (เช่น 443)
- ufw ลดลง
ปัญหาคือ: ไคลเอ็นต์ windows แจ้งว่า "Handshake ไม่เสร็จสมบูรณ์หลังจาก 5 วินาที" ซ้ำๆ
การกำหนดค่าสำหรับไคลเอ็นต์ถูกถ่ายโอนโดยไฟล์
เมื่อฉัน "tcpdump -n -v -i wg0" ไม่แสดงแพ็คเกจเดียว ปรากฏว่าแพ็กเก็ตจากไคลเอ็นต์ไม่ถึงอินเทอร์เฟซ wg0 ฉันลองแบบเดียวกันกับอินเทอร์เฟซ ens3 และพอร์ต 51280
ฉันไม่รู้ว่าจะแก้ปัญหานั้นได้อย่างไร
wg0.conf:
[อินเตอร์เฟซ]
ที่อยู่ = 10.10.9.1/24
ที่อยู่ = fd10:10:9:1::1/64
SaveConfig = จริง
PostUp = iptables -A ส่งต่อ -i wg0 -j ยอมรับ; iptables -t nat -A โพสต์ -o ens3 -j MASQUERADE; ip6tables -A ไปข้างหน้า -i wg0 -j ยอมรับ; ip6tables -t nat -A โพสต์ -o ens3 -j MASQUERADE
PostDown = iptables -D ส่งต่อ -i wg0 -j ยอมรับ; iptables -t nat -D โพสต์ -o ens3 -j MASQUERADE; ip6tables -D ส่งต่อ -i wg0 -j ยอมรับ; ip6tables -t nat -D โพสต์ -o ens3 -j MASQUERADE
ListenPort = 51820
PrivateKey = Pq<คีย์>
[เพียร์]
PublicKey = ia<คีย์>
IP ที่อนุญาต = 10.10.9.2/32
[เพียร์]
PublicKey = yR<คีย์>
IP ที่อนุญาต = 10.10.9.3/32
ลูกค้า.conf:
[อินเตอร์เฟซ]
PrivateKey = wC<คีย์>
ที่อยู่ = 10.10.9.3/32
DNS = 10.10.7.20, 10.10.7.1
[เพียร์]
PublicKey = Pq<คีย์>
IP ที่อนุญาต = 0.0.0.0/0
จุดสิ้นสุด = zzz.dyndns.org:51820
เอาต์พุตของน้ำหนัก:
อินเทอร์เฟซ: wg0
รหัสสาธารณะ: XK<key>
รหัสส่วนตัว: (ซ่อน)
พอร์ตการฟัง: 51820
เพื่อน: ia<คีย์>
ips ที่อนุญาต: 10.10.9.2/32
เพียร์: yR<key>
ips ที่อนุญาต: 10.10.9.3/32
ฉันหวังว่าฉันจะอธิบายการตั้งค่าของฉันอย่างครอบคลุม
ขอบคุณสำหรับการสนับสนุน.