ฉันมีเราเตอร์สองตัวที่เชื่อมต่อผ่าน Wireguard การเข้าถึงอินเทอร์เน็ตผ่าน wg ใช้งานได้ดี แต่ฉันต้องการเข้าถึง PI ของฉันที่ต่ออยู่กับเราเตอร์
จากเราเตอร์ฉันสามารถ ping PI ที่แนบในเครื่องได้อย่างมีความสุข (ข้อมูลเอาต์พุต บรรทัดด้านล่าง) ping ที่เหมือนกันจาก RouterT (FwdInfo บรรทัดด้านล่าง) ได้รับโดยเราเตอร์และดูเหมือนว่าพร้อมที่จะส่งต่อไปยังสิ่งที่ถูกต้อง OUT=br-ลาน อินเทอร์เฟซ แต่เราเตอร์ T ตอบกลับด้วย ICMP TYPE=3 CODE=3 (บรรทัด FailInfo ด้านล่าง)
เคอร์เนลของเราเตอร์: [95228.293520] OutputInfo IN= OUT=br-lan SRC=192.168.0.1 DST=192.168.0.80 LEN=978 TOS=0x00 PREC=0x00 TTL=64 ID=28681 DF PROTO=ICMP TYPE=8 CODE=0 ID =29579 SEQ=0 okPingFromRouterS
เคอร์เนลของเราเตอร์: [37413.743406] FwdInfo IN=wg0 OUT=br-lan MAC= SRC=192.168.219.246 DST=192.168.0.80 LEN=978 TOS=0x00 PREC=0x00 TTL=63 ID=5115 DF PROTO=ICMP TYPE=8 CODE =0 ID=14595 SEQ=0 ล้มเหลวPingFromRouterT
เคอร์เนลของเราเตอร์: [37413.758681] FailInfo IN= OUT=wg0 SRC=192.168.219.247 DST=192.168.219.246 LEN=576 TOS=0x00 PREC=0xC0 TTL=64 ID=21316 PROTO=ICMP TYPE=3 CODE=3 [SRC=192.168 .219.246 DST=192.168.0.80 LEN=978 TOS=0x00 PREC=0x00 TTL=63 ID=5115 DF PROTO=ICMP TYPE=8 CODE=0 ID=14595 SEQ=0 ] FailureResponseMessage
# การบันทึกแพ็คเก็ตจาก iptables
การกำหนดเส้นทางดูเหมือนจะตรงไปตรงมา แต่ชัดเจนว่าฉันขาดอะไรไป มีตารางเส้นทางแยกต่างหาก (200) สำหรับแพ็กเก็ตที่มาจาก br-lan แต่ฉันคิดว่านั่นไม่ควรสำคัญที่นี่
root@routerS:~# เส้นทาง ip
เริ่มต้นผ่าน 192.168.8.1 dev eth0.2 proto static src 192.168.8.84
192.168.0.0/24 dev br-lan proto kernel ขอบเขตลิงค์ src 192.168.0.1
192.168.8.0/24 dev eth0.2 ลิงก์ขอบเขตเคอร์เนลโปรโต src 192.168.8.84
192.168.219.246/31 dev wg0 ลิงก์ขอบเขตเคอร์เนลโปรโต src 192.168.219.247
root@routerS:~# กฎ ip
0: จากการค้นหาทั้งหมดในท้องถิ่น
1: จากการค้นหา iif br-lan ทั้งหมด 200
32766: จากหลักการค้นหาทั้งหมด
32767: จากค่าเริ่มต้นการค้นหาทั้งหมด
root@routerS:~# เส้นทาง ip แสดงตาราง 200
ลิงก์ขอบเขตคงที่โปรโต dev wg0 เริ่มต้น
เหตุใด ping ที่ส่งต่อจึงไม่ส่งต่อไปยัง PI