menu

hjk41的日志

Avatar

windows Vista单网卡VPN server+NAT配置成功

老婆在宿舍上校外网要算流量,所以就想在实验室的机器上弄个VPN,从宿舍穿过VPN上外网。本来如果只是XP也就简单了,网上已经有人实现过了。但是老婆大人喜欢Vista,所以就麻烦一点

首先,因为是单网卡,所以不上NAT的话,连上VPN以后两台机器就组成一个封闭网络,一点用处都没有,所以必须配NAT。

Windows XP和2003都能做NAT,区别在于2003有GUI配置界面,而XP只能通过字符界面来配置,也就是用 netsh routing。但是Vista下的netsh中没有routing这个选项,支持routing的两个文件ipmontr.dll和ippromon.dll在vista下不存在,只能从XP或2003下拿到。

我先从宿舍的XP上弄了这两个文件,但发现不能用,在add helper ipmontr.dll的时候就会提示出错。后来在硬盘上找了个2003的安装镜像,把里面两个文件提取出来,现在add helper ipmontr.dll倒是没错了,但 add helper ippromon.dll 的时候提示15018错误。怀疑是这个文件不行,于是让人帮忙传了一个新的,发现还是有错。然后突然想到,先 delete helper ipmontr.dll, delete helper ippromon.dll,然后再add helper就成功了。

加完这两个文件,就能看到netsh里有routing了,然后就能照着XP下面的配置方法来配置了。配置完拿实验室的另一台机器试了一下,的确是可以用的。


具体步骤如下:
1. 打开 Routing and remote access服务
2. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter
= 1 重启
3. 拷贝ipmontr.dll,ippromon.dll 到 windows/system32
4. 开始->cmd Ctrl+Shift+Enter 管理员权限command line

5. netsh
add helper ipmontr.dll
add helper ippromon.dll (有错的话就先delete这两个,再重新安装)

routing ip nat
install
add interface name="本地连接" mode=full
add interface name="内部" mode=private
6. 控制面板->网络连接->接入的连接,右键属性->常规->勾上“允许xxx连接到我的局域网”

其中黑体部分是Vista才需要的,其它部分在xp下也需要设置。最后两行中的"本地连接"和“内部”是在“控制面板”->“网络连接”中显示的名字,“本地连接”一般都能看到,而“内部”只有在有vpn client连接的时候才能看到。一般来说,“内部”这个名字是不用改的,“本地连接”可能改为“本地连接 2”之类的。

然后配置客户端,就是给客户端加个vpn client,很简单的

下面是我用的两个dll文件:
ipmontr.dll
ippromon.dll


ps.  如果是vista-64,那么就用windows 2003 64位的文件,32位的不行

强。。。

咱北信的小孩就是聪明

明白楼主的意思了
其实楼主应该试试openvpn
有server端,有client。
有windows版本、linux版本

VPN好说,NAT不好搞

请假楼主一个关于VPN配置的问题:
我在Win2003下建了一个VPN Server(双网卡),用来从办公室穿梭到实验室网络,实验室网络是10.*。但不知为何Client连接上之后获得的路由记录总是10.1.0.0/255.255.0.0,而不是我期望的10.0.0.0/255.0.0.0。请问VPN Server上哪一项设置会影响Client路由记录的掩码呢?

感谢,15018错误解决了,找了好久才找到

评论已关闭