我有一个个人 VPN,我在工作时使用。
我想要做的是将所有本地流量排除在 VPN 之外。10.* 范围内的所有内容都需要像未连接时一样工作,并且所有其他流量都应通过 VPN。
- 10.xxx=>出去 eth0
- 所有其他人=>通过 ppp0 (vpn)
“按需 VPN”不起作用,因为我不想在我浏览包含指向 twitter、fbcdn 等图片的链接的页面并尝试下载时触发它。
我在这里看到过一些完全相反的问题:仅通过 VPN 发送 10.* 流量。我不知道如何逆转这些答案,因为我了解的很少。
有什么办法吗?我使用的是标准 PPTP vpn 和 L2TP vpn。L2TP 连接不太可靠,所以我更喜欢使用 PPTP。
供参考:当谷歌在这里被严重屏蔽时,我会运行这个,因为它是唯一能可靠地找到编码问题的东西(并且 wordpress/blogspot/etc 上的太多内容被永久屏蔽)。现在我连接然后在完成后断开连接,但在那段时间我被锁定在 svn/文件共享/等之外,因为它们都是 10。.*
答案1
目前我无法找到有关此问题的更多详细信息,如果信息不明确,请见谅,但我记得以前读过这方面的内容,诀窍是在 /etc/ppp 中包含的脚本中设置静态路由。例如,在“up”脚本上,我认为您可以执行以下操作:
#!/bin/sh
# route everything through PPP
/sbin/route -n add -net 0.0.0.0 $IPREMOTE >> /tmp/ppp.log 2>&1
# exclude 10.x.x.x
/sbin/route -n delete -net 10.0.0.0 $IPREMOTE >> /tmp/ppp.log 2>&1
我可能对语法有一点点错误,但希望这是一个开始。:)