天下网吧 >> 网吧天地 >> 网吧技术 >> 网吧网络 >> 正文

路由设置不当,导致VPN无法访问外网

2008-3-6中国IT实验室佚名
    在建设VPN网络时,当你的VPN连接成功后,虽然能访问总部公司的内部网,这时却不能访问外网了,这是怎么一回事呢?

    VPN虚拟专用网技术,对于实现远程访问公司的信息资源而言,相比拨号连接服务具有被广大用户认可的优势,目前在实际运用中正在逐渐取代拨号连接服务。VPN能够提供高级别的远程访问服务,为用户和基础设施提供一个安全的通信机制。?这篇文章我主要对在使用VPN过程中经常出现的一类问题进行详尽的分析。

    相信通过VPN?客户机远程访问公司内部网的网友都曾经碰到过这种问题,即当你的VPN连接成功后,虽然能访问总部公司的内部网这时却不能访问外网了,看了下面我的详细介绍之后,大家就可以了解到这是由于路由上的设置引起的。

(一) VPN客户机不能访问外网的原因初探

    我们知道,VPN?客户机是通过Internet连接到VPN服务器的,就是说通过VPN对Internet的访问物理意义上说是可以实现的。那么为什么会出现VPN连接建立后就不能访问外网的现象呢?出现了这种问题,很多用户都知道是路由表发生了变化,因此大家都通过在VPN连接的“高级TCP/IP设置”中取消“在远程网络上使用默认网关”选项来达到访问外网的目的。这种方法虽然表面上看来可行,觉得解决了一个路由问题,但有所不知可能会带来新的路由问题,甚至给公司内网带来严重的安全隐患。大家想一下,我们采用VPN的最初目标是为了保证安全,结果却可能因为使用VPN而让整个公司网络面临外界攻击的境地,那么这样就背离了我们的初衷。

    那么怎样才能更好并且安全的解决这个问题?以下我就先对 VPN?客户端的路由做一个初探,使大家对这一个知识点有一个较为全面地了解。我们已经通过分析认为是路由问题,现在我们从VPN连接前后的路由表变化情况来找出问题的症结所在。大家可以边根据我的说明边进行实际操作(见图1),这样在需要使用VPN远程访问的时候会留下更深刻的印象。

    在VPN没有连接之前,输入route?print命令,出现当前的路由表项,然后连接上VPN,再次运行route?print命令,比较前后两次命令的区别。可以看到,在命令行窗口中连接后多出了几条路由,比较重要的有两条路由——在出现的结果Active Routes下的第三行和第十行分别有一条(我称为route1)0.0.0.0???0.0.0.0???150.0.1.226??150.0.1.226????1;另一条(我称为route2)218.70.201.62?? 255.255.255.255?? 150.0.1.43?? 150.0.1.41?? 20,注意,各位网友的路由中部分IP也可能会略有不同。

    图1:连接VPN的前后路由变化情况

    这里route1的150.0.1.226是VPN客户端从VPN服务器上获得的IP地址,而route2的150.0.1.41是客户机网卡的IP,218.70.201.62是 VPN服务器的公网IP。你们还可以看出,最右侧一列原来的路由metric值已经增加了,而且高于新的路由route1的metric值,这样原来的路由就失效了,现在起作用的是route1,它的metric值更低。那么到目前为止到Internet的访问就已经使用了新的路由route1,这条路由把数据包交给VPN的计划程序端口,然后VPN端口的数据再发送到远方的VPN服务器(route2),这个过程后会引起不能访问Internet上的站点,这就是前面所说的VPN连接后不能访问外网的原因。

    上面的三段我只想说明一点:使用VPN连接,必须让通过VPN连接传输的数据包先到达VPN虚拟接口进行处理,如果绕过了VPN虚拟接口不处理的话,由于这个VPN连接的数据包没有经过加密措施就直接发送到了Internet上,那么你的VPN安全就根本没有保证。

    现在我们来看一下,在VPN连接后此时VPN客户端的路由表。默认路由没有变,添加了一条VPN端口IP对应的分类网络路由条目:150.0.0.0?????255.255.0.0????150.0.1.226????150.0.1.226????1,(见图2 Active Routes下第四行)。假设现在通过VPN连接访问远程公司内网的192.168.0.0/24子网,根据上面的路由表,匹配的路由只有第一条默认路由。默认路由是通过本地网卡到达网关后直接发送到192.168.0.0/24去的,因为Internet上的路由器不会转发到达私有网络的数据包,这样就可以达到外界不能访问公司内网、保证内网安全的目的。因此选中了“在远程网络上使用默认网关”选项,采用了默认路由,就不会出现前面所说的路由问题和安全问题。

    图2:不取消“在远程网络上使用默认网关”才能安全使用VPN

    而像很多用户取消“在远程网络上使用默认网关”选项,虽然远程子网能通过Internet到达,但由于绕过了VPN虚拟端口,数据是没有加密的,不能保证数据的安全性。这并不是真正的VPN,因此取消这个选项是不可取的。退一步来说,即使给VPN客户端分配192.168.0.0/24子网的IP,如果取消“在远程网络上使用默认网关”选项,也会出现路由问题,因为所有发送到本地子网的数据包将被路由到远程子网中。为了避免客户端的这种路由问题,我们为VPN客户端分配IP范围时不要与客户端所处的网络范围相同。

    看了这么多,文章开头我说了如果取消了“在远程网络上使用默认网关”选项,就会带来新的路由问题甚至安全隐患。那么怎样来解决这个问题呢?不取消这个选项就不能同时访问内网和外网。这确实是一个两难,针对这个问题没有一个统一的设置,不同的网络环境只能用不同的解决方法。目前来说,取消“在远程网络上使用默认网关”的选项肯定会导致安全问题。

    我们只能尽量不要取消它,对于那些既想通过VPN连接访问公司内网而且还需要访问外网的用户,我建议可以采用这样一种方法——配置它们使用代理访问Internet,比如设置它们使用HTTP代理,这个功能是大多数代理服务器都提供的。另外,如果 VPN客户端的IP与VPN服务器的网卡位于同一个逻辑子网,并且只访问这个逻辑子网,对于这种情况可以取消“在远程网络上使用默认网关”选项。

结语

    以上说了这么多,我都写累了,大家对其中的实现步骤肯定也会有些不是很清楚。这并没有关系,只要大概了解VPN数据包需要经过封装加密,才能进行传输并安全访问外网这些基本原理,我写这篇文章的目的就达到了。

    综上所述,只有使用代理服务器、VPN客户端IP与VPN服务器网卡位于同一个逻辑子网这两种情况例外,可以取消“在远程网络上使用默认网关”的选项。至于一般情况,还是谨慎使用VPN为好,我想我们访问网络的目的都是一样的——保证公司网络的安全放在第一位。希望广大网友在使用VPN虚拟专用网的过程中一切顺利。

欢迎访问最专业的网吧论坛,无盘论坛,网吧经营,网咖管理,网吧专业论坛https://bbs.txwb.com

关注天下网吧微信,了解网吧网咖经营管理,安装维护:


本文来源:中国IT实验室 作者:佚名

声明
本文来源地址:0
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系Email:support@txwb.com.,本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行