ฉันใช้ Wireguard เป็นคอนเทนเนอร์เทียบท่าบน pi ฉันกำลังใช้บริการอื่นๆ สองสามอย่างบน pi ที่ฉันต้องการให้เข้าถึงได้ผ่านการเชื่อมต่อไวร์การ์ดเท่านั้น เซิร์ฟเวอร์ wireguard ได้สร้างอินเทอร์เฟซwg0และซับ10.8.0.0/24เน็ต จากภายในคอนเทนเนอร์ ฉันสามารถเชื่อมต่อกับโฮสต์ผ่าน172.17.0.1ดังนั้นฉันจึงค้นหาและสามารถสร้างการกำหนดค่าต่อไปนี้ภายในคอนเทนเนอร์:

iptables -t nat -A PREROUTING -d 10.8.0.1/32 -j DNAT --to-destination 172.17.0.1

สิ่งนี้ช่วยให้ฉันสามารถเชื่อมต่อจากไคลเอนต์ wireguard กับโฮสต์ ip ของ wireguard 10.8.0.1และเชื่อมต่อกับบริการทั้งหมดที่ทำงานบนและคอนเทนเนอร์อื่นๆ ผ่านวิธีการนั้น

ใช้งานได้ดียกเว้นว่า IP ต้นทางแสดง IP จากคอนเทนเนอร์นักเทียบท่า

ฉันมีคำถาม 3 ข้อ:

  1. มีวิธีใดบ้างในการแสดง ip ต้นทางเป็น10.8.0.2(ip ไคลเอนต์ wireguard)?
  2. สิ่งนี้กำหนดความเสี่ยงด้านความปลอดภัยหรือไม่?
  3. มีวิธีที่ดีกว่าในการทำเช่นนี้หรือไม่?

ฉันทราบดีว่าฉันสามารถใช้โหมดโฮสต์ของนักเทียบท่าแทนโหมดบริดจ์ได้ แต่นั่นมาพร้อมกับชุดของความท้าทายในตัวมันเอง ฉันรู้ด้วยว่าฉันสามารถเข้าถึงได้172.17.0.1จากไคลเอนต์ VPN เฉพาะที่ไม่ทำงานเมื่อเชื่อมต่อกับ VPN หลายตัวในเวลาเดียวกัน

ขอบคุณมากล่วงหน้า

no answer