爱就爱了

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12101|回复: 0

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

[复制链接]
发表于 2011-1-8 18:14:07 | 显示全部楼层 |阅读模式
一、服务器的配置
1.修改注册表,把
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters下的
IPEnableRouter项的值改为1。
批处理代码修改
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters"
/v"IPEnableRouter" /t REG_DWORD /d "1" /f
REG文件导入修改
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"IPEnableRouter"=dword:00000001

如果这里不改,在后面安装NAT会没有提示的失败,然后设置的时候系统会提示“必须首先安装NAT”。

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

3.建立“传入的连接”。
依次打开“控制面板” – “网络连接”,选择左侧“网络任务”中的“创建一个新的连接”

网络连接类型选择“设置高级连接”


高级连接选项中选择“接受传入的连接”


然后下一步下一步~~到“传入的虚拟专用网(VPN)连接”,选择“允许虚拟专用连接”


再下一步,选择用户权限,可以添加新用户,也可以选择当前Windows用户。建议在这里添加一个用户,用户名和密码就是在客户端建立拨号时要使用的用户名和密码。


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



然后下一步一直到完成即可。
4.“开始” – “运行” (或者Win+R),输入netsh回车。这时会有一个命令提示符(Console)打开,然后输入:
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 本地连接 配置
—————————
模式 : 地址和端口转换

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

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






批处理完成代码

@echo off
echo.
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 10.0.0.1 10.0.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

以上是Windows XP/Vista搭建VPN+NAT代理服务器,如果要增加PPPOE服务功能

先下载RASPPPOE_099 并安装WINPPPOE.INF   PPPOE协议

RASPPPOE_099下载地址http://www.raspppoe.com/files/RASPPPOE_099.ZIP

这里要选上你的网卡 (我的网卡是Broadcom NetLink (TM)Gigabit Ethernet)


Windowsxp单网卡开启NAT(配合openvpn)

Windows XP 下单网卡实现VPN+NAT代理服务器

OpenVPN配置成功后,可以成功组成虚拟个人网,但还不能通过服务器代理访问外网。为了达到这个目的现需要在服务器端开启NAT服务。(网上有用连接共享的,但我不知道为啥没试验成功,放弃了)
实现步骤基于如下系统情况
WindowsXP 中文版+SP3
单网卡,IP :192.168.1.1


1) 修改注册表(开启TCP/IP转发):
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
IPEnableRouter=1
2) net stop remoteaccess // Stop the RAS Service
3) netsh routing ip nat install
4) netsh routing ip nat add interface "YOUR INTERNET NIC" full
5) netsh routing ip nat add interface "YOUR OPEN VPN TAP NIC" private
6) netsh routing ip nat add interface Internal private
7) net start remoteaccess

具体到我的步骤如下:


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


:: 开启NAT功能
netsh routing ip nat install


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


::添加nat接口本地连接全转发 //本地连接 是服务器上用于上外网的连接
netsh routing ip nat add interface name="本地连接" mode=full


::添加nat接口 openvpn //安装OpenVPN时生成的虚拟连接 改名为openvpn
netsh routing ip nat add interface name="openvpn" mode=private


输入show interface命令后显示:
C:\>netsh routing ip nat show

下列指令有效:

此上下文中的命令:
show global    - 显示 NAT 配置。
show interface - 为指定的接口显示 NAT 配置。

C:\>netsh routing ip nat show in

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


NAT openvpn 配置
---------------------------
模式              : 专用接口


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


即表示NAT配置成功,重启。

以上步骤实现后,则VPN+NAT配置成功。可拨入主机,并可通过主机代理出去访问主机所在的资源。如同处在主机带的局域网中。


至此,openvpn的NAT转发配置完毕。 如果要配置openvpn自动分配IP地址,就按下面"用winxp建DHCP" 操作



用winxp建DHCP

打开命令提示符cmd.exe

c:\netsh

netsh>routing ip autodhcp

netsh routing ip autodhcp>install //安装后默认只能分配192.168.0/24网段地址

netsh routing ip autodhcp>add exclusion 10.254.1.3 //添加排除地址

netsh routing ip autodhcp>set global 10.0.0.0 255.255.0.0 60 info //设置地址分配段为10.0.0.0/16段,租借期限为60分钟,dhcp纪录信息共四种:none(不纪录信息),error(纪录错误信息),warn(纪录警告信息),info(纪录所有信息)

netsh routing ip autodhcp>set interface name="本地连接2" mode=enable //针对具体的网络接口设置dhcp地址分配参数。

netsh routing ip autodhcp>delete exculsion 10.254.1.3 //删除排除的地址

netsh routing ip autodhcp>uninstall //删除windowsXP的autodhcp协议

winXP配置dhcp服务基本就这些内容。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
 楼主| 发表于 2011-1-8 19:14:23 | 显示全部楼层
最后,我们还有一个地方要修改一下。在客户端VPN连接上服务器后,会产生两个缺省的网关,在CMD下用route print就可以显示出来,如图9所示。我们要用“route delete 0.0.0.0 mask 0.0.0.0 1.1.1.5”删掉这个网关,再添加一个你想通过VPN来访问的网段,用“route add”来添加。比如我想访问www.163.com,转化为IP就是220.181.31.184,命令为“route add 220.181.31.0 mask 255.255.255.0 1.1.1.5”,这样所有220.181.31.0这个网段的访问就都可以通过VPN来访问了。同样,你也可以添加其他网段以实现通过VPN来访问。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|平龙认个人分站 - 爱就爱了 ( 豫ICP备14029057号-2、4、5 )
豫公网安备 41010502002156号

GMT+8, 2024-4-27 15:26 , Processed in 0.120853 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表