ใช่มันสามารถทำได้ คุณต้องpolicy routing
, เช่นความสามารถในการจัดการกับสองตารางเส้นทางที่แตกต่างกันไปพร้อม ๆ กัน เหตุผลคือคุณต้องมีสองเกตเวย์พร้อมกันหนึ่งอันสำหรับ Squid และอีกอันสำหรับแอพพลิเคชันที่เหลือ ไม่อนุญาตให้ใช้เกตเวย์สองเกตเวย์ในระบบปฏิบัติการยกเว้นเพียงการกำหนดเส้นทางนโยบายในเคอร์เนล Linux
คุณพบคำอธิบายสั้น ๆ ที่ดีและสั้นมากเกี่ยวกับนโยบาย - (บางครั้งเรียกว่าซอร์ส -) ในการตอบคำถามของ David Schwartz สำหรับเว็บไซต์น้องสาว (Unix และ Linux)
คุณจะต้องติดตั้ง VPN ของคุณเพื่อให้ตารางเส้นทางที่เป็นทางเลือกที่ตารางเส้นทาง รายละเอียดขึ้นอยู่กับประเภทของ VPN ที่คุณใช้
ทีนี้สมมติว่ามีการเรียกใช้อินเทอร์เฟซเสมือน VPN tun0
ด้วยที่อยู่ IP 10.0.0.2
คุณจะต้องมีกฎที่ใช้ตารางเส้นทางที่สอง (เรียกว่าtable2
) สำหรับแอปพลิเคชันที่มาจาก10.0.0.2
:
ip rule add from 10.0.0.2 table table2
และคุณต้องตรวจสอบให้แน่ใจว่าการSquid
เชื่อมโยงกับ10.0.0.2
ที่อยู่ขาออก: สำหรับสิ่งนี้คุณต้องมีคำสั่ง
tcp_outgoing_address 10.0.0.2