Score:0

การรับส่งข้อมูล WireGuard ไม่ผ่านอุโมงค์

ธง ma

ฉันมีเซิร์ฟเวอร์ (10.42.0.1) และลูกค้า (10.42.0.2) ทั้งสองมี น้ำหนัก. ฉันได้กำหนดค่าทั้งสองโดยใช้ไฟล์ น้ำหนัก บังคับบัญชาให้คุยกันได้

ลูกค้า น้ำหนัก:

อินเทอร์เฟซ: wg0
  รหัสสาธารณะ: abc123=
  รหัสส่วนตัว: (ซ่อน)
  พอร์ตการฟัง: 51820

เพียร์: xyz987=
  จุดสิ้นสุด: 15.14.13.12:51820
  ips ที่อนุญาต: 10.42.0.0/24
  โอน: ได้รับ 0 B, ส่ง 7.37 KiB

เซิร์ฟเวอร์ น้ำหนัก:

อินเทอร์เฟซ: wg0
  รหัสสาธารณะ: xyz987=
  รหัสส่วนตัว: (ซ่อน)
  พอร์ตการฟัง: 51820

เพื่อน: abc123=
  ips ที่อนุญาต: 10.42.0.0/24

อย่างไรก็ตาม (อย่างที่คุณเห็นอยู่แล้ว) เซิร์ฟเวอร์ของฉันลืมไคลเอนต์ของฉันโดยสิ้นเชิง ส่ง Ping จากลูกค้าและเรียกใช้ tcpdump -i wg0 บนเซิร์ฟเวอร์ไม่บันทึกการรับส่งข้อมูล

ลูกค้า ปิง:

PING 10.42.0.1 (10.42.0.1) 56(84) ไบต์ของข้อมูล
^ซี
--- สถิติ ping 10.42.0.1 ---
ส่ง 5 แพ็กเก็ต ได้รับ 0 แพ็กเก็ต สูญเสียแพ็กเก็ต 100% เวลา 4046ms

เซิร์ฟเวอร์ tcpdump -i wg0:

tcpdump: เอาต์พุต verbose ถูกระงับ ใช้ -v หรือ -vv สำหรับการถอดรหัสโปรโตคอลแบบเต็ม
กำลังฟัง wg0, RAW ประเภทลิงก์ (Raw IP), ขนาดการจับภาพ 262144 ไบต์

0 แพ็คเก็ตถูกจับ
0 แพ็กเก็ตที่ได้รับโดยตัวกรอง
0 แพ็คเก็ตลดลงโดยเคอร์เนล

การพยายาม ping ไคลเอนต์จากเซิร์ฟเวอร์ส่งผลให้ ping: sendmsg: ต้องการที่อยู่ปลายทางแต่เป็นสิ่งที่คาดหวังไว้เนื่องจากไม่มีการระบุจุดสิ้นสุดสำหรับไคลเอนต์

ไฟร์วอลล์ไม่ควรเข้ามาขวางทางฉันไม่ใช่ผู้เชี่ยวชาญ iptables.

เซิร์ฟเวอร์ iptables -L:

เชนอินพุท (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง         
ยอมรับทั้งหมด - ทุกที่ ทุกรัฐ ที่เกี่ยวข้อง ก่อตั้ง
ยอมรับ icmp -- ที่ไหนก็ได้            
ยอมรับทั้งหมด - ทุกที่ทุกที่            
ยอมรับ udp -- ทุกที่ ทุกแห่ง udp spt:ntp
ยอมรับ tcp -- ที่ไหนก็ได้ ระบุ NEW tcp dpt:ssh
ปฏิเสธทั้งหมด - ทุกที่ที่ปฏิเสธด้วย icmp-host-prohibited
ยอมรับทั้งหมด - ทุกที่ทุกที่            

ส่งต่อไปข้างหน้า (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง         
ปฏิเสธทั้งหมด - ทุกที่ที่ปฏิเสธด้วย icmp-host-prohibited

Chain OUTPUT (ยอมรับนโยบาย)
เป้าหมาย prot เลือกปลายทางต้นทาง         

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

in flag
คุณไม่สามารถสร้าง VPN แบบไซต์ต่อไซต์ได้เมื่อสถานที่ทั้งสองแห่งใช้เครือข่ายเดียวกัน BTW: `iptables -S` ให้ผลลัพธ์ที่ดีกว่า
inzig0 avatar
ma flag
@Virsacer ฉันไม่ได้พยายามสร้าง VPN แบบไซต์ต่อไซต์ และ IP เป็นที่อยู่ที่กำหนดให้กับอินเทอร์เฟซ wg0 ฉันจะเพิ่มเอาต์พุตของ iptables-S เมื่อฉันเข้าถึงเซิร์ฟเวอร์ได้ ฉันอยู่ที่โรงเรียน
in flag
โอเค AllowedIPs ควรเป็น WG-IP/32 ของเพียร์ ผลลัพธ์ของ `ip r` อาจช่วยได้เช่นกัน
inzig0 avatar
ma flag
@Virsacer ฉันได้เปลี่ยน AllowedIPs แล้ว และเส้นทางก็อยู่ที่นั่น อย่างไรก็ตาม การลอง ping อีกครั้งด้วย AllowedIPs ที่เปลี่ยนแปลงตอนนี้จะทำให้เกิด `ping: sendmsg: Required key not available`
A.B avatar
cl flag
A.B
โปรดระบุการตั้งค่าเครือข่ายทั้งหมดสำหรับเซิร์ฟเวอร์: `ip -br link; ที่อยู่ IP -br; เส้นทาง ip; ip rule` + `iptables-save -c` (รวมกฎทั้งหมดและการนับ -c ที่กฎตรงกัน) ในกรณีที่คุณควรให้สิ่งเดียวกันแก่ลูกค้า อย่าลังเลที่จะทำให้ยุ่งเหยิง แต่อย่าละเว้น
A.B avatar
cl flag
A.B
อย่างไรก็ตามในเอาต์พุต (ไม่สมบูรณ์โดยค่าเริ่มต้น) ของ iptables -L ฉันไม่เห็นวิธียอมรับพอร์ต UDP 51820
inzig0 avatar
ma flag
@A.B ฉันกำหนดค่า iptables ให้รับทราฟฟิกทั้งหมดจากทุกที่ คุณสามารถดูได้ในอินพุตเชน ฉันจะเพิ่มเอาต์พุตของคำสั่งอื่นๆ ทันที

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา