ฉันกำลังพยายามกำหนดเส้นทางการรับส่งข้อมูลระหว่างเซิร์ฟเวอร์ openvpn สองเซิร์ฟเวอร์ ฉันต้องการมีการเชื่อมต่อต่อไปนี้:
ลูกค้า --> OpenVpnServer1 --> OpenVpnServer2 --> อินเทอร์เน็ต
ฉันมีทั้งเซิร์ฟเวอร์ที่ทำงานและทำงานแยกกัน แต่ฉันได้พยายามกำหนดค่า OpenVpnServer1 เพื่อส่งต่อทราฟฟิกไคลเอนต์ทั้งหมดไปยัง OpenVpnServer2 โดยใช้ iptables แต่ล้มเหลว
อินเทอร์เฟซและการกำหนดค่า OpenVpnServer1:
eth0 -- อินเทอร์เน็ตสาธารณะ
tun0 -- สำหรับไคลเอ็นต์ที่เชื่อมต่อกับเซิร์ฟเวอร์นี้
tun1 -- อินเตอร์เฟสการเชื่อมต่อสำหรับเซิร์ฟเวอร์ที่สอง (ใช้งานเมื่อเชื่อมต่อโดยใช้ไคลเอนต์ openvpn)
*แนท
:หลังยอมรับ [0:0]
-A POSTROUTING -s 10.10.0.0/8 -o eth0 -j MASQUERADE
ให้สัญญา
อินเทอร์เฟซและการกำหนดค่า OpenVpnServer2:
ens33 -- อินเทอร์เน็ตสาธารณะ
tun0 -- สำหรับไคลเอ็นต์ที่เชื่อมต่อกับเซิร์ฟเวอร์นี้
*แนท
:หลังยอมรับ [0:0]
-A โพสต์ -s 10.8.0.0/8 -o ens33 -j MASQUERADE
ให้สัญญา
อัปเดต:
ฉันได้ทดสอบการเชื่อมต่อระหว่าง server1 และ sever2 และ server1 สามารถ ping google จากอะแดปเตอร์ tun1 ปัญหาคือฉันไม่รู้วิธีส่งต่อการรับส่งข้อมูลโดยไม่เปลี่ยนเส้นทางเริ่มต้นบนเซิร์ฟเวอร์ 1 หากฉันเปลี่ยนเส้นทางเริ่มต้นเป็น tun1 ลูกค้าจะไม่สามารถเชื่อมต่อกับ server1 ได้