路由设置不当导致无法访问网络
方案虚拟专用网技术,对实现远程访问公司的信息资源而言,相比拨号连接服务具有被广大用户认可的优势,目前在实际应用中正在逐步取代拨号连接服务。方案能够提供高级别的远程访问服务,为用户和基础设施提供一个安全的通讯机制。
相信通过方案客户机远程访问公司内部网的网友都曾碰到过这类问题,即当你的方案连接成功后,虽然能访问总部公司的内部网这时候却不能访问网络了。
方案客户机不能访问网络的缘由初探
我们知道,方案客户机是通过Internet连接到方案服务器的,就是说通过方案对Internet的访问物理意义上说是可以实现的。那末为啥会出现方案连接建立后就不能访问网络的现象呢?出现了这类问题,很多用户都知道是路由表产生了变化,因此大家都通过在方案连接的“高级TCP/IP设置”中取消“在远程网络上使用默许网关”选项来到达访问网络的目的。这类方法虽然表面上看来可行,觉得解决了一个路由问题,但有所不知可能会带来新的路由问题,乃至给公司内网带来严重的安全隐患。大家想一下,我们采取方案的最初目标是为了保证安全,结果却可能由于使用方案而让全部公司网络面临外界攻击的地步,那末这样就背离了我们的初衷。
那末怎样才能更好并且安全的解决这个问题?以下我就先对方案?客户真个路由做一个初探,使大家对这一个知识点有一个较为全面地了解。我们已通过分析认为是路由问题,现在我们从方案连接前后的路由表变化情况来找出问题的关键所在。大家可以边根据我的说明边进行实际操作,这样在需要使用方案远程访问的时候会留下更深入的印象。
这里route1的150.0.1.226是方案客户端从方案服务器上取得的IP地址,而route2的150.0.1.41是客户机网卡的IP,218.70.201.62是方案服务器的公网IP。你们还可以看出,最右边一列原来的路由metric值已增加了,而且高于新的路由route1的metric值,这样原来的路由就失效了,现在起作用的是route1,它的metric值更低。那末到目前为止到Internet的访问就已使用了新的路由route1,这条路由把数据包交给方案的计划程序端口,然后方案端口的数据再发送到远方的方案服务器(route2),这个进程后会引发不能访问Internet上的站点,这就是前面所说的方案连接后不能访问网络的缘由。
如何实现对方案数据包的封装加密并安全传输的进程?
现在我们来看一下方案客户真个路由决策及数据包封装的进程。尽人皆知,方案虚拟接口就是一个虚拟的点对点链路接口,当方案虚拟接口收到数据包时,它把从网络层得到的数据包封装成PPP点对点数据帧并进行加密等操作,然后把它送到网关,这里的网关正是方案客户端自己,所以这个被封装的PPP点对点数据帧又被返回给本机再次处理,这次处理其实就是再次封装的进程。
那为啥要再次封装?由于第一次封装的帧只能通过虚拟的方案接口,如果要把数据通过实际的接口进行传输,还一定要在实际的链路层上进行再次封装才行。而在终究封装成链路层数据帧之前,需要对第一次封装成的PPP数据帧进行其他的多级封装。由于规范中是不能直接把PPP帧封装在另外一个链路层帧中的,需要在它们之间添加一些报头,最简单的PPTP封装就是在PPP帧前添加了一个GRE头和IP头。
在封装到网络层比如IP报头的时候,这里需要进行一次路由决策,这是由于数据包要明确地发送到远方的方案服务器,它将寻觅一条到达远方方案服务器的路由。在方案连接建立时就同时创建一条到达方案服务器的路由(route2),再次封装成PPTP格式或L2TP格式的IP数据包交给这条路由指定的接口进行处理。如果是以太网接口,这个数据包就加上以太网报头;如果是点对点,就加上点对点链路报头,发送到物理网络上。在此处,route2指定的接口是150.0.1.41,即是网卡接口,所以它将加上以太网帧头,然后发送到物理网络上去。