Home > 计算机技术 > Windows XP/Vista搭建VPN+NAT服务器

Windows XP/Vista搭建VPN+NAT服务器

April 6th, 2011 发表评论 阅读评论

最近本人白天一直在实验室呆着,忙着一些“重要”的事。。。由于我校实验室等教学区网络环境为教育网和电信网NAT自动路由选择,这样很多教育网下无法打开的网站都能顺利浏览,不费流量而且网速也很快。今天我就萌生出在我实验室的电脑上搭建代理服务器来为我宿舍的机器做跳板的想法,这样我就可以在宿舍畅游网络而且不用担心流量超值啦。于是我就在Google上搜索了一些文档,发现搭建VPN更好一些(其实代理服务器也很容易搭建,不过我没动手试),所以我就摘抄一段有用步骤,以备不时之需。

一、服务器的配置

1.修改注册表,把

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters下的

IPEnableRouter项的值改为1。

windows 2000等server版有远程访问与路由功能,能够实现软路由功能,XP并没有默认开启这项功能。XP的软路由是在注册表中的 HKEY_LM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters下的参数IPEnableRouter控制,取值0即不开启软路由,取1则开启。只要将IPEnableRouter的值改为1,就可以让XP变成网内一台“路由器”。IPEnableRouter ----“Enables IP forwarding to connected networks. When the value of this entry is 1, the system routes IP packets to all networks to which it is connected.”

2.将Workstation、Telephony、Remote Access Connection Manager、Routing and Remote Access四个服务的属性中启动类型改为“自动”,并启动这些服务。
其中,Routing and Remote Access启动后,在“网络连接”里面会多出一个“传入的连接”。

3.建立“传入的连接”。
依次打开“控制面板” – “网络连接”,选择左侧“网络任务”中的“创建一个新的连接”。在打开的窗口中依次选择“设置高级连接” → 下一步 →“接受传入的连接”→下一步… …到“传入的虚拟专用网(VPN)连接”→“允许虚拟专用连接”→ 下一步,选择用户权限,可以添加新用户,也可以选择当前Windows用户。建议在这里添加一个用户,用户名和密码就是在客户端建立拨号时要使用的用户名和密码。

在“网络软件”页,选择“Internet协议(TCP/IP)”,打开其属性,网络访问中选中“允许呼叫方访问我的局域网”。在“TCP/IP地址指派”中,使用“指定TCP/IP地址”,并填入一个未被使用过的局域网IP段,可以根据允许的用户数设定IP的个数。然后下一步一直到完成即可。

4.“开始” – “运行” (或者Win+R),输入netsh回车,然后输入以下命令:

routing 回车 ( Vista下自带的netsh貌似没这个命令,需要将Windows2003里带的ippromon.dll和ipmontr.dll拷贝到Vista的\windows\system32,然后在netsh里面执行add helper ??.dll。)
ip 回车(这里的ip就是指的“ip”这两个字母,不只IP地址) 
nat 回车 
install 回车 
add interface name="内部" mode=private 回车 
add interface name="本地连接" mode=full 回车

其中"内部" 是指的内部接口 名称
"本地连接" 是指的名称为"本地连接" 网卡接口 也可能是"本地连接1"、"本地连接2" 或其他的网卡名称

你可以通过以下命令 netsh routing ip show interface 显示接口名称

在netsh routing ip>那步,执行show interface,可以看到类似下面的内容:

状态         类型         接口
———     ———     ———
启用     环回     环回
启用     内部     内部
启用     专用     本地连接

我们这里写的”内部”就是这个表中类型为”内部”的接口对应的接口名称。

“本地连接”是作为服务器的电脑连接换联网的连接名称,默认是这个,如果不是的话改成自己的连接名称就好了。

如果最后这两行指令输入没报错,NAT的配置应该就成功了。输入show interface回车,应该出现下面的内容:

NAT 内部 配置
—————————
模式 : 专用接口

NAT 本地连接 配置
—————————
模式 : 地址和端口转换

至此,服务器端配置完毕。

由于我在实验室电脑上网的环境是D-Link有一个公网静态IP地址,实验室内主机形成局域网NAT转换连接上网,所以我需要额外在路由器上设置一下端口转发。由于我用的是默认PPTP VPN服务,默认端口为UDP 1723,在路由器上配置好内网IP和端口,转发的外部端口,使用协议等就算真正把服务器搞定啦。

最后我通过外网IP测试了一下,发现的确成功了。

 

下面说从客户端怎么拨号。

二、客户端的配置

XP
“控制面板” → “网络连接”→“创建一个新的网络连接”→“网络连接类型”选择“连接到我的工作场所的网络”→ 选择“虚拟专用网络连接”→“公司名”就是给VPN连接取个名字,如“VPN”→“公用网络”中选择“不拨初始连接”→“VPN服务器选择”中,输入服务器IP地址 → 可在桌面添加快捷方式 → 在弹出的“连接VPN”窗口中输入用户名和密码,连接就可以了~

VISTA / Windows 7
可以参照以下步骤,“控制面板”→“网络和共享中心”→“设置新的连接或网络”→“连接到工作区”→“使用我的Internet连接”→输入服务器IP地址和连接的名称→输入用户名和密码(域不用填写),然后就可以连接了~~

附:批处理完成代码(可能需要根据您的网络环境稍加改动)

@echo off 
echo. 
echo. 
echo 启动路由服务 
echo 
pause 

echo 停止ICS共享服务 
@net stop SharedAccess>nul 
echo. 
@net stop RasAuto>nul 
@net stop RemoteAccess>nul

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters" /v "IPEnableRouter" /t REG_DWORD /d "1" /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RasMan\Parameters" /v "ProhibitIPsec" /t REG_DWORD /d "1" /f

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteAccess\Parameters" /v "IPEnableRouter" /t REG_DWORD /d "1" /f

::关闭防火墙 
netsh firewall set opmode disable

:: 设置所有设备都需要身份验证 STANDARD - 所有设备都需要身份验证。NODCC    - 直接连接设备没有身份验证。BYPASS   - 所有设备都不用身份验证。 
netsh ras set authmode STANDARD 
netsh ras set authmode NODCC

::设置记帐提供者。windows 通过 Windows 日志工具记帐;radius 通过 RADIUS 服务器记帐; none 不执行记帐 
netsh ras aaaa set accounting provider =none

:: 设置用户授权,该用户不能为tsinternetuser support_388945a0等。 
netsh ras set user administrator permit

::允许客户申请自己的 IP 地址。 
netsh ras ip set addrreq allow

::从静态 IP 地址池中删除所有范围 
netsh ras ip delete pool

::设置静态池范围 ,要用标准的局域网地址,避免将来在访问internet时候地址转发错误 
netsh ras ip add range 192.168.0.1 192.168.0.254

:: 设置静态地址池模式 
netsh ras ip set addrassign pool

::允许呼叫方访问我的局域网 
netsh ras ip set access all

::设置服务为自启动 
@sc config lanmanworkstation start= auto>nul 
@sc config TapiSrv start= auto>nul 
@sc config RasAuto start= auto>nul 
@sc config RemoteAccess start= auto>nul

echo 开启NAT功能 
netsh routing ip nat install

echo 增加内部接口 
::添加nat接口内部私有模式 
netsh routing ip nat add interface name="内部" mode=private

echo 增加本地连接接口 
::添加nat接口本地连接全转发 
netsh routing ip nat add interface name="本地连接" mode=full 
echo. 
echo.

@net start lanmanworkstation>nul 
@net start TapiSrv>nul 
@net start RasAuto>nul

echo. 
echo 正在启动路由服务 
@net start RemoteAccess>nul 
echo. 
echo 路由服务安装完成! 
pause

转载请以超链接注明来自  云在天边看世界
本文永久链接  http://www.tangblog.info/2011/04/6/windows-xp-or-vista-setup-vpn-server.html

分类: 计算机技术 标签: ,

  1. avatar
    手机主题 2011-04-17 at 20:57 |#4

    以前用server 2003搭建过VPN,XP的还真没弄过,学习了。
  2. avatar
    guest 2011-04-11 at 16:50 |#4

    高手啊.,发个留言还这么难
  3. avatar
    等待思索 2011-04-08 at 11:48 |#3

    嘻嘻,,,,不错不错。。。
  4. avatar
    Angel 2011-04-07 at 17:04 |#2

    话说前天我自己在瘟斗撕下搭建个openvpn,华为et188+05动感地带cmwap无限,使用openvpn来间接实现cmnet,,虽然是td网络但是速度很不给力,openvpn远远不如10.0.0.172代理快。。只能用来突破一些被限制的。。。
  5. avatar
    Mucid 2011-04-07 at 13:29 |#1

    嘿嘿,你太坏了
Comment pages
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
/static/smilies/icon_twisted.gif /static/smilies/icon_smile.gif /static/smilies/icon_cry.gif /static/smilies/icon_question.gif /static/smilies/icon_razz.gif /static/smilies/icon_mrgreen.gif /static/smilies/icon_sad.gif /static/smilies/icon_evil.gif /static/smilies/icon_exclaim.gif /static/smilies/icon_redface.gif /static/smilies/icon_biggrin.gif /static/smilies/icon_surprised.gif /static/smilies/icon_eek.gif /static/smilies/icon_confused.gif /static/smilies/icon_cool.gif /static/smilies/icon_lol.gif /static/smilies/icon_mad.gif /static/smilies/icon_rolleyes.gif /static/smilies/icon_wink.gif /static/smilies/icon_idea.gif /static/smilies/icon_arrow.gif /static/smilies/icon_neutral.gif
capacha 请输入验证码(不区分大小写)