PPTP配置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章PPTP配置
2.1 PPTP概述
Point-to-Point-Tunneling Protocol (PPTP) 是支持多协议VPN的一种网络技术,使得远程用户通过Microsoft Windows NT® Workstation, Windows® 95, Windows® 98 和Windows® 2000以及其它具备ppp功能的系统拨入到本地ISP,就能跨越Internet安全地连接并访问公司网络。
其标准说明文档为RFC 2637,最早由Microsoft和几家业内领先的通讯设备开发商共同提出,现已推荐到Internet Engineering Task Force(IETF)。
PPTP定义了一种在IP网络上通过隧道传送PPP报文的协议,它没有对PPP协议进行任何修改,不过定义了一个新的PPP报文承载工具。
通过定义客户端-服务器的体系结构,PPTP把网络服务器(Network Access Servers ,NAS)的功能分开由PNS(PPTP Network Server)和PAC(PPTP Access Concentrator)共同实现。
PNS设计运行在通用操作系统,基于TCP/IP网络,只须具备IP接口硬件;而PAC则一般具有一个或多个PSTN、ISDN或其它具备PPP功能的物理接口。
RGNOS目前支持作为PNS接入服务器,即接受远程客户端发起的PPTP隧道。
在这种情况下,路由器接受来自远程PPTP客户端的连接请求并协商建立隧道。
2.2 PPTP服务端配置
2.2.1 配置任务列表
配置本地地址池(可选);
配置用户信息(可选);
配置vpdn全局参数(必须);
配置virtual-template接口(必须);
配置vpdn-group(必须);
2.2.2 配置本地地址池
对于配置PPTP服务端,这一步骤是可选的。
作为PNS,为了接受远程客户端发起的PPTP 连接,如果远程客户端没有设置在VPN内使用的IP地址就需要为其分配IP地址。
一般情况下,是从一个设定的地址池内将空闲的IP地址分配给客户端,RGNOS提供下面的命令来配置本地地
其中poolname是创建/设置的本地地址池的名称,first-ip是本地地址池设定的地址范围的首地址,last-ip是本地地址池设定的地址范围的末地址。
2.2.3 配置用户信息
对于配置PPTP服务端,这一步骤是可选的。
配置用户信息,是为了对试图远程PPTP接入本地的客户端进行用户身份验证。
RGNOS提供下面的命令来配置用户信息。
其中user-name是允许拨入的用户名称,password是用户对应的口令。
路由器在本地维护一个
允许访问的(拨入)用户的名称与对应口令的数据库。
2.2.4 配置vpdn全局参数
对于配置PPTP服务端,这一步骤是必须的。
它将vpdn的全局工作参数。
设置vpdn全局参数包括:
启用/禁用vpdn功能;
设置vpdn源地址;
其中,启用/禁用vpdn是必须,而设置vpdn源地址则是可选的。
2.2.4.1 启用/禁用vpdn功能
RGNOS提供下面的命令让用户可以决定是否启用vpdn功能。
如果用户要求路由器接受远程客户端PPTP接入并建立PPTP隧道与会话,那么就必须在路由器上启用vpdn功能。
需要注意的是,如果禁用vpdn功能那么所有已经存在的PPTP隧道以及会话继续保留,但新的PPTP隧道和会话不允许再创建。
2.2.4.2 设置vpdn源地址RGNOS提供下面的命令让用户设置vpdn功能使用(本地)源地址。
在
2.2.5 配置virtual-template接口对于配置PPTP服务端,这一步骤是必须的。
它将成为绑定并负载PPTP会话virtual-access接口的模板。
配置virtual-template包括: 设置virtual-template接口(必须); 设置本地IP地址(必须); 设置身份验证模式(可选); 设置对端IP地址(可选); 其中,设置本地IP地址,设置身份验证模式与设置对端IP地址可以参考说明接口配置指导的相关章节。
2.2.5.1 设置virtual-template接口RGNOS提供下面的命令让用户可以设置virtual-template接口。
其中number是指定的virtual-template接口的序号。
创建的virtual-template将作为绑定并负载PPTP会话的virtual-access接口的配置模板。
2.2.6 配置vpdn-group
对于配置PPTP服务端,这一步骤是必须的。
它将设定vpdn-group工作参数。
配置vpdn-group 包括:
设置vpdn-group(必须);
设置隧道模式(必须);
设置隧道协议(必须);
设置使用的虚模板(必须);
设置对端名称(可选);
设置本地名称(可选);
设置vpdn-group源地址(可选);
设置PPTP流控参数(可选);
设置PPTP隧道参数(可选);
2.2.6.1 设置vpdn-group
RGNOS提供下面的命令让用户可以设置vpdn-group接口。
2.2.6.2 设置隧道模式
RGNOS
如果用户希望本地路由器承担PNS的功能就必须允许接受远程客户端拨入。
2.2.6.3 设置隧道协议
RGNOS
在设置隧道协议之前,必须首先设定隧道模式。
如果用户希望本地路由器承担PNS
的功能就必须配置protocol pptp或者protocol any。
2.2.6.4 设置使用的虚模板
RGNOS提供下面的命令让用户可以设置vpdn-group使用虚模板。
在设置vpdn-group使用的虚模板之前,必须首先设定隧道模式。
2.2.6.5 设置对端名称
RGNOS提供下面的命令让用户可以设置对端名称。
如果设定了对端名称,那么该
vpdn-group将只对主机名称与之匹配的远程客户端有效。
如果没有设置对端名称,那么该vpdn-group将成为系统默认的vpdn-group,它可以为任意远程客户端提供vpdn服务。
如果配置的多个vpdn-group都没有设定对端名称,则系统将使用找到的第一个满足条件的vpdn-group接受远程拨入。
命令目的
Red-Giant(config-vpdn)#terminate-from hostname name 设置对端主机名称
Red-Giant(config-vpdn)#no terminate-from hostname 取消对端名称设置
其中name为对端主机名称。
2.2.6.6 设置本地名称
RGNOS提供下面的命令让用户可以设置本地名称,该名称将作为一个记录性的属性发送给对端。
命令目的
Red-Giant(config-vpdn)# local name name 设置本地名称
Red-Giant(config-vpdn)#no local name 取消本地名称设置
其中name为本地名称。
默认情况下,RGNOS使用路由器的名称作为本地名称发送给隧道的对端主机。
2.2.6.7 设置vpdn-group源地址
RGNOS提供下面的命令让用户可以设置vpdn-group源地址。
远程客户端发送的隧道建立请求中的目的地址必须与之匹配,对应的vpdn-group才会被应用。
命令目的
Red-Giant(config-vpdn)# source-ip src-ip 设置vpdn-group源地址
Red-Giant(config-vpdn)#no source-ip 取消vpdn-group源地址设置
其中src-ip为vpdn-group源地址。
2.2.6.8 设置pptp流控参数
RGNOS提供下面的命令让用户可以设置pptp流控参数。
在一般应用中,此参数可以不用设置而使用默认值。
命令目的
Red-Giant(config-vpdn)# pptp flow-control receive-window winsize 设置pptp会话的接收窗口大小,取值范围是1—64
Red-Giant(config-vpdn)#no pptp flow-control receive-window 取消pptp会话接收窗口的设置,恢复为默认值,PAC为16,PNS为64
Red-Giant(config-vpdn)# pptp flow-control static-rtt interval 设置pptp会话报文收发等待ACK 的静态参考时间,取值范围是100—5000毫秒
Red-Giant(config-vpdn)#no pptp flow-control static-rtt interval 取消pptp会话报文收发等待ACK 的静态参考时间,恢复为默认值1500毫秒
其中winsize为pptp会话接收窗口大小,interval为等待ACK的静态参考时间。
2.2.6.9 设置pptp隧道参数
RGNOS提供下面的命令让用户可以设置pptp隧道参数。
在一般应用中,此参数可以不用设置而使用默认值。
命令目的
Red-Giant(config-vpdn)# pptp tunnel echo interval 设置pptp隧道主动发送echo的间隔时间,取值范围是0-1000秒
Red-Giant(config-vpdn)#no pptp tunnel echo 取消pptp echo发送间隔设置,恢复成默认值60秒
其中interval为pptp隧道主动发送echo的间隔时间,当为0时表示不主动发送echo,当不为0时表示在持续此时间间隔没有收到隧道对端的任何合法报文后主动发送echo探测隧道状态。
2.2.7 配置示例
本例的网络拓扑如图2-1所示。
本例使用锐捷R621路由器作企业局域网网关,并使用PPTP协议提供VPDN拨入服务。
使用一台Win2000 PC作为VPDN远程客户端创建到R621的PPTP隧道,并访问企业局域网内的服务器。
为便于测试,远程客户端和R621之间使用以太网模拟广域IP网络环境。
相关的IP地址定义如图所示。
图2-1 路由器作PPTP服务器的示例连接拓扑图下面分别给出R621与Windows 2000 的配置:
1).R621的配置:
R621#show running-config
Building configuration...
Current configuration:
hostname "R621"
!
!
username pc password 7 001B711212
!
!
ip subnet-zero
no ip domain-lookup
!
vpdn enable
!
vpdn-group 1
accept-dialin
protocol pptp
virtual-template 1
!
!
interface Ethernet0
ip address 192.168.12.1 255.255.255.0
!
interface FastEthernet0
ip address 192.168.201.123 255.255.255.0
!
interface Serial0
no ip address
shutdown
!
interface Virtual-Template1
ip address 1.1.1.1 255.255.255.0
peer default ip address pool pptp
ppp authentication pap
!
ip local pool pptp 1.1.1.2 1.1.1.254
ip classless
ip route 0.0.0.0 0.0.0.0 FastEthernet0
dialer-list 1 protocol ip permit
!
line con 0
line aux 0
line vty 0 4
exec-timeout 0 0
privilege level 15
password 1111
no login
!
end
R621#
2).Windows 2000的配置:
F:\>ver
Microsoft Windows 2000 [Version 5.00.2195]
F:\>ipconfig /all
Windows 2000 IP Configuration
Host Name . . . . . . . . . . . . : topding
Primary DNS Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Hybrid IP Routing Enabled. . . . . . . . : Yes WINS Proxy Enabled. . . . . . . . : No Ethernet adapter 本地连接: Connection-specific DNS Suffix . : Description . . . . . . . . . . . : STAR 901 Family Fast Ethernet r (ACPI) Physical Address. . . . . . . . . : 00-D0-F8-00-68-E5 DHCP Enabled. . . . . . . . . . . : No IP Address. . . . . . . . . . . . : 192.168.201.144 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.201.123 DNS Servers . . . . . . . . . . . : 202.101.143.141 Primary WINS Server . . . . . . . : 192.168.9.7 F:\>route print
=========================================================================== Interface List 0x1 ........................... MS TCP Loopback interface 0x2 ...00 d0 f8 00 68 e5 ...... PCI Bus Master Adapter
===========================================================================
=========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0
192.168.201.123 192.168.201.144 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 192.168.201.0 255.255.255.0 192.168.201.144 192.168.201.144 1 192.168.201.144 255.255.255.255
127.0.0.1 127.0.0.1 1 192.168.201.255 255.255.255.255 192.168.201.144 192.168.201.144 1 224.0.0.0 224.0.0.0 192.168.201.144 192.168.201.144 1 255.255.255.255 255.255.255.255 192.168.201.144 192.168.201.144 1 Default Gateway: 192.168.201.123
=========================================================================== Persistent Routes: None 在win2000的“网络和拨号连接”中新建连接,“网络连接类型”选择“通过internet连接到专用网络”,“公用网络”选择“不拨初始连接”,填入目标地址为192.168.201.123,命名此连接名称为vpdnconnect。
在vpdnconnect的属性中,指定vpdn服务器的类型为pptp,并在安全设置中定义使用PAP认证及可选加密。
在点击呼叫时,输入路由器所配置的用户名pc和密码1111。
配置完成,win2000拨入到路由器后,即可访问公司内部网的服务器,如服务器192.168.12.79,如下:F:\>ipconfig /all Windows 2000 IP Configuration Host Name . . . . . . . . . . . . : testpc Primary DNS Suffix . . . . . . . : Node Type . . . . . . . . . . . . : Hybrid IP Routing Enabled. . . . . . . . : Yes WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter 本地连接:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : STAR 901 Family Fast Ethernet Adapte
r (ACPI)
Physical Address. . . . . . . . . : 00-D0-F8-00-68-E5
DHCP Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.201.144
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . :
DNS Servers . . . . . . . . . . . : 202.101.143.141
Primary WINS Server . . . . . . . : 192.168.9.7
PPP adapter vpn_rgnos:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : WAN (PPP/SLIP) Interface
Physical Address. . . . . . . . . : 00-53-45-00-00-00
DHCP Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 1.1.1.4
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . . : 1.1.1.1
DNS Servers . . . . . . . . . . . :
F:\>
F:\>route print
===================================================================== ======
Interface List
0x1 ........................... MS TCP Loopback interface
0x2 ...00 d0 f8 00 68 e5 ...... PCI Bus Master Adapter
0x30000004 ...00 53 45 00 00 00 ...... WAN (PPP/SLIP) Interface
===================================================================== ======
===================================================================== ======
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 1.1.1.1 1.1.1.4 1
1.1.1.4 255.255.255.255 127.0.0.1 127.0.0.1 1
1.255.255.255 255.255.255.255 1.1.1.4 1.1.1.4 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.201.0 255.255.255.0 192.168.201.144 192.168.201.144 1
192.168.201.123 255.255.255.255 192.168.201.144 192.168.201.144 1
192.168.201.144 255.255.255.255 127.0.0.1 127.0.0.1 1
192.168.201.200 255.255.255.255 192.168.201.100 192.168.201.144 1
192.168.201.255 255.255.255.255 192.168.201.144 192.168.201.144 1
224.0.0.0 224.0.0.0 1.1.1.4 1.1.1.4 1
224.0.0.0 224.0.0.0 192.168.201.144 192.168.201.144 1
255.255.255.255 255.255.255.255 192.168.201.144 192.168.201.144 1
Default Gateway: 1.1.1.1
===================================================================== ======
Persistent Routes:
None
F:\>
F:\>ping 1.1.1.1
Pinging 1.1.1.1 with 32 bytes of data:
Reply from 1.1.1.1: bytes=32 time<10ms TTL=255
Reply from 1.1.1.1: bytes=32 time<10ms TTL=255
Reply from 1.1.1.1: bytes=32 time<10ms TTL=255
Reply from 1.1.1.1: bytes=32 time<10ms TTL=255
Ping statistics for 1.1.1.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
F:\>ping 192.168.12.79
Pinging 192.168.12.79 with 32 bytes of data:
Reply from 192.168.12.79: bytes=32 time=10ms TTL=127
Reply from 192.168.12.79: bytes=32 time<10ms TTL=127
Reply from 192.168.12.79: bytes=32 time<10ms TTL=127
Reply from 192.168.12.79: bytes=32 time<10ms TTL=127
Ping statistics for 192.168.12.79:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 10ms, Average = 2ms
而路由器上的路由信息如下:
R621#sh ip route
Codes: C - connected, S - static, R - RIP
O - OSPF, IA - OSPF inter area
E1 - OSPF external type 1, E2 - OSPF external type 2
Gateway of last resort is 0.0.0.0 to network 0.0.0.0
1.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 1.1.1.0/24 is directly connected, Virtual-Access1
C 1.1.1.4/32 is directly connected, Virtual-Access1
C 192.168.12.0/24 is directly connected, Ethernet0
C 192.168.201.0/24 is directly connected, FastEthernet0
S* 0.0.0.0/0 is directly connected, FastEthernet0
R621#
需要注意的是,为使远程VPDN用户能够访问内部网服务器,这些服务器的必须配置可以到达远程拨入用户的路由。
一般情况下,只要将这些服务器的默认网关设为路由器的内部网关地址就可以了,在本例中即为192.168.12.1。
2.3 PPTP的监控与维护
2.3.1 PPTP的监控
RGNOS提供了show vpdn 命令可以查看当前创建隧道和远程拨入用户的情况。
命令目的
Red-Giant# show vpdn tunnel 显示当前所有vpdn tunnel的信息
Red-Giant# show vpdn
session
显示当前所有vpdn session的信息
Red-Giant# show vpdn 显示当前所有vpdn tunnel和session的信息
如配置示例中,可监控到如下信息:
R621#sh vpdn %No active L2TP tunnels PPTP Tunnel and Session Information Total tunnels 1 sessions 1 LocID Remote Name State Remote Address Port Sessions 1 estbed 192.168.201.144 1436 1 LocID RemID TunID Intf Username State Last Chg 1 49152 1 Vi1 pc connected 00:31:33 R621# 其中,分类显示L2TP和PPTP隧道及会话的信息。
先显示隧道类型及统计值,后显示所有隧道信息,以及所有会话信息。
隧道和会话的统计值,如:Total tunnels 1 sessions 1;隧道信息包括隧道ID(LocID)、远程主机名(Remote Name)、隧道状态(State)、远程主机的IP地址(Remote Address)、PPTP隧道的TCP端口号(Port)、该隧道包含的会话数(Sessions);会
话信息包括本地呼叫ID(LocID)、远程呼叫ID(RemID)、该会话所属的隧道ID(TunID)、该会话使用的Virtual-Access接口名(Intf)、用户名(Username)、会话状态(State)以及最近状
态变化的时间(Last Chg)。
2.3.2 PPTP的维护RGNOS提供了clear vpdn 命令可以清除指定的隧道及其包含的所有会话。
命令目的Red-Giant# clear vpdn tunnel [ [l2tp | pptp] [remote name] ] 清除所有或者指定类型、远程主机名的隧道及其所包含的会话remote name 为指定需要清除隧道的远程主机名。
在示例配置的试验中,若在隧道创建后clear vpdn tunnel pptp或者clear vpdn tunnel则将会清除会话和隧道,命令执行后:R621#show vpdn %No active L2TP tunnels %No active PPTP tunnels 在网络调试时,RGNOS提供了debug vpdn 命令可以跟踪pptp隧道和会话的建立过程。
另外,debug ppp的调试信息对于跟踪呼叫故障也极为重要,具体请参考ppp协议的相关说明。
命令目的Red-Giant# debug vpdn [ error | event | packet ] 在配置终端显示vpdn隧道和会话创建及使用过程中的调试信息。
Error表示错误信息,event表示一般事件,packet则表示控制报文内容说明:这些debug信息由于RGNOS软件版本更迭可能会略有不同。
创建pptp隧道和会话过程中debug vpdn event输出如下例:VPDN: Pptp recv start-control-connection-request from host 192.168.2.144 VPDN: Pptp get tunnel info for 192.168.2.144 ok! VPDN: Pptp send start-control-connection-reply, ok
VPDN: Pptp tunnel id 0 state change: idle --> estbed
VPDN: Pptp tunnel id 0 recv outgoing-call-request!
VPDN: Must process using ACCEPT_DIALIN parameters
Get virtual-access from free queue: Virtual-Access1
Clone virtual-access from interface Virtual-Template1
VPDN: Pptp session id 0 state change: idle --> connected
VPDN: Pptp tunnel id 0 send out-call reply
VPDN: Pptp tunnel to 192.168.2.144 peer callid 1 recv set-linkinfo
%UPDOWN: Interface Virtual-Access1, changed state to up
VPDN: Pptp tunnel to 192.168.2.144 peer callid 1 recv set-linkinfo
%UPDOWN: Line protocol on Interface Virtual-Access1, changed state to up 创建pptp隧道和会话过程中debug vpdn packet输出如下例:
VPDN: Pptp TCP read from host address - 192.168.2.144, inthresh=16, len=156
PPTP: I Start-Control-Connection-Request len 156 Magic Cookie 0x1A2B3C4D
Protocol Version 0x100
Framing Type 0x1
Bearer Type 0x1
Maximum Channels 0x0
Firmware Revision 0x893
Host Name:
Vendor String: Microsoft Windows NT
PPTP: O Start-Control-Connection-Reply len 156 Magic Cookie 0x1A2B3C4D
Protocol Version 0x100
Framing Type 0x2
Bearer Type 0x3
Maximum Channels 0x0
Firmware Revision 0x100
Host Name: Dingjs
Vendor String: Ret-Giant Network Operating System
VPDN: Pptp TCP read from host address - 192.168.2.144, inthresh=16, len=168
PPTP: I Outgoing-Call-Request len 168 Magic Cookie 0x1A2B3C4D
Call Id 0x4000
Call Serial Number 0x96A5
Min BPS 0x12C
Max BPS 0x5F5E100
Bearer Type 0x3
Framing Type 0x3
Rec Window Size 0x40
Proc Delay 0x0
Phone Number Length 0x0
Phone Number:
Subaddress:
PPTP: O Outgoing-Call-Reply len 32 Magic Cookie 0x1A2B3C4D
Call Id 0x1
Peer Call Id 0x4000
Result Code 0x1
Error Code 0x0
Cause Code 0x0
Connect Speed 0xFA00
Rec Window Size 0x10
Physical Channel Id 0x0
VPDN: Pptp TCP read from host address - 192.168.2.144, inthresh=16, len=24
PPTP: I Set-Link-Info len 24 Magic Cookie 0x1A2B3C4D
Peer Call Id 0x1
Send ACCM 0xFFFFFFFF
Recv ACCM 0xFFFFFFFF
%UPDOWN: Interface Virtual-Access1, changed state to up
Vi1 VPDN PROCESS Into tunnel: Sending 54 byte pak
Vi1 VPDN PROCESS Into tunnel: Sending 64 byte pak
Vi1 VPDN PROCESS Into tunnel: Sending 50 byte pak
VPDN: Pptp TCP read from host address - 192.168.2.144, inthresh=16, len=24
PPTP: I Set-Link-Info len 24 Magic Cookie 0x1A2B3C4D
Peer Call Id 0x1
Send ACCM 0xFFFFFFFF
Recv ACCM 0xFFFFFFFF
Vi1 VPDN PROCESS Into tunnel: Sending 45 byte pak
Vi1 VPDN PROCESS Into tunnel: Sending 46 byte pak
Vi1 VPDN PROCESS Into tunnel: Sending 187 byte pak
Vi1 VPDN PROCESS Into tunnel: Sending 56 byte pak
Vi1 VPDN PROCESS Into tunnel: Sending 64 byte pak
Vi1 VPDN PROCESS Into tunnel: Sending 50 byte pak
Vi1 VPDN PROCESS Into tunnel: Sending 50 byte pak
Vi1 VPDN PROCESS Into tunnel: Sending 52 byte pak
以和客户端的物理连接被中断时的打印输出为例,debug vpdn error信息如下:
VPDN: PPTP session Virtual-Access1 wait pak ack timeout(wait seq=37, ack=36), de
crease send window to half of current = 33!
VPDN: PPTP session Virtual-Access1 adjust ATO to 220 ms!
VPDN: PPTP session Virtual-Access1 wait pak ack timeout(wait seq=38, ack=36), de
crease send window to half of current = 16!
VPDN: PPTP session Virtual-Access1 adjust ATO to 280 ms!
VPDN: PPTP session Virtual-Access1 wait pak ack timeout(wait seq=39, ack=36), de
crease send window to half of current = 8!
VPDN: PPTP session Virtual-Access1 adjust ATO to 400 ms!
VPDN: Pptp EGRE encap fail, err=-4!
VPDN: PPTP session Virtual-Access1 wait pak ack timeout(wait seq=40, ack=36), de
crease send window to half of current = 4!
VPDN: PPTP session Virtual-Access1 adjust ATO to 640 ms!
2.3.3 常见问题解答
在使用PPTP协议提供VPDN接入服务的应用中,以下是一些比较常见问题:
在Windows2000创建到RGNOS的PPTP拨号连接的情况。
新建的拨号连接属性中,默认的“安全措施选项”是“典型(推荐设置)(T)”,应当改为“高级(自定义设置)(D)”,在“设置”中将“数据加密”配置为“可选加密(没有加密也可以连接)”,并根据RGNOS用于PPTP拨入的virtual-template配置的认证类型允许PAP、CHAP及MS-CHAP认证。
另外,新建的拨号连接属性中默认的“网络”标签中,VPN服务器类型是“自动”,这样将导致windows2000先尝试创建L2TP 隧道,失败后才创建PPTP隧道,从而需要等待比较长的时间。
所以,将VPN服务器类型直接指定为“点对点隧道协议(PPTP)”,可以更快地创建连接。
RGNOS的PPTP连接不支持快速转发。
当RGNOS路由器处在其它防火墙后面时,必须将防火墙TCP 1723端口打开。
第三章L2TP配置
3.1 L2TP概述
Layer 2 Tunnel Protocol(L2TP)是Internet Engineering Task Force(IETF)综合两种已有的隧道协议即Cisco公司的Layer 2 Forwarding(L2F)协议与微软的Point-to-Point Tunneling Protocol (PPTP)协议而提出的一项具有标准意义的隧道协议,其标准说明文档为RFC 2661。
L2TP是对Point-to-Point Protocol(PPP)的一种扩展,它依靠利用PPP实现用户身份验证和传输数据。
与PPTP不同的是,L2TP使用UDP作为控制消息与数据消息的传输协议。
L2TP也是实现VPN的一种重要和有效的方法。
VPN使得网络用户访问公司内部网更方便与安全,无论是拨号用户还是其他网络接入方式的用户都可以通过VPN轻松达到这个目的。
RGNOS支持两种模式的L2TP隧道。
本地客户端发起的L2TP通道。
在这种情况下,路由器充当L2TP客户端并主动发起协商与远程L2TP服务器建立隧道。
远程客户端发起的L2TP通道。
在这种情况下,路由器接受来自远程L2TP客户端的连接请求并协商建立隧道。
3.2 本地客户端发起
3.2.1 配置任务列表
创建并配置l2tp-class接口(可选);
创建并配置pseudowire-class接口(可选);
创建并配置virtual-ppp接口(必须);
3.2.2 创建并配置l2tp-class
对于实现本地客户端发起的L2TP隧道,这一步骤是可选的,可以通过它来设置L2TP控制连接的相关参数。
设置l2tp-class包括:
设置l2tp-class单元;
设置L2TP控制连接的时间参数;
设置L2TP控制连接验证参数;
设置L2TP控制连接的维护更新参数;
3.2.2.1 设置l2tp-class单元
RGNOS提供下面的命令让用户可以设置用以设定L2TP控制连接相关参数的l2tp-class单元。
命令目的
Red-Giant(config)#l2tp-class l2tp-class-name 创建/配置指定名称的l2tp-class接口
Red-Giant(config)#no l2tp-class l2tp-class-name 删除指定名称的l2tp-class接口
其中l2tp-class-name是创建/设置的l2tp-class单元的名称,这里创建的l2tp-class可以被pseudowire-class按其名称引用。
3.2.2.2 设置L2TP控制连接的时间参数
RGNOS提供下面的命令来设置L2TP控制连接的时间参数。
命令目的
Red-Giant(config-l2tp-class)# receive-window size 设置控制连接的接受窗口大小
Red-Giant(config-l2tp-class)#no receive-window 恢复系统默认的控制连接接受窗口大小
Red-Giant(config-l2tp-class)#retransmit {initial {retries initial-retries | timeout {max | min} initial-timeout} | retries retries | timeout {max | min} timeout} 设置控制连接重传参数
Red-Giant(config-l2tp-class)#no retransmit { initial {retries | timeout {max | min} }| retries | timeout {max | min} } 恢复系统默认得控制连接重传参数
Red-Giant(config-l2tp-class)# timeout setup seconds 设置建立控制连接可花费的最长时间
Red-Giant(config-l2tp-class)# no timeout setup 设置建立控制连接时间花费上限为默认值
其中,size为接受窗口尺寸,系统默认值为8;initial-retries为SCCRQ重传次数,系统默认值为2;initial-timeout是SCCRQ重传的时间间隔,系统默认的最小时间间隔为1秒,系统默认的最大时间间隔为8秒;retries是控制消息的重传次数,系统默认是15;timeout是控制消息重传的时间间隔,系统默认得最小时间间隔为1秒,系统默认的最大时间间隔为8秒;seconds是建立控制连接(Tunnel)的时间花费上限,系统默认值为300秒。
3.2.2.3 设置L2TP控制连接验证参数
RGNOS提供下面的命令来设置L2TP控制连接(Tunnel)验证参数。
命令目的
Red-Giant(config-l2tp-class)#authentication 要求进行通道身份验证
Red-Giant(config-l2tp-class)#no authentication 取消通道验证设置
Red-Giant(config-l2tp-class)#no hostname 使用默认的本地主机名
Red-Giant(config-l2tp-class)#hostname host-name 设置该控制连接对应的本地主机名称
Red-Giant(config-l2tp-class)#password
pass-words
设置通道口令
Red-Giant(config-l2tp-class)#no password 取消通道口令设置
在默认情况下,RGNOS不要求进行通道验证,并且使用路由器的名称作为本地主机名称。
如果要求通道验证,那么两端必须使用相同的通道口令。
其中,host-name 是用户设置的本地主机名称,pass-words是用于通道验证的口令。
3.2.2.4 设置L2TP控制连接的维护更新参数
RGNOS提供以下命令来实现控制连接(Tunnel)的维护更新参数设置。
命令目的
Red-Giant(config-l2tp-class)#hello
interval
设置Hello消息发送间隔
Red-Giant(config-l2tp-class)#no hello 恢复默认的Hello消息发送间隔
在这里,interval是Hello消息发送间隔,系统默认值为60秒。
3.2.3 创建并配置pseudowire-class
对于实现本地客户端发起的L2TP隧道,这一步骤是可选的,可以通过它来设置L2TP数据传输的相关参数。
设置pseudowire-class包括:
设置pseudowire-class单元;
设置L2TP数据传输封装模式;
设置L2TP数据传输IP参数;
设置L2TP控制连接参数;
3.2.3.1 设置pseudowire-class单元
RGNOS提供下面的命令让用户可以设置用以设定L2TP数据传输相关参数的pseudowire-class
单元。
命令目的
Red-Giant(config)# pseudowire-class pseudowire- class-name 创建/配置指定名称的pseudowire-class接口
Red-Giant(config)#no pseudowire-class pseudowire- class-name 删除指定名称的pseudowire-class接口
其中pseudowire-class-name是创建/设置的pseudowire-class单元的名称,这里创建的pseudowire-class可以被interface virtual-ppp接口的pseudowire规则按其名称引用。
3.2.3.2 设置L2TP数据传输封装模式
RGNOS提供以下命令来实现L2TP数据传输封装模式的设置。
命令目的
Red-Giant (config-pw-class)#encapsulation l2tpv2 设置数据传输封装模式
需要注意的是,一旦L2TP通道的数据传输封装模式被设定便不能再更改;如果用户需要在pseudowire-class接口上设置L2TP数据传输参数就必须首先设置L2TP数据传输封装模式。
3.2.3.3 设置L2TP数据传输IP参数
RGNOS提供以下命令来实现L2TP数据传输IP参数的设置。
命令目的
Red-Giant (config-pw-class)# ip dfbit set 禁止通道数据分片
Red-Giant (config-pw-class)# no ip dfbit set 允许通道数据分片
Red-Giant (config-pw-class)# ip ttl ttl-value 设置通道的IP头的TTL
Red-Giant (config-pw-class)# no ip ttl 使用默认TTL值
Red-Giant (config-pw-class)#ip local interface interface-name 指定通道的本地接口(地址)
Red-Giant(config-pw-class)#no ip local interface interface-name 取消通道本地接口(地址)指定
设置L2TP数据传输的IP参数实际上是设置负载L2TP的UDP数据的IP头参数。
在默认情况下,系统允许对通道数据分片,默认的TTL为255并且系统会按照指定的对端地址为其设置在路由上最接近的本地地址(接口)。
3.2.3.4 设置L2TP控制连接参数
RGNOS提供下面的命令让用户可以设置用L2TP控制连接参数。
命令目的
Red-Giant(config)# protocol l2tpv2 [l2tp-class-name] 设置L2TP控制连接参数
Red-Giant(config)# no protocol 使用默认的控制连接参数
这里l2tpv2是遵循用RFC 2661规范的L2TP协议来创建控制连接,这里使用参数
l2tp-class-name来引用已经存在的l2tp-class来限制控制连接参数,如果没有这个参数就使用系统默认的L2TP控制连接参数。
3.2.4 创建并配置virtual-ppp接口
对于实现本地客户端发起的L2TP隧道,这一步骤是必须的,它将创建一个指定的L2TP会话。
设置virtual-ppp接口包括:
设置virtual-ppp接口;
设置IP地址;
设置身份验证参数;
设置pseudowire规则;
其中,设置IP地址以及设置身份验证参数可以参考说明接口配置指导的相关章节。
3.2.
4.1 设置virtual-ppp接口
RGNOS提供下面的命令让用户可以设置建立L2TP会话的virtual-ppp接口。
命令目的
Red-Giant(config)#interface virtual-ppp number 创建/配置指定的virtual-ppp接口
Red-Giant(config)#no interface virtual-ppp
number
删除指定virtual-ppp接口
其中number是指定的virtual-ppp接口的名称。
创建的virtual-ppp接口将用以创建并绑定L2TP会话。
3.2.
4.2 设置pseudowire规则
RGNOS提供下面的命令让用户可以在virtual-ppp接口上设置建立L2TP会话的pseudowire规则。
命令目的
Red-Giant (config-if)# pseudowire peer-ip-address vcid {encapsulation l2tpv2 [pw-class pw-class-name] | pw-class pw-class-name } 设置pseudowire规则
Red-Giant (config-if)#no pseudowire 删除pseudowire规则
一旦在virtual-ppp接口上设置了pseudowire规则,virtual-ppp接口就会自动尝试与指定的LNS建立L2TP会话,如果尝试失败,virtual-ppp会在10秒后再次尝试建立L2TP 会话。
这里peer-ip-address是远程LNS的地址,vcid是全局标号,参数pw-class-name 是引用的pseudowire-class的名称。
3.2.5 配置示例
下面给出两个配置示例。
一个配置例子是使用Windows 2000 server作为远程L2TP Server,此时由于Windows 2000 server自身的限制,不进行通道验证。
另外一个例子是使用Cisco 2620
作为L2TP Server,此时进行通道验证。
3.2.5.1 与Windows 2000建立隧道
下面是使用Red-Giant路由器与Windows 2000 Server建立L2TP隧道的网络连接示意图,如图3-1所示。
下面分别给出R621与Windows 2000 Server的配置:
1).R621的配置:
R621#show running-config
Building configuration...
Current configuration:
! !
hostname "R621"
!
!
!
!
ip subnet-zero
no ip domain-lookup
!
!
!
l2tp-class l2x
hostname branch
!
pseudowire-class pw
encapsulation l2tpv2
protocol l2tpv2 l2x
ip local interface FastEthernet0
!
interface Ethernet0
ip address 192.168.201.1 255.255.255.0
ip nat inside
!
interface FastEthernet0
ip address 192.168.12.217 255.255.255.0
ip nat outside
!
interface Serial0
no ip address
shutdown
!
interface Virtual-PPP1
ip address negotiate
ip mtu 1460
ip nat outside
ppp pap sent-username rgnos password 7 072C04211A01
pseudowire 192.168.12.213 12 pw-class pw
ip nat inside source list 102 interface FastEthernet0 overload
ip nat inside source list 101 interface Virtual-PPP1 overload
ip classless
ip route 0.0.0.0 0.0.0.0 FastEthernet0 192.168.12.1
ip route 192.168.207.0 255.255.255.0 Virtual-PPP1
access-list 101 permit ip any 192.168.103.0 0.0.0.255
access-list 102 deny ip any 192.168.103.0 0.0.0.255
access-list 102 permit ip any any
!
line con 0
exec-timeout 0 0
line aux 0
line vty 0 4
privilege level 15
no login
!
end
在这个配置中,分支机构”Branch”的内部网络共享(使用NAT功能)接口virtual-ppp 1创建的与总部”Headquarters”的L2TP Tunnel来访问总部的内部网,”Branch”的内部网络共享(使用NAT功能)广域网接口interface FastEthernet 0来访问外部网络即Internet,这种数据流的分流是通过ACL(Access Control List)来控制的。
2).Windows 2000 Server的配置:
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有1985-2000 Microsoft Corp.
C:\>ipconfig /all
Windows 2000 IP Configuration
Host Name . . . . . . . . . . . . : BLIZZARD
Primary DNS Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Broadcast
IP Routing Enabled. . . . . . . . : Yes
WINS Proxy Enabled. . . . . . . . : No
Ethernet adapter 本地连接2:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : NE2000 Compatible
Physical Address. . . . . . . . . : 00-10-88-01-A5-C3
DHCP Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.12.213
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 192.168.12.1
DNS Servers . . . . . . . . . . . : 202.101.143.141
PPP adapter RAS Server (Dial In) Interface:
Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : WAN (PPP/SLIP) Interface
Physical Address. . . . . . . . . : 00-53-45-00-00-00
DHCP Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 192.168.103.2
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . . :
DNS Servers . . . . . . . . . . . :
C:\>route print
====================================================================
====== 第24页共60页
Interface List
0x1 ........................... MS TCP Loopback interface
0x1000002 ...00 53 45 00 00 00 ...... WAN (PPP/SLIP) Interface
0x1000003 ...00 10 88 01 a5 c3 ...... Novell 2000 Adapter.
====================================================================
======
====================================================================
======
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 192.168.12.1 192.168.12.213 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
192.168.12.0 255.255.255.0 192.168.12.213 192.168.12.213 1
192.168.12.213 255.255.255.255 127.0.0.1 127.0.0.1 1
192.168.12.217 255.255.255.255 192.168.12.213 192.168.12.213 1
192.168.12.255 255.255.255.255 192.168.12.213 192.168.12.213 1
192.168.103.2 255.255.255.255 127.0.0.1 127.0.0.1 1
192.168.103.6 255.255.255.255 192.168.103.2 192.168.103.2 1
224.0.0.0 224.0.0.0 192.168.12.213 192.168.12.213 1
255.255.255.255 255.255.255.255 192.168.12.213 192.168.12.213 1
Default Gateway: 192.168.12.1
====================================================================
======
Persistent Routes:
None
C:\>
需要注意的是,必须在Windows 2000 Server上启动”路由和远程访问功能”来接受远程VPDN访问,设置访问控制策略(包括ACL、身份验证类型、IP地址分配策略以及加密方式等等),这里全部采用系统默认值。
然后在”网络和拨号连接”中使用”新建连接”建立一个”接受传入的连接”来接受远程L2TP访问并设定允许接受哪些用户的L2TP访问请求。
注意:
Windows 2000上L2TP是与IPSec/IKE绑定使用的。
这无疑加重了网络管理人员的负担,因为大多数的L2TP客户端(如Cisco,Quidway等公司的网络设备)没有将L2TP与IPSec/IKE绑定,即配是使用Windows 2000自己来建立L2TP通道也由于这种先天的绑定而困难重重。
值得网络管理人员庆幸的是,可以通过修改Windows 2000的注册表来解除这一恼人的绑定:首先点击”开始”,然后选中”运行”,接着键入”regedit”进入注册表编辑器,找到这个目
录”HKEY_LOCAL_MACHINE/SYSTEM/ CurrentControlSet/Services/RasMan/Parameters”,然后在这个目录下创建一个名称为” Prohibitipsec”的双字节值并设其值为1,在WindowsXP中,创建的项目为DWORD类型的,按F5刷新注册表,最后重启你的Windows 2000。
从此网络管理员就不必在使用L2TP的时候再考虑那些纷繁复杂的IPSec/IKE设置了。
在这份文档里面,凡是涉及到Windows 2000的L2TP通道,除非特别说明,否则均没有绑定IPSec/IKE。
下面让我们看看分支机构”Branch”内主机” DENGL-NECBOOK”对外部网Internet以及总
部”Headquarters”的内部网的访问:
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有1985-2000 Microsoft Corp.
C:\WINNT\system32>ipconfig /all
Windows 2000 IP Configuration Host Name . . . . . . . . . . . . : DENGL-NECBOOK Primary DNS Suffix . . . . . . . : Node Type . . . . . . . . . . . . : Hybrid IP Routing Enabled. . . . . . . . : No WINS Proxy Enabled. . . . . . . . : No Ethernet adapter 本地连接: Connection-specific DNS Suffix . : Description . . . . . .: Realtek RTL8139(A)-based PCI Fast Ethernet Adapter Physical Address. . . . . . . . . : 00-10-60-75-BD-7A DHCP Enabled. . . . . . . . . . . : No IP Address. . . . . . . . . . . . : 192.168.201.78 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Default Gateway . . . . . . . . . : 192.168.201.1 DNS Servers . . . . . . . . . . . : 202.101.143.141 202.101.98.55 C:\WINNT\system32>route print
========================================================================== Interface List 0x1 ........................... MS TCP Loopback interface 0x1000003 ...00 10 60 75 bd 7a ...... NDIS 5.0 driver
==========================================================================
========================================================================== Active Routes: Network Destination Netmask Gateway Interface Metric 0.0.0.0 0.0.0.0
192.168.201.1 192.168.201.78 1 127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1 192.168.201.64 255.255.255.192 192.168.201.78 192.168.201.78 1 192.168.201.78 255.255.255.255 127.0.0.1 127.0.0.1 1 192.168.201.255 255.255.255.255 192.168.201.78 192.168.201.78 1 224.0.0.0 224.0.0.0 192.168.201.78 192.168.201.78 1 255.255.255.255 255.255.255.255 192.168.201.78 192.168.201.78 1 Default Gateway: 192.168.201.1
========================================================================== Persistent。