开启VPN的一些问题解决方案

(一)


为什么有的机器无法启动"路由与远程访问"服务

答: 这可能与你启动了"Internet连接共享"(Internet Connection Sharing)
服务有关,你可以用net stop sharedaccess来停止"Internet连接共享"服务,
然后启动"路由与远程访问"服务.


问题二: 为什么启动"路由和远程访问"服务后在网络邻居"属性"看不到"传入
的连接"呢?或者出现这样的情形,"路由和远程访问"服务已经启动,但是在网
络邻居"属性"看不到"传入的连接".

答: 这是可能是你曾经配置过"网络路由器"的原因,由两种方法可以改正之:
方法一: 通过rrasmgmt.msc
1.启动"远程注册表服务"(net start remoteregistry),停止"路由和远程访
问"服务(net stop remoteaccess);

2.运行rrasmgmt.msc,如果右键出现的是"禁止路由和远程访问",那么你先"禁
止路由和远程访问",然后关闭rrasmgmt.msc.否则直接进入第三步;

3.运行rrasmgmt.msc,然后选择"配置并启用路由和远程访问",然后按下一步,
选择"手动配置服务器",按一下步,然后选择"完成"结束安装;

4.这时候你打开网络邻居会看到"传入的连接"又出现了;

5.此时你运行rrasmgmt.msc,可以再次右键选择"禁用路由和远程访问",然后
关闭rrasmgmt.msc.因为"手动配置服务器"打开了太多的服务.

7.然后你可以启动"路由和远程访问"服务,网络邻居属性里那个"传入的连接"
又出现了.

方法二:运行regedit,打开
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteAccess\
Parameters把右窗口的DWORD值"RouterType"从2改成7(实际上只要不是2,其
他任意整数均可).


问题三: 能不能通过命令行方式配置VPN服务器?

答:可以通过netsh.exe来实现:
netsh ras set user administrator permit #允许administrator拨入该VPN
netsh ras set user administrator deny #禁止administrator拨入该VPN
netsh ras show user #查看哪些用户可以拨入VPN
netsh ras ip show config #查看VPN分配IP的方式
netsh ras ip set addrassign method = pool #使用地址池的方式分配IP
netsh ras ip add range from = 192.168.3.1 to = 192.168.3.254 #地址池
的范围是从192.168.3.1到192.168.3.254


问题四: 一般情况下只有通过rrasmgmt.msc才能对VPN客户端连接数(默认情
况下PPTP和L2TP各5个,直接并行端口1个),与连接方式(PPTP或是L2tp)进行修
改.上文中将rrasmgmt.msc禁用了,是否有其他办法修改端口呢?

答: 有的,方法如下:
1.运行regedit,打开
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Control\Class\{4D36E972--E325-
11CE-BFC1-08002BE10318}\0000,0001,0002...
找到右窗口"DriverDesc"为"WAN 微型端口 (PPTP)"和"WAN 微型端口 (L2TP)"
的目录

2.察看右窗口是否有DWORD值"WanEndpoints",如果有,则对之进行修改,
如果没有,则新建一DWORD值"WanEndpoints",其大小为你要设定的连接数

3.重新启动机器.

经过研究,发现对于Win2k Srv或Win2k AdvSrv来说,通过注册表可以修改服务
器接受的连接数,对于Win2k Pro来说,最多只能接受一个Client的连接,但是
修改可以使之不接受Client的连接.


问题五: 开了VPN服务后,有时日志里会有这么一项:
事件类型: 警告
事件来源: RemoteAccess
事件种类: 无
事件 ID: 20192
日期: 2002-8-2
事件: 8:55:12
用户: N/A
计算机: COMPUTER
描述:
找不到证书。使用在IPSec上的L2TP协议的连接要求安装机器证书,这也叫做计
算机证书.将不会接受L2TP呼叫.

这是怎么回事,怎么才能解决这个问题呢?

答:这是因为Windows为L2TP连接的VPN自动创建一个IPsec策略,这个IPsec策略
使用本地机器上的证书来进行双方的认证.如果本地机器没有合适的证书,那么
就会出现上面的问题.有两种办法可以解决之:
方法一:取消L2TP VPN自动创建的IPsec策略
运行regedit.exe,打开
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters
新建一DWORD值ProhibitIPsec,并将值设置为1

方法二,取消L2TP方式的VPN
运行regedit.exe,打开
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Control\Class\{4D36E972--E325-
11CE-BFC1-08002BE10318}\0000,0001,0002...
找到右窗口"DriverDesc"为"WAN 微型端口 (L2TP)"
把DWORD值"WanEndpoints"改为0即可


问题六: 怎么做一个认证方式为预共享密钥的L2TP/IPsec方式的VPN?

答:可以参照如下步骤
步骤一:.首先,打开L2TP端口
一般情况下用Win2k Server通过常规方式搭建的VPN服务器对客户端连接情
况是PPTP和L2TP各5个,直接并行端口1个.可通过如下方式修改支持的使用
L2TP的VPN客户端的个数.

运行regedit,打开
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet\Control\Class\{4D36E972--E325-
11CE-BFC1-08002BE10318}\0000,0001,0002...

找到右窗口"DriverDesc"为"WAN 微型端口 (L2TP)"的目录.
察看右窗口是否有DWORD值"WanEndpoints",如果有,则对之进行修改,
如果没有,则新建一DWORD值"WanEndpoints",其大小为你要设定的连接数

2.取消L2TP VPN自动创建的使用证书方式认证IPsec策略
运行regedit.exe,打开
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Rasman\Parameters
新建一DWORD值ProhibitIPsec,并将值设置为1

3.设置IPsec策略保护L2TP通讯,保护内容为本机1701端口到其他任何机器1701端口
的所有UDP通讯.如果安装了Win2000 Resource Kit,使用如下命令:
ipsecpol -w reg -p VPN -r VPN -a preshare:"vpn"
-x -n ESP[3DES,SHA]3600S/100000KP ESP[3DES,MD5]3600S/100000KP ESP[DES,
SHA]3600S/100000KP ESP[DES,MD5]3600S/100000KP
-f 0:1071+*:1071:udp


问题七: PPTP方式和L2TP方式的VPN有何异同?

答:与其协议和工作方式有关

使用PPTP方式的VPN连接时,VPN服务器端保持着1723端口与客户端一任意
端口的TCP连接,TCP端口1723上跑的是PPTP Control Message,包括了
PPTP隧道创建,维护和终止之类的日常管理工作(建立/断开VPN连接的
请求等).客户端通过TCP与服务器1723端口建立连接后,进入基于GRE
(通用路由协议--IP协议编号为47,TCP的IP协议编号为6)的PPP协商,
包括了用户验证,数据传输等所有通讯.断开VPN连接时又用到了基于
1723端口的PPTP Control Message.

也就是说,PPTP方式的VPN连接,VPN客户端的建立/断开连接请求都是通
过和服务器的TCP 1723端口用PPTP协议联系的,至于具体的用户验证,
数据传输等都是通过PPP协议来通讯的,而PPP协议又是跑在GRE(和TCP,
UDP协议平行的协议,GRE的IP协议编号为47)之上的.

PPTP方式的VPN有以下几个特点,
1.VPN客户端可以使用私有地址通过NAT服务器来连接具有合法地址VPN服务器;
2.VPN连接时只有一层验证--就是用户身份验证

使用L2TP方式VPN连接时,VPN服务器保持着1701端口与客户端1701端口的
UDP"连接".由于Microsoft不鼓励将L2TP直接暴露在网络中,因此自动为L2TP
连接创建一个使用证书方式认证IPsec策略(当然可以通过修改注册表使证书
认证变成与共享密钥认证)

因此L2TP通讯就被裹在IPsec策略创建的Ipsec隧道内,用ipsecmon可以看清楚
实际上还是1701<-->1701的UDP通讯

VPN开始通讯时,需要双方交换密钥,这是通过UPD 500端口的ISAKMP来实现的.
从此以后所有的VPN通讯,包括建立/断开连接请求,用户验证,数据传输都是通过
ESP(与TCP,UDP协议平行的协议,ESP的IP编号为50)之上传输的.

L2TP/IPsec方式的VPN有以下几个特点:
1.VPN客户端无法使用私有地址来连接具有合法地址的VPN服务器(2002年末经过
Microsoft公司的努力(Microsoft Knowledge Base Article - 818043),使用
了NAT-T技术,可以让L2TP/IPsec方式的VPN可以穿越内网)
2.VPN连接需要两层验证:密钥验证和用户身份验证(其中密钥是Ipsec层面的认证)


问题八: 有无办法纪录VPN连接的日志?

答: 有的,一般可以通过设置radius服务器来实现外,还有如下方法:

通过命令行下操作实现PPP等日志文件
netsh ras set tracing * enable
这时候目录C:\WinNT\tracing下将会有一堆log文件.

另外,运行regedit.exe,打开
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\RemoteAccess\
Parameters在右窗口将DWORD"值LoggingFlags"改为"3"
然后就可以在eventvwr.msc的"系统日志"下看到关于"remoteaccess"的信息.

其中DWORD值"LoggingFlags"对应的数字含义如下:
0:禁用事件日志
1:只纪录错误
2:记录错误及警告(这是默认值)
3:记录最多信息

问题九: 如何使用Radius服务器实现对VPN的记账功能?

答:可参照如下步骤
1.安装并运行IAS服务
运行sysocmgr -i:sysoc.inf,
选中"网络服务--Internet验证服务",然后安装.
安装完毕运行IAS服务,net start ias

2.安装并运行VPN服务
 具体不再详述.

3.运行netsh.exe
E:\WINNT\system32>netsh
netsh>ras aaaa
ras aaaa>set accounting radius
要使改动生效,必须重启动远程访问服务。

ras aaaa>add acctserver name = "本机器名称" init-score = 5 port = 1813 timeo
ut = 30 messages = disabled
要使改动生效,必须重启动远程访问服务。

4.运行ias.msc(要保证remoteregistry服务正处于运行状态)
"客户端"有窗口新建一"客户端",名称为VPN,客户端地址为"本机器的IP",都按照
默认的设定.
"远程访问记录"右窗口记录着日志记录的地方,以及日志记录的内容设置.设置里
最好三个选项都打上勾.
"远程访问策略"一般是验证用户时候用的,如果用的是windows自带的用户验证,可
以不必设置.为了使iaslog.log看着舒服,可以把"如果启用拨入许可,就允许访问"
改成"authen".

补充:Win2000 ResourceKit中的iasparse.exe可以对iaslog.log进行分析.


问题十: 默认情况下,拨到VPN服务器后,所有的网络数据都是要经过VPN服务
器的(本地网络除外),对于一些站点,我们更希望直接访问而不通过VPN,那该
怎么办呢?

答: 可以通过route add命令来为那些站点设定特定路由.
比如说,本地网络是192.168.0.5/24,网关是192.168.0.1
现在正连接到一个VPN服务器,这时候对于202.117.1.8的访问想通过原有的线
路,那么可以用
route add 202.117.1.8 mask 255.255.255.255 192.168.0.1
来实现,这时候访问202.117.1.8将不再通过VPN服务器了.


问题十一: 默认情况下,拨到VPN服务器后,所有的网络数据都是要经过VPN服务
器的(本地网络除外),然而,有时候我们只希望对一些特定的站点的访问从VPN
服务器经过,其他都还是和原来一样,应该怎么做呢?

答:可以通过修改VPN连接的属性来实现,右键"网上邻居"属性,打开"网络和拨
号连接",找到拨出VPN名称(默认名字是"虚拟专用连接"),右键"VPN名称"的属
性,选择"网络--'Internet协议(TCP/IP)'--高级--常规",把"在远程网络上使
用默认网关"那一项的勾去掉即可.这样所有的网络访问都将不再通过VPN服务
器了.当然可以通过route add命令来为一些站点设定特定路由.

比如说,本地网络是192.168.0.5/24,网关是192.168.0.1,拨到一VPN服务器,
得到新的IP为192.168.3.3/32
经过先前的设置,所有的网络数据都将不再经过VPN服务器了,但对于202.117.1.8
的访问想通过VPN服务器实现,可以用
route add 202.117.1.8 mask 255.255.255.255 192.168.3.3
来实现,这时候访问202.117.1.8将通过VPN服务器.

问题九: VPN可不可以穿透内网以及串联?

答: 所谓穿透内网,就是说VPN Client可以位于一个使用内部地址的网络内,而
VPN服务器位于公网上一个合法的IP地址;
  所谓串联,是先拨一个VPN服务器,然后再拨第二个VPN服务器.(本来第二个
VPN服务器是你不知能直接访问的,但是通过第一个VPN就可以使用第二个VPN服
务器).
  对于PPTP方式的VPN来说,是可以穿透内网的,也是可以串联的.
  原来L2TP/IPsec模式的VPN是无法穿越内网的,但是经过Microsoft公司的
努力(Microsoft Knowledge Base Article - 818043),使用了NAT-T技术,可
以让L2TP/IPsec方式的VPN可以穿越内网,当然也可以串联.

问题十二: 单网卡VPN服务器能否将给拨入的客户一个虚拟的内部地址然后通过
VPN服务器进行地址转换再出去?

答: 是可以的.在Windows2000下只有通过netsh.exe来实现
netsh ras ip set addrassign method = pool
#使用地址池的方式分配IP
netsh ras ip add range from = 192.168.3.1 to = 192.168.3.254
#地址池的范围是从192.168.3.1到192.168.3.254,这里用的是一个虚拟的内部
地址池.
netsh routing ip nat install #安装NAT协议
netsh routing ip nat add interface= 本地连接 mode =full
#设置"本地连接"这块网卡为对外网卡(进行地址和端口转换),注意此时
remoteregistry服务必须处于启动状态
netsh routing ip nat add interface=内部 mode=private
#设置"内部"这块虚拟网卡为内部地址,这块网卡是操作系统虚拟的一块不可见
网卡


问题十三: 能否对虚拟的VPN网卡进行sniff?

答: 曾经用了三种软件在服务器和客户端进行了测试:
Sniffer pro4.6, tcpdump, netmon.exe(MS自带的网络监视器)

结果发现:
1.Sniffer pro4.6无法找到虚拟的VPN网卡,因此不能对虚拟的VPN网卡进行监测

2.tcpdump倒是可以对虚拟的VPN网卡监测(tcpdump -i \device\packet_NdisWanIP)
可以无论在服务器端还是客户端,一旦监测这块虚拟的VPN网卡,那么VPN将不再
能够使用.(尽管显示VPN还处于连接状态,但已经无法工作了)

3.只有netmon.exe(网络监视器)可以正常工作,不影响VPN的使用,同样还可以监测
该虚拟的VPN网卡上流经的数据

问题十四: 使用VPN这块虚拟的网卡有什么特性?

答:首先看一下官方的说法:
当建立RAS或VPN连接时,为了能与RAS/VPN客户实现通信,RAS服务器从RAS静态
IP地址池或DHCP中提取一个IP地址,然后为每个连接至服务器的客户分配一个
IP地址.RAS/RRAS必须使这些IP地址绑定到一个适配器上.由于不存在物理适配
器,将创建一个虚拟的适配器,称为NDISWAN.

WindowsNT客户端将为每个拔出的连接创建一个NDISWAN适配器,为拔入/拔出连
接配置的Windows NT RAS服务器将创建一个NDISWAN适配器用于与RAS/VPN客户
的通信,为每个拔出的连接创建一个NDISWAN 适配器.

只有当第一个RAS/VPN客户建立连接后,RAS服务器才为拔入的连接创建一个
NDISWAN适配器.IP地址被绑定到NDISWAN适配器上,直到RAS服务停止.

这个NDISWAN适配器仅对RAS/VPN客户的请求作出响应.局域网客户无法PING通
这个NDISWAN接口。

NDISWAN在RAS/RRAS中是有连接才创建.对于PPTP,创建的NDISWAN适配器数与所
配置的 PPTP 端口数相同。

查看 NDISWAN 适配器信息。

可以通过在命令行键入 ipconfig/all 来查看 NDISWAN 适配器,也可以在注册
表的下列位置查看 NDISWAN 适配器:
HKLM\SOFTWARE\Microsoft\NdisWan
HKLM\SYSTEM\CCS\Services\NdisWan(x)
HKLM\SYSTEM\CCS\Services\NetBT\Adapters\NdisWan(x)
HKLM\SYSTEM\CCS\Services\NwlnkIpx\NetConfig\NdisWan(x)

我的几个经验是:
1.VPN Client拨入VPN服务器后,VPN client获得的IP地址以及VPN服务器自己
保留的IP地址在VPN服务器网段里将不再可用,否则双方将出现地址冲突;

2.VPN服务器在NDISWAN适配器尚未启用之前,其地址池中第一个地址(将被VPN
服务器自己使用)可以存在于VPN服务器所在网段,并且在VPN Client拨入VPN服
务其后也不影响VPN正常使用(不冲突);

3.VPN Client拨入VPN服务器后,如果VPN client获得的IP地址已经被VPN服务
器网段的机器使用,那么双方将不会出现冲突.表面上看VPN是正常的,实际上
VPN Client将不再能够通过VPN服务器出去. 




(二)


问题一: 为什么有的机器无法启动"路由与远程访问"服务?
答: 这可能与你启动了"Internet连接共享"(Internet Connection Sharing)服务有关,你可以用net stop sharedaccess来停止"Internet连接共享"服务,然后启动"路由与远程访问"服务.
问题二: 为什么启动"路由和远程访问"服务后在网络邻居"属性"看不到"传入的连接"呢?或者出现这样的情形,"路由和远程访问"服务已经启动,但是在网络邻居"属性"看不到"传入的连接".
答: 这是可能是你曾经配置过"网络路由器"的原因,由两种方法可以改正之:
方法一: 通过rrasmgmt.msc
1.启动"远程注册表服务"(net start remoteregistry),停止"路由和远程访问"服务(net stop remoteaccess);
2.运行rrasmgmt.msc,如果右键出现的是"禁止路由和远程访问",那么你先"禁止路由和远程访问",然后关闭rrasmgmt.msc.否则直接进入第三步;
3.运行rrasmgmt.msc,然后选择"配置并启用路由和远程访问",然后按下一步,选择"手动配置服务器",按一下步,然后选择"完成"结束安装;
4.这时候你打开网络邻居会看到"传入的连接"又出现了;
5.此时你运行rrasmgmt.msc,可以再次右键选择"禁用路由和远程访问",然后关闭rrasmgmt.msc.因为"手动配置服务器"打开了太多的服务.
7.然后你可以启动"路由和远程访问"服务,网络邻居属性里那个"传入的连接"又出现了.
方法二:运行regedit,打开HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess
Parameters把右窗口的DWORD值"RouterType"从2改成7(实际上只要不是2,其他任意整数均可).
问题三: 能不能通过命令行方式配置VPN服务器?
答:可以通过netsh.exe来实现:
netsh ras set user administrator permit #允许administrator拨入该VPN
netsh ras set user administrator deny #禁止administrator拨入该VPN
netsh ras show user #查看哪些用户可以拨入VPN
netsh ras ip show config #查看VPN分配IP的方式
netsh ras ip set addrassign method = pool #使用地址池的方式分配IP
netsh ras ip add range from = 192.168.3.1 to = 192.168.3.254 #地址池
的范围是从192.168.3.1到192.168.3.254
问题四: 一般情况下只有通过rrasmgmt.msc才能对VPN客户端连接数(默认情况下PPTP和L2TP各5个,直接并行端口1个),与连接方式(PPTP或是L2tp)进行修改.上文中将rrasmgmt.msc禁用了,是否有其他办法修改端口呢?
答: 有的,方法如下:
1.运行regedit,
打开HKEY_LOCAL_MACHINESYSTEMControlSetControlClass
{4D36E972--E325-11CE-BFC1-08002BE10318}000,0001,0002...
找到右窗口"DriverDesc"为"WAN 微型端口 (PPTP)"和"WAN 微型端口 (L2TP)"的目录
2.察看右窗口是否有DWORD值"WanEndpoints",如果有,则对之进行修改,如果没有,则新建一DWORD值"WanEndpoints",其大小为你要设定的连接数
3.重新启动机器.
经过研究,发现对于Win2k Srv或Win2k AdvSrv来说,通过注册表可以修改服务器接受的连接数,对于Win2k Pro来说,最多只能接受一个Client的连接,但是修改可以使之不接受Client的连接.
问题五: 开了VPN服务后,有时日志里会有这么一项:
事件类型: 警告
事件来源: RemoteAccess
事件种类: 无
事件 ID: 20192
日期: 2002-8-2
事件: 8:55:12
用户: N/A
计算机: COMPUTER
描述:
找不到证书。使用在IPSec上的L2TP协议的连接要求安装机器证书,这也叫做计算机证书.将不会接受L2TP呼叫.
这是怎么回事,怎么才能解决这个问题呢?
答:这是因为Windows为L2TP连接的VPN自动创建一个IPsec策略,这个IPsec策略使用本地机器上的证书来进行双方的认证.如果本地机器没有合适的证书,那么就会出现上面的问题.有两种办法可以解决之:
方法一:取消L2TP VPN自动创建的IPsec策略
运行regedit.exe,
打开HKEY_LOCAL_MACHINESystemCurrentControlSetServicesRasmanParameters
新建一DWORD值ProhibitIPsec,并将值设置为1
方法二,取消L2TP方式的VPN
运行regedit.exe,打开HKEY_LOCAL_MACHINESYSTEMControlSetControlClass{4D36E972--E325-
11CE-BFC1-08002BE10318}000,0001,0002...
找到右窗口"DriverDesc"为"WAN 微型端口 (L2TP)"
把DWORD值"WanEndpoints"改为0即可
问题六: 怎么做一个认证方式为预共享密钥的L2TP/IPsec方式的VPN?
答:可以参照如下步骤
步骤一:.首先,打开L2TP端口一般情况下用Win2k Server通过常规方式搭建的VPN服务器对客户端连接情况是PPTP和L2TP各5个,直接并行端口1个.可通过如下方式修改支持的使用L2TP的VPN客户端的个数.
运行regedit,打开
HKEY_LOCAL_MACHINESYSTEMControlSetControlClass{4D36E972--E325-
11CE-BFC1-08002BE10318}000,0001,0002...
找到右窗口"DriverDesc"为"WAN 微型端口 (L2TP)"的目录.
察看右窗口是否有DWORD值"WanEndpoints",如果有,则对之进行修改,如果没有,则新建一DWORD值"WanEndpoints",其大小为你要设定的连接数.
2.取消L2TP VPN自动创建的使用证书方式认证IPsec策略
运行regedit.exe,打开
HKEY_LOCAL_MACHINESystemCurrentControlSetServicesRasmanParameters
新建一DWORD值ProhibitIPsec,并将值设置为1
3.设置IPsec策略保护L2TP通讯,保护内容为本机1701端口到其他任何机器1701端口的所有UDP通讯.如果安装了Win2000 Resource Kit,使用如下命令:
ipsecpol -w reg -p VPN -r VPN -a preshare:"vpn"
-x -n ESP[3DES,SHA]3600S/100000KP ESP[3DES,MD5]3600S/100000KP ESP[DES,
SHA]3600S/100000KP ESP[DES,MD5]3600S/100000KP
-f 0:1071+*:1071:udp
问题七: PPTP方式和L2TP方式的VPN有何异同?
答:与其协议和工作方式有关
使用PPTP方式的VPN连接时,VPN服务器端保持着1723端口与客户端一任意端口的TCP连接,TCP端口1723上跑的是PPTP Control Message,包括了PPTP隧道创建,维护和终止之类的日常管理工作(建立/断开VPN连接的请求等).客户端通过TCP与服务器1723端口建立连接后,进入基于GRE(通用路由协议--IP协议编号为47,TCP的IP协议编号为6)的PPP协商,包括了用户验证,数据传输等所有通讯.断开VPN连接时又用到了基于1723端口的PPTP Control Message.
也就是说,PPTP方式的VPN连接,VPN客户端的建立/断开连接请求都是通过和服务器的TCP 1723端口用PPTP协议联系的,至于具体的用户验证,数据传输等都是通过PPP协议来通讯的,而PPP协议又是跑在GRE(和TCP,UDP协议平行的协议,GRE的IP协议编号为47)之上的.
PPTP方式的VPN有以下几个特点:
1.VPN客户端可以使用私有地址通过NAT服务器来连接具有合法地址VPN服务器;
2.VPN连接时只有一层验证--就是用户身份验证
使用L2TP方式VPN连接时,VPN服务器保持着1701端口与客户端1701端口的UDP"连接".由于Microsoft不鼓励将L2TP直接暴露在网络中,因此自动为L2TP连接创建一个使用证书方式认证IPsec策略(当然可以通过修改注册表使证书认证变成与共享密钥认证)
因此L2TP通讯就被裹在IPsec策略创建的Ipsec隧道内,用ipsecmon可以看清楚实际上还是1701<-->1701的UDP通讯
VPN开始通讯时,需要双方交换密钥,这是通过UPD 500端口的ISAKMP来实现的.从此以后所有的VPN通讯,包括建立/断开连接请求,用户验证,数据传输都是通过ESP(与TCP,UDP协议平行的协议,ESP的IP编号为50)之上传输的.
L2TP/IPsec方式的VPN有以下几个特点:
1.VPN客户端无法使用私有地址来连接具有合法地址的VPN服务器(2002年末经过Microsoft公司的努力(Microsoft Knowledge Base Article - 818043),使用了NAT-T技术,可以让L2TP/IPsec方式的VPN可以穿越内网)
2.VPN连接需要两层验证:密钥验证和用户身份验证(其中密钥是Ipsec层面的认证)
问题八: 有无办法纪录VPN连接的日志?
答: 有的,一般可以通过设置radius服务器来实现外,还有如下方法:
通过命令行下操作实现PPP等日志文件netsh ras set tracing * enable这时候目录C:WinNTtracing下将会有一堆log文件.
另外,运行regedit.exe,打开
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRemoteAccess
Parameters在右窗口将DWORD"值LoggingFlags"改为"3"
然后就可以在eventvwr.msc的"系统日志"下看到关于"remoteaccess"的信息.
其中DWORD值"LoggingFlags"对应的数字含义如下:
0:禁用事件日志
1:只纪录错误
2:记录错误及警告(这是默认值)
3:记录最多信息
问题九: 如何使用Radius服务器实现对VPN的记账功能?
答:可参照如下步骤
1.安装并运行IAS服务
运行sysocmgr -i:sysoc.inf,
选中"网络服务--Internet验证服务",然后安装.
安装完毕运行IAS服务,net start ias
2.安装并运行VPN服务
具体不再详述.
3.运行netsh.exe
E:WINNTsystem32>netsh
netsh>ras aaaa
ras aaaa>set accounting radius
要使改动生效,必须重启动远程访问服务。
ras aaaa>add acctserver name = "本机器名称" init-score = 5 port = 1813 timeo
ut = 30 messages = disabled
要使改动生效,必须重启动远程访问服务。
4.运行ias.msc(要保证remoteregistry服务正处于运行状态)
"客户端"有窗口新建一"客户端",名称为VPN,客户端地址为"本机器的IP",都按照默认的设定.
"远程访问记录"右窗口记录着日志记录的地方,以及日志记录的内容设置.设置里最好三个选项都打上勾.
"远程访问策略"一般是验证用户时候用的,如果用的是windows自带的用户验证,可以不必设置.为了使iaslog.log看着舒服,可以把"如果启用拨入许可,就允许访问"改成"authen".
补充:Win2000 ResourceKit中的iasparse.exe可以对iaslog.log进行分析.
问题十: 默认情况下,拨到VPN服务器后,所有的网络数据都是要经过VPN服务器的(本地网络除外),对于一些站点,我们更希望直接访问而不通过VPN,那该怎么办呢?
答: 可以通过route add命令来为那些站点设定特定路由.
比如说,本地网络是192.168.0.5/24,网关是192.168.0.1现在正连接到一个VPN服务器,这时候对于202.117.1.8的访问想通过原有的线路,那么可以用route add 202.117.1.8 mask 255.255.255.255 192.168.0.1来实现,这时候访问202.117.1.8将不再通过VPN服务器了.
问题十一: 默认情况下,拨到VPN服务器后,所有的网络数据都是要经过VPN服务器的(本地网络除外),然而,有时候我们只希望对一些特定的站点的访问从VPN服务器经过,其他都还是和原来一样,应该怎么做呢?
答:可以通过修改VPN连接的属性来实现,右键"网上邻居"属性,打开"网络和拨号连接",找到拨出VPN名称(默认名字是"虚拟专用连接"),右键"VPN名称"的属性,选择"网络--'Internet协议(TCP/IP)'--高级--常规",把"在远程网络上使用默认网关"那一项的勾去掉即可.这样所有的网络访问都将不再通过VPN服务器了.当然可以通过route add命令来为一些站点设定特定路由.
比如说,本地网络是192.168.0.5/24,网关是192.168.0.1,拨到一VPN服务器,得到新的IP为192.168.3.3/32经过先前的设置,所有的网络数据都将不再经过VPN服务器了,但对于202.117.1.8的访问想通过VPN服务器实现,可以用route add 202.117.1.8 mask 255.255.255.255 192.168.3.3来实现,这时候访问202.117.1.8将通过VPN服务器.
问题九: VPN可不可以穿透内网以及串联?
答: 所谓穿透内网,就是说VPN Client可以位于一个使用内部地址的网络内,而VPN服务器位于公网上一个合法的IP地址;
所谓串联,是先拨一个VPN服务器,然后再拨第二个VPN服务器.(本来第二个VPN服务器是你不知能直接访问的,但是通过第一个VPN就可以使用第二个VPN服务器).
对于PPTP方式的VPN来说,是可以穿透内网的,也是可以串联的.
原来L2TP/IPsec模式的VPN是无法穿越内网的,但是经过Microsoft公司的努力(Microsoft Knowledge Base Article - 818043),使用了NAT-T技术,可以让L2TP/IPsec方式的VPN可以穿越内网,当然也可以串联.
问题十二: 单网卡VPN服务器能否将给拨入的客户一个虚拟的内部地址然后通过VPN服务器进行地址转换再出去?
答: 是可以的.在Windows2000下只有通过netsh.exe来实现
netsh ras ip set addrassign method = pool
#使用地址池的方式分配IP
netsh ras ip add range from = 192.168.3.1 to = 192.168.3.254
#地址池的范围是从192.168.3.1到192.168.3.254,这里用的是一个虚拟的内部地址池.
netsh routing ip nat install #安装NAT协议
netsh routing ip nat add interface= 本地连接 mode =full
#设置"本地连接"这块网卡为对外网卡(进行地址和端口转换),注意此时remoteregistry服务必须处于启动状态
netsh routing ip nat add interface=内部 mode=private
#设置"内部"这块虚拟网卡为内部地址,这块网卡是操作系统虚拟的一块不可见网卡
问题十三: 能否对虚拟的VPN网卡进行sniff?
答: 曾经用了三种软件在服务器和客户端进行了测试:Sniffer pro4.6, tcpdump, netmon.exe(MS自带的网络监视器)
结果发现:
1.Sniffer pro4.6无法找到虚拟的VPN网卡,因此不能对虚拟的VPN网卡进行监测
2.tcpdump倒是可以对虚拟的VPN网卡监测(tcpdump -i devicepacket_NdisWanIP)可以无论在服务器端还是客户端,一旦监测这块虚拟的VPN网卡,那么VPN将不再能够使用.(尽管显示VPN还处于连接状态,但已经无法工作了)
3.只有netmon.exe(网络监视器)可以正常工作,不影响VPN的使用,同样还可以监测该虚拟的VPN网卡上流经的数据
问题十四: 使用VPN这块虚拟的网卡有什么特性?
答:首先看一下官方的说法:
当建立RAS或VPN连接时,为了能与RAS/VPN客户实现通信,RAS服务器从RAS静态IP地址池或DHCP中提取一个IP地址,然后为每个连接至服务器的客户分配一个IP地址.RAS/RRAS必须使这些IP地址绑定到一个适配器上.由于不存在物理适配器,将创建一个虚拟的适配器,称为NDISWAN.
WindowsNT客户端将为每个拔出的连接创建一个NDISWAN适配器,为拔入/拔出连接配置的Windows NT RAS服务器将创建一个NDISWAN适配器用于与RAS/VPN客户的通信,为每个拔出的连接创建一个NDISWAN 适配器.
只有当第一个RAS/VPN客户建立连接后,RAS服务器才为拔入的连接创建一个NDISWAN适配器.IP地址被绑定到NDISWAN适配器上,直到RAS服务停止.
这个NDISWAN适配器仅对RAS/VPN客户的请求作出响应.局域网客户无法PING通这个NDISWAN接口。
NDISWAN在RAS/RRAS中是有连接才创建.对于PPTP,创建的NDISWAN适配器数与所配置的 PPTP 端口数相同。
查看 NDISWAN 适配器信息。
可以通过在命令行键入 ipconfig/all 来查看 NDISWAN 适配器,也可以在注册表的下列位置查看 NDISWAN 适配器:
HKLMSOFTWAREMicrosoftNdisWan
HKLMSYSTEMCCSServicesNdisWan(x)
HKLMSYSTEMCCSServicesNetBTAdaptersNdisWan(x)
HKLMSYSTEMCCSServicesNwlnkIpxNetConfigNdisWan(x)
我的几个经验是:
1.VPN Client拨入VPN服务器后,VPN client获得的IP地址以及VPN服务器自己保留的IP地址在VPN服务器网段里将不再可用,否则双方将出现地址冲突;
2.VPN服务器在NDISWAN适配器尚未启用之前,其地址池中第一个地址(将被VPN服务器自己使用)可以存在于VPN服务器所在网段,并且在VPN Client拨入VPN服务其后也不影响VPN正常使用(不冲突);
3.VPN Client拨入VPN服务器后,如果VPN client获得的IP地址已经被VPN服务器网段的机器使用,那么双方将不会出现冲突.表面上看VPN是正常的,实际上VPN Client将不再能够通过VPN服务器出去.
ISA Server服务器角色
根据你的需要,ISA Server计算可能会作为其他服务功能或者角色使用。下表列出了可能的服务器角色,并且描述了何时会使用此种角色以及需要启用的服务:
服务器角色
使用场景
需要的服务
启动模式
路由和远程访问服务器
分配给此角色的用户和组可以监控ISA Server计算机和网络活动,但是不能配置指定的监控功能。
Routing and Remote Access
手动
路由和远程访问服务器
分配给此角色的用户和组可以监控ISA Server计算机和网络活动,但是不能配置指定的监控功能。
Remote Access Connection Manager
手动
路由和远程访问服务器
分配给此角色的用户和组可以监控ISA Server计算机和网络活动,但是不能配置指定的监控功能。
Telephony
手动
路由和远程访问服务器
分配给此角色的用户和组可以监控ISA Server计算机和网络活动,但是不能配置指定的监控功能。
Workstation
自动
路由和远程访问服务器
分配给此角色的用户和组可以监控ISA Server计算机和网络活动,但是不能配置指定的监控功能。
Server
自动
远程桌面管理的终端服务器
选择此角色则启用ISA Server计算机的远程管理
Server
自动
远程桌面管理的终端服务器
选择此角色则启用ISA Server计算机的远程管理
Terminal Services
手动
注意:在下列情况中,Server服务的启动模式应该设置为“自动”:
网管日记——vpn和邮件服务器的故障处理
今天上午,实验室的vpn在宿舍不能连接,错误代码800。而实验室内网仍可以正常出校。依次检查网关服务器上所有和vpn及远程连接相关的功能、服务和设置。
查看网关服务器的ISA server,在firewall policy里面,vpn服务并没有被禁;打开管理工具-服务,remote access manager服务也使正常启动。重启网关多次问题仍然存在,在ISA server的alert里,开机后出现错误是“configuration error”。而在配置上并没有看出存在任何问题。
在cmd中用命令“netstat \an”查看本地网络服务和端口,发现没有vpn的端口1732,而有一系列6xxx的连续端口,很不正常。在ISA server中monitor queueing,发现10.0.0.2的服务是6xxx的连续端口,遂封之。
打开管理工具-路由与远程访问,提示对话框连接数据库资源出错(大概意思);发现本地服务器上为红色箭头,此服务未正常启动。右键选择所有任务-启动,无法启动,提示出错代号为“8007042a”,google得知原因可能是开启了internet连接共享(ICS),于是打开网络连接,选择属性-高级,发现internet connection shareing并未开启,排除这个原因。进一步打开管理工具-事件查看器-系统,查看错误信息,发现错误为 Routing and Remote Access 16389 (0x4005)。而将路由与远程访问的属性设置为“仅用于局域网路由选择”,就可以启动它。google错误码得知,原因是ISA数据库文件被损坏导致读错误,要从windows server2003中提取出相应的两个文件覆盖本机系统目录下的同名文件,具体操作http://support.microsoft.com/?scid=kb;en-us;840686&x=8&y=14。然后将路由与远程访问的属性设置为“用于局域网和请求拨号路由选择”和“远程访问服务器”,OK!
vpn可以正常启动后,vpn可以连接上网关服务器,vpn用户却仍不能登入,错误是“帐户没有权限”。这是因为IAS数据库被覆盖,需要重新向其中写入vpn用户组。在ISA server中virtual private network界面下,点击右边的configure VPN client access,在group标签内删除vpn用户组再重新添加,OK!
同是今天上午,邮件服务器down掉,一看,网线被人拔了,k!插上网线后,确保它可以上网,邮件列表还是不能工作,信被全部退回(message blocked)。邮件列表的问题通常是域名的检查导致接收方认为是垃圾邮件。比如说吧,我从lmj@mails.tsinghua.edu.cn给列表students@cpu.tsinghua.edu.cn(其中包含几十个邮件地址)发信,邮件服务器将信件转发。接收方检查邮件来源应该是mails.tsinghua.edu.cn,而实际上却是cpu.tsinghua.edu.cn,因而认为是垃圾邮件,导致转发失败。在邮件服务器上开启了注册邮箱的邮件服务,在浏览器内输入 http://127.0.0.1:8080 ; 即可进行注册。
没有太好的处理方法,基本上就是从lmj@cpu.tsinghua.edu.cn发信给students@cpu.tsinghua.edu.cn来保证域名一致。至于校外的邮箱,只好手动添加在列表的后面了:(


阅读更多

没有更多推荐了,返回首页