PPTP VPN与本地子网

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。配置方法如下:

  1. 修改VPN连接选项。在VPN连接的“属性->网络->Internet协议版本4(TCP/IPv4)->属性->高级”窗口,取消勾选“在远程网络上使用默认网关(U)”这一选项。
    pptp-vpn-and-local-subnet_01
  2. 添加访问B网络的路由。在管理员权限的命令提示符下,执行:
    route add 172.16.0.0 mask 255.255.255.0 192.168.10.1

3 参考文档

3.1 PPTP连接远程VPN网络时,本地主机无法上网的问题

点击量:123

发表评论

电子邮件地址不会被公开。 必填项已用*标注

4 × 2 =