1 前言
假设有A、B两个局域网,我们目前在使用A中的主机a1,B在外地。A、B中的主机都可访问互联网,A和B通过PPTP VPN相连。
在实际应用中,我们遇到一个问题。一旦连接到VPN,所有网络访问都要通过VPN,且无法访问本地子网。也就是说,a1连接到VPN后,无法访问A中的其他主机;而且a1要通过VPN,经由B才能访问互联网。
如何让a1只有在访问B中的主机时才通过VPN,其他的网络访问都在本地完成?这是本文要解决的问题。
软件:Windows 8.1(理论上所有Windows版本都适用)
2 实现
这其实是默认路由的问题。默认配置下,VPN连接上以后,默认路由会指向VPN。我们要做的,是不让VPN修改默认路由,然后手动添加一条指向B网络的路由。
假设B网络的子网是172.16.0.0/24,VPN Tunnel的子网是192.168.10.0/24,a1连接到VPN后获取到的IP地址是192.168.10.1。配置方法如下:
- 修改VPN连接选项。在VPN连接的“属性->网络->Internet协议版本4(TCP/IPv4)->属性->高级”窗口,取消勾选“在远程网络上使用默认网关(U)”这一选项。
- 添加访问B网络的路由。在管理员权限的命令提示符下,执行:
route add 172.16.0.0 mask 255.255.255.0 192.168.10.1
3 参考文档
3.1 PPTP连接远程VPN网络时,本地主机无法上网的问题
Visits: 1880