ฉันมีเซิร์ฟเวอร์ ส, ลูกค้า ก และลูกค้า ข. ทั้งหมดเป็นกล่อง Ubuntu และทั้งหมดอยู่ในเมืองต่างๆ (Seattle, Albuquerque และ Boston)
ส มีการติดตั้ง wireguard และทั้งสองอย่าง ก และ ข สร้างการเชื่อมต่อกับ wireguard และสิ้นสุดใน VPN เดียวกัน ก และ ข เจอกันและสามารถ ping กันได้
ฉันสามารถรับปริมาณการใช้อินเทอร์เน็ตทั้งหมดจาก ก ถูกส่งผ่าน ส. ดังนั้น กIP ของจะแสดงเป็น Seattle
ตอนนี้ฉันต้องการกำหนดเส้นทางการรับส่งข้อมูลผ่าน ข - ดังนั้น กIP ของแสดงเป็น Boston - แต่ฉันหาวิธีกำหนดค่านี้อย่างถูกต้องไม่ได้
iptables ของฉันเปิดอยู่ ส ได้รับการกำหนดค่าเป็น:
# iptables -S
-P อินพุตยอมรับ
-P ยอมรับไปข้างหน้า
-P เอาต์พุตยอมรับ
-A INPUT -i ext-card -p udp -m udp --dport 51820 -j ยอมรับ
-A อินพุต -i wg0 -j ยอมรับ
-A FORWARD -i wg0 -o ext-card -j ยอมรับ
-A FORWARD -i ext-card -o wg0 -j ยอมรับ
-A FORWARD -i ext-card -o wg0 -m state --state ที่เกี่ยวข้อง,ESTABLISHED -j ยอมรับ
-A FORWARD -i wg0 -o ext-card -j ยอมรับ
-A ไปข้างหน้า -i wg0 -j ยอมรับ
# iptables -S -t แนท
-P PREROUTING ยอมรับ
-P อินพุตยอมรับ
-P เอาต์พุตยอมรับ
-P หลังยอมรับ
-A POSTROUTING -s <LAN-IP> -o ext-card -j MASQUERADE
-A POSTROUTING -o การ์ดภายนอก -j MASQUERADE
ถ้าฉันตั้งค่าตาราง ip เดียวกันบน ข และบน ก เพิ่มเส้นทาง เพิ่มเส้นทางเริ่มต้น B-private-ip - มันใช้งานไม่ได้
ฉันต้องการข้อมูลบางอย่างเกี่ยวกับ:
- จะตรวจสอบได้อย่างไรว่าตารางเส้นทางและ ip ของฉันทำงานถูกต้องหรือไม่
- การกำหนดค่าควรมีลักษณะอย่างไร
ก, ข และ ส เพื่อให้บรรลุสิ่งที่ฉันต้องการ?