现在的位置: 首页 > 综合 > 正文

pptpd客户端与服务器网络结构相似时的win客户端路由设定

2013年10月24日 ⁄ 综合 ⁄ 共 2003字 ⁄ 字号 评论关闭
这是一个极其特殊的情况,但是预计会越来越普遍。
    我的服务器处在一个小型网络里面,所以就采用简单的192.168.1.0/24这个网段,连接外网是通过一个soho路由器实现的,其实采用这个网段也是由于soho路由器默认的。想来,这样的使用方式在小型企业里面也越来越普遍了吧。当然,因此外网对服务器的访问就是通过NAT映射了,现在的soho路由器都支持得很好了,所以pptpd服务器的架设会很简单了。
    而我在家里(相当于客户端了),也是这样一个环境,通过soho路由器共享上网的,而soho路由器的默认内网居然也是192.168.1.0/24,当我使用winxp自带的虚拟专网拨号程序时问题就来了:
    1、当我开启拨号属性的启用远程网关的时候,默认是不添加以拨号获得的ip为网关的到服务器ip段的路由的,我试作手动添加,直接提示是参数不正确,想来应该是拨号程序也试作添加过的,由于参数不正确因此没有直接添加上去;由于没有路由,所以,我对服务器网段的访问均告失败;
    2、试作不启用远程网关,居然上面不能添加的路由被自动添加了,这样就可以顺利的访问服务器网段的资源了。
    呵呵,滑天下之大稽呀,这个是否启用远程网关在此时恰好和它的字面意思恰好相反!
    但是,问题到此并没有解决,我不启用远程网关,使得我对外网的访问都是使用的客户端网关,在公网上就会识别为我在家里面;而我启用远程网关,对外网的访问就会以公司的网关对外显示。由于公司的网络环境优于家庭里面的网络环境(比如isp提供的免费增值服务等),需要启用远程网关,而又需要访问服务器网段资源,如何做到呢?
    这一点上,使用linux客户端是没有任何难度的,拨号程序是可以自动添加好需要的路由,因此,还得从winxp系统本身上突破。显然,既然不启用远程网关都能够添加上路由,那么启用远程网关应该也是能够添加上去的,自动的不行,手动的一定有途径。
    我首先试作删除客户端本地网段的路由,这样由于缺省网关是远程网关,因此对任何网段的访问都会优先使用缺省的远程网关,也就间接达到了目的。当我使用[code]route delete 192.168.1.0[/code]命令时,结果大出意外,“指定的路由不存在!”在路由表中明明白白置于第三行的路由winxp给我开了这样一个玩笑!想来,可能这是每个网卡的基本路由,winxp不准用户自行删除的缘故吧。
引用请注明出处http://blog.chinaunix.net/u/13472/showart.php?id=247081
    删除的路堵死了,只好在添加上想办法吧,毕竟,默认的路由的metric值是30,客户端有充分的余地进行添加(如果默认的metric是1的话,看来神仙也救不了了)。但是,前文已经说了常规的手动添加路由如[code]route add 192.168.1.0 mask 255.255.255.0 获得的ip[/code]得到的结果是“参数不正确”,winxp这时候又给我开了玩笑了,我只要把那个“获得的ip”修正为其他任意一个ip都不会有错的,当然,这样添加路由后肯定是一切访问都洗白了。参数不正确?参数为什么不正确?winxp是不会告诉我的,只好自己思考了。“人类一思考,上帝就发笑”,算了,我还是把参数都打全吧,看看例子,说在添加路由时候,windows可以自动识别网络界面(IF),如果觉得windows自动分配的网络界面不合乎心意,可以手动指定的,现在的故障看样子是windows根本就没有自动识别到网络界面,那么就强制手动指定吧,先查看一下我的vpn连接的网络界面吧,得使用这个命令[code]route print[/code]。什么?查看路由表的命令?对,就是它!没找到?不要看花了眼,网络界面的参数在最初的几行信息里面,后面的路由表不要看。看见列表了吧,每一个连接都有一个诸如0x1、0x2、0x10004、0x20004之样的代码,那就是网络界面的代码,可不是例子里面的 IF 2那样的东西。现在,修正一下我手动添加路由的命令:
[code]route add 192.168.1.0 mask 255.255.255.0 获得的ip IF 网络界面代码[/code],OK,搞定了!
    显然,这样的解决之路只能是临时对策,因为每一次vpn连接得到的ip和网络界面都是不一样的,但是,谁叫我们要偷懒使用winxp的拨号程序呢?而这个拨号程序是如此的懒惰以致于我猜想它在后台也是按常规方法添加路由表并且不反馈错误信息,而采用pptpd服务的根本理由就是要访问公司的资源而无论是否启用远程网关。我想,要修正这个拨号问题应该很轻松吧,拨号程序在后台进行路由添加的时候采用严格的格式就可以避免的了。这么大一个缺陷没有报告用户而用对外网的访问显示远程网关ip告知连接成功来进行欺骗,后来者要当心了耶!

抱歉!评论已关闭.