โดยทั่วไปไม่สามารถกำหนดเส้นทางต่อแอปพลิเคชั่นได้แม้ในพีซีที่ทันสมัย อย่างไรก็ตามมีวิธีแก้ปัญหาบางส่วนจำนวนมากสำหรับความซับซ้อนที่แตกต่างกัน
โชคดีสำหรับคุณเคสของคุณนั้นง่ายที่สุดเพราะโดยทั่วไปคุณมีแอปพลิเคชั่นเดียวที่เชื่อมต่อกับที่อยู่ IP เดียวกันเสมอ คุณทำได้ดังนี้ สมมติว่าหลังจากเริ่มใช้งาน VPN คุณจะมีตารางเส้นทางดังนี้
# ip route show
0.0.0.0/1 via 10.8.0.5 dev tun0
default via 192.168.73.1 dev eth0 proto static metric 100
10.8.0.0/24 via 10.8.0.5 dev tun0
10.8.0.5 dev tun0 proto kernel scope link src 10.8.0.6
128.0.0.0/1 via 10.8.0.5 dev tun0
169.254.0.0/16 dev eth0 scope link metric 1000
192.168.73.0/24 dev eth0 proto kernel scope link src 192.168.73.66 metric 100
IPAddress.Of.Remote.VPN.Server via 192.168.73.1 dev eth0
และแอพลิเคชันของคุณrcloneต้องการที่จะเชื่อมต่อกับเซิร์ฟเวอร์ที่มีอยู่ IP 1.2.3.4 สิ่งที่คุณต้องทำคือการเพิ่มเส้นทางผ่านเกตเวย์เริ่มต้นของคุณ ( เช่นที่ไม่มี VPN, 192.168.73.1ด้านบน) เป็น1.2.3.4 :
sudo ip route add 1.2.3.4/32 via 192.168.73.1 dev eth0 src 192.168.73.66
(ที่ฉันได้ใช้อินเทอร์เฟซของฉันซึ่งเรียกว่าeth0และที่อยู่ IP ของพีซีของฉัน192.168.73.66คุณจะต้องปรับสิ่งเหล่านี้ให้เหมาะกับกรณีของคุณ) เพียงแค่สั่งตารางการเราติ้งเพื่อข้ามส่วนต่อประสานเสมือนของคุณซึ่งเรียกว่าtun0ด้านบน แต่อาจจะเป็นtap0 , ppp0หรืออะไรทำนองนี้ในกรณีของคุณ
ที่จริงแล้วหลักการที่ใช้นั้นเหมือนกันกับที่ฉันใช้ใน คำตอบที่คล้ายกันนี้