admin管理员组

文章数量:1530864

      副标题:解决VPN拨号后本地上网流量都走VPN网络的问题 

      由于我团队是一支业务及人员分布在多个省市现场的技术团队,最近因产品研发、技术验证等需要,搭建了一个可供工程师远程拨入的VPN环境。在VPN环境搭建完成,在人员较为集中的地点采用路由器做为VPN客户端拨入,在配置智能分流后,一切使用正常,而零散各地工程师们采用个人电脑做为客户端拨入VPN后,却给整个VPN环境造成了较大的问题。

       个人电脑做为VPN客户端,windows上拨号接入VPN网络,发现默认本地上网流量都会走VPN网络,VPN服务器完成网络代理上网后,再将结果返回windows客户端,这就导致一是本地上网速度明显变慢,二是VPN服务器及所在的网络的产生巨大的流量,在多人拨入后网络几乎崩溃的两个问题。

一、本地上网都走VPN转发问题

      下面是未连接VPN网络时,本地ping www.163的网络连通情况:

       平均连接响应为18ms,下面再来用tracert路由跟踪一下网络的路由路径:

      上面第一跳192.168.31.1,为本地网络的网关,即路由器地址,第二跳 192.168.1.1为本地网络光猫的地址,第三跳100.64.128.1为本地网络运营商网关地址,最后一跳120.226.43.105为www.163离我最近的服务器地址,经查为湖南长沙移动的IP地址。

      下面是在连接VPN网络后的本地ping www.163的网络连通情况:

 

     平均响应时长达到了39ms,比未连接VPN网络的耗时长一半以上,达到了39ms。下面再来用tracert路由跟踪一下网络的路由路径:

      上面第一跳172.16.90.1为VPN的服务端的IP地址,第二跳172.16.0.1为VPN服务器网络的网关地址,第三跳120.244.XX.XX为北京移动的IP地址。至此,已经完全证实,我在湖北省咸宁市的本地上网请求,都被转发到了北京VPN服务器的网络上。

二、问题原因分析

      在vpn网络未连接前的路由表信息如下:

      0.0.0.0默认路由只有一条,接口为本地网络接口,接口的IP为192.168.31.106,跃点为55,网关地址为本地私有网络路由器地址192.168.31.1。

      连接VPN后,再查一下路由表,绍果如下:

      从以上路由信息中可以发现,0.0.0.0的默认路由,有两条了,一条的接口为本地网络连接的192.168.31.106,一条为VPN拨号网络连接的172.16.90.3,同时缺少VPN所在网络172.16.0.0 255.255.0.0的路由信息。这是因为VPN网络接口的高级TCP/IP设置中,有一项“在远程网络上使用默认网关”选项,默认为被勾选。

      “在远程网络上使用默认网关”被勾选后,VPN拨号连接的接口的网关地址为0.0.0.0,和默认路由的目标网络地址一样。

      这就使得使用本地网络和VPN拨号网络,都走VPN拨号网络接口了。

三、解决问题

      为了解决这个问题,可以把VPN拨号网络接口上的 “在远程网络上使用默认网关”选项取消勾选。

      取消VPN拨号网络接口上的 “在远程网络上使用默认网关”选项,并断开VPN网络接口,重新连接后,路由表信息如下:

      一是0.0.0.0目标网络的默认路由只剩本地网络接口的一条了,二是自动增加了VPN拨号网络的172.16.0.0目标网络的路由信息了。同时,VPN拨号网络接口的网关,也变成了无值状态:

      至此,解决VPN拨号后本地网络都走VPN问题的设置都已完成了,下面来验证一下结果。

四、结果验证

      首选通过tracert路由跟踪,验证访问本地网络是否还走VPN的问题:

      上面路由跟踪的第一跳,为本地网络接口的地址,即表示本地网络访问,已不再走VPN网络了。

      再来通过ping的响应时间,验证一下响应时长是否与未VPN拨号前的响应时长相当,先ping www.163情况如下:

      平均响应时长13ms,验证本地上网流量已经走回了本地网络接口。

      再来ping一下VPN内的网络,情况如下:

      ping远程VPN内的网络,响应时间达33ms。

     至此已经完成验证,通过取消VPN拨号网络接口的“在远程网络上使用默认网关”,解决了所有网络访问均走VPN网络的问题,实现了VPN网络与访问与本地上网流量的自动分流。

本文标签: 网络都走流量