windows Vista单网卡VPN server+NAT配置成功 @ 11/15/2007

life in IT industry
老婆在宿舍上校外网要算流量,所以就想在实验室的机器上弄个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位的不行
发布于 11/15/2007 11:42:00 | 评论:6
pc @ 11/15/2007 12:48:46
强。。。
咱北信的小孩就是聪明 @ 11/15/2007 12:58:31
咱北信的小孩就是聪明
pc @ 11/15/2007 13:53:25
明白楼主的意思了
其实楼主应该试试openvpn
有server端,有client。
有windows版本、linux版本
hjk @ 11/15/2007 14:29:04
VPN好说,NAT不好搞
Oasis @ 1/24/2008 14:59:26
请假楼主一个关于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路由记录的掩码呢?
路人甲 @ 8/11/2014 11:02:06
感谢,15018错误解决了,找了好久才找到

看帖要回帖...