18-DVPN配置
本章节下载 (455.90 KB)
目 录
1.5.4 配置主VAM Server的公网IP地址和UDP端口号
1.5.5 配置备份VAM Server的公网IP地址和UDP端口号
越来越多的企业希望利用公共网络组建VPN(Virtual Private Network,虚拟专用网络),连接地理位置不同的多个分支机构。然而,企业分支机构通常采用动态地址接入公共网络,通信一方无法事先知道对端的公网地址,这就为组建VPN提出了一个难题。
DVPN(Dynamic Virtual Private Network,动态虚拟专用网络)通过VAM(VPN Address Management,VPN地址管理)协议收集、维护和分发动态变化的公网地址等信息,解决了无法事先获得通信对端公网地址的问题。DVPN可以在企业网各分支机构使用动态地址接入公网的情况下,在各分支机构间建立VPN。
DVPN把连接到公网上的各节点组成的网络看作VPN网络,公网作为VPN网络的链路层,DVPN隧道作为企业内部子网之间的虚通道,相当于网络层。企业各分支设备动态接入到公网中,其公网地址对于通信的另一端来说是未知的,而对于建立端到端的安全隧道,公网地址是必须的条件之一。DVPN通过VAM获取通信对端的公网地址。
VAM协议是DVPN方案的主要协议,负责收集、维护、分发公网地址等信息,帮助用户快捷、方便的建立起内部的安全隧道。企业内部子网之间转发的数据报文通过路由协议得到其私网下一跳,通过VAM协议查询到私网下一跳对应的公网地址,并利用该公网地址做为隧道的目的地址进行封装,最后交给已建立起的安全隧道发送到目的端用户。
DVPN方案中有几个关键的角色:
DVPN节点为动态VPN隧道两端的设备,可以是网络设备或主机。DVPN节点参与隧道的建立,需要实现VAM的客户端功能。
VAM Server是接受DVPN节点向其注册信息的服务器,负责管理、维护各DVPN节点的信息。目前VAM Server一般运行在较高性能的路由器设备上。
VAM Client向VAM Server注册自己的私网地址、公网地址等信息,向VAM Server查询其它VAM Client的信息。DVPN节点上需要实现VAM Client功能。文中涉及到VAM Client的地方,如果不是特别说明,是指对Hub和Spoke的统称。
Hub是一种VAM Client,一个VPN网络的中心设备,它是路由信息交换的中心。在Hub-Spoke组网中,它也是数据转发的中心。
Spoke是一种VAM Client,通常是企业分支机构的网关设备,该节点不会转发收到的其它DVPN节点的数据。
AAA(Authentication, Authorization and Accounting,认证、授权和计费)服务器,用于对用户进行认证和计费管理。
DVPN采用Client/Server模式,工作在TCP/IP协议栈的应用层。DVPN支持UDP和GRE两种隧道封装类型。按照工作方式的不同,可将一个VPN域中的设备划分为一个Server和多个Client,Server的公网地址为静态地址,Client的公网地址既可以静态配置也可以动态获取,而Client的私网地址则需要按照规划静态分配。在同一个VPN域内,要求所有节点的私网地址在同一个网段内。
每一个Client向Server注册自己的公网地址和私网地址的对应关系。Client向Server注册成功之后,其他Client可以从Server查询到该Client的公网地址,以便在Client之间建立DVPN隧道。Server与Client间通过VAM协议进行消息传递,Client之间通过DVPN隧道协议进行隧道的建立、维护和删除。任何节点退出或加入VPN都能自动通知Server。
DVPN具有两种典型的组网结构:
· Full-Mesh(全互联)网络:Spoke之间可以建立隧道直接通信;Hub主要作为路由信息交换的中心。如图1-1所示,作为Spoke的Client节点在向VAM Server注册后获得该VPN域中Hub的信息,并与Hub建立永久的隧道连接;任意的两个Spoke之间也可以直接建立隧道,但该隧道是动态的,当在一段规定时间(Spoke-Spoke隧道空闲超时时间)内没有数据报文交互时,则删除该隧道。
图1-1 Full-Mesh组网示意图
· Hub-Spoke网络:Spoke之间不能建立隧道直接通信,只能通过Hub转发数据;Hub即作为路由信息交换的中心,又作为数据转发的中心。如图1-2所示,Spoke与Hub建立永久的隧道连接,Spoke之间的数据通过Hub转发。
图1-2 Hub-Spoke组网示意图
DVPN的工作过程分为连接初始化、注册和隧道建立三个阶段,下面对这三个阶段做简单说明。
Client在第一次与Server连接时,首先进行连接的初始化,双方协商决定是否需要对VAM协议报文进行保护。如果需要保护,则协商出报文加密和完整性验证算法及生成加密密钥和完整性验证密钥,并对协商出的结果作出确认。只有连接初始化完成后,才能进入注册阶段。
如图1-3所示,连接初始化的过程为:
(1) Client通过连接请求报文将自己支持的完整性验证算法、加密算法等发送给Server。
(2) Server按照优先级从高到低的顺序从自己支持的算法列表中依次选择算法,与Client发送的算法列表进行匹配。如果匹配成功,则使用该算法,Server通过连接响应报文将算法协商结果发送给Client,同时,Server和Client生成加密密钥和完整性验证密钥。
(3) Client和Server分别利用初始化完成报文来验证各种算法和密钥的协商是否成功。
如图1-4所示,注册阶段的具体过程为:
(1) Client向Server发送注册请求报文,注册请求报文中包括DVPN节点的信息。
(2) Server收到注册请求报文后,根据配置决定是否对该Client进行身份认证。如果配置为不认证,则直接注册Client信息并向Client发送注册成功响应,身份认证步骤省略;如果配置为认证,Server向Client回应身份认证请求,并指明需要的认证方法(CHAP认证时还返回一个随机数)。
(3) Client向Server提交自己的身份信息。
(4) Server收到Client的身份认证信息后向AAA服务器发起认证,收到AAA认证成功的响应后再发送计费请求,当Server收到计费成功响应后,向Client发送注册成功响应报文,注册成功报文会携带下发给Client的Hub信息。
当Spoke注册成功后,要和Hub建立永久隧道,一个Spoke最多和两个Hub建立永久隧道。如果在一个VPN域中有两个Hub,则Hub之间需要建立永久隧道。具体隧道建立流程如图1-5所示:
· Hub-Spoke:Spoke注册成功后,要与所在VPN中的Hub建立永久隧道。Spoke只要收到Server下发的Hub信息,就会检查与这些Hub地址之间是否有对应的隧道存在。如果隧道不存在则向Hub发送隧道建立报文;如果隧道存在则不建立隧道。
· Hub-Hub隧道:Hub注册成功后,Server会将所在VPN中已注册成功的Hub地址添加到注册响应报文中下发给Hub。Hub检查这些地址与其之间是否有对应的隧道存在。如果隧道不存在则向其发送隧道建立报文;如果隧道存在则不建立隧道。
· Spoke-Spoke隧道:在Full-Mesh组网中,Spoke收到某个数据报文后,若没有查到相应的能够转发该报文的隧道,则会向Server发送地址解析请求,根据得到的地址解析响应向对端Spoke发起建立隧道的请求。
(2) 隧道接收方收到建立隧道的请求后,保存相应的隧道连接信息,并向发起方发送建立隧道响应报文。如果隧道发起方收到隧道建立成功的响应报文,表示隧道建立成功,否则表示隧道建立失败。
当隧道发起方在NAT网关后侧时,则可以建立穿越NAT的Spoke-Spoke隧道;如果隧道接收方在NAT网关后侧,则数据包要由Hub转发,直到接收方发起隧道建立请求。如果双方都在NAT网关后侧,则它们都无法与对方建立隧道,所有的数据包都只能从Hub转发。
隧道两端的Tunnel接口不需要配置隧道目的地址,VAM Client在VAM Server上注册自己的公/私网地址,当需要建立隧道时,可以从VAM Server获取对端Client的公网地址,从而动态的建立隧道。当VAM Client的IP地址改变时,会向VAM Server重新注册,从而实现了对动态IP地址的支持。
初始化过程完成之后,VAM Client要向VAM Server注册,注册过程中可以要求对VAM Client进行身份认证,VAM支持PAP和CHAP两种认证方式。VAM Server通过AAA对加入到VPN域的客户端进行身份认证,认证通过后VAM Client才能接入到VPN网络。
VAM Client和VAM Server必须配置统一的预共享密钥,用于生成加密/完整性验证的密钥。VAM Client/VAM Server通过报文解密、完整性验证是否成功,判断二者的预共享密钥是否相同,从而实现对VAM Server/VAM Client的身份认证。
可以选择对VAM协议报文进行加密,加密算法支持AES-128、AES-256、DES和3DES算法。
DVPN隧道的数据报文可以由IPsec安全框架保护,采用安全协议ESP、AH或AH-ESP(先采用ESP协议,再采用AH协议),通过IKE协商安全策略。
VAM Server对整个VPN域的策略进行统一的管理。
VAM Server上可以配置多个VPN域,每台VAM Server上最多可以配置10个VPN域。
DVPN的配置涉及到VAM、AAA、Tunnel、IPsec安全框架和路由配置。组网时一般先配置好DVPN服务器端,然后是DVPN客户端的Hub设备,最后是Spoke设备。
表1-1 DVPN配置任务简介
配置任务 |
说明 |
详细配置 |
|
配置DVPN服务器端 |
配置AAA |
可选 |
|
配置VAM Server |
必选 |
||
配置DVPN客户端 |
配置VAM Client |
必选 |
|
配置IPsec安全框架 |
可选 |
||
配置DVPN隧道属性 |
必选 |
||
配置路由 |
必选 |
DVPN服务器端可以根据需要使用AAA对接入到VPN域的Client进行身份认证,只有通过身份认证的Client才可以接入到VPN域。
DVPN服务器端AAA的具体配置请参见“安全配置指导”中的“AAA配置”。
该配置主要对DVPN服务器端的参数进行设置,并制定相关的策略,即是否对VAM的协议报文进行保护,Server对Client的认证方式等等。
表1-2 VAM Server配置任务简介
配置任务 |
说明 |
详细配置 |
创建VPN域 |
必选 |
|
启动VAM Server功能 |
必选 |
|
配置监听的IP地址和端口号 |
可选 |
|
配置VAM协议报文的安全参数 |
可选 |
|
配置对客户端的认证方式 |
可选 |
|
配置Hub的IP地址 |
必选 |
|
配置VAM Server的预共享密钥 |
必选 |
|
配置Keepalive报文参数 |
可选 |
表1-3 创建VPN域
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建VPN域,并进入VPN域视图 |
vam server vpn vpn-name |
必选 缺省情况下,无VPN域存在 |
该配置用来启动服务器端VPN域的VAM服务功能。
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
启动VAM Server功能 |
启动所有或指定VPN域的VAM Server功能 |
vam server enable { all | vpn vpn-name } |
二者必选其一 缺省情况下,VAM Server功能处于关闭状态 |
启动指定VPN域的VAM Server功能 |
vam server vpn vpn-name |
||
server enable |
该配置用来指定服务器上监听的IP地址和UDP端口号。
表1-5 配置监听IP地址和端口号
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
配置服务器监听IP地址和UDP端口号 |
vam server ip-address ip-address [ port port-number ] |
可选 缺省情况下,没有配置监听IP地址和UDP端口号 |
如果在VAM Server上没有配置监听的IP地址和端口号,则VAM Server默认监听所有目的地址为本机接口的IP地址、端口号为18000的报文;否则,只监听指定IP地址和端口号的报文。
该配置用来设置VAM协议报文的验证、加密算法及其优先级。Server根据配置的报文完整性验证、加密算法以及优先级与Client发送的算法列表进行协商,协商后的算法分别作为两端协议报文的完整性验证算法和加密算法。
表1-6 配置协议报文的安全参数
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VPN域视图 |
vam server vpn vpn-name |
- |
配置协议报文的验证算法及其优先级 |
authentication-algorithm { none | { md5 | sha-1 } * } |
可选 缺省情况下,验证算法为SHA-1 |
配置协议报文的加密算法及其优先级 |
encryption-algorithm { { 3des | aes-128 | aes-256 | des } * | none } |
可选 缺省情况下,使用AES-128、AES-256、3DES和DES四种加密算法,算法的优先级由高到低依次是AES-256、AES-128、3DES、DES |
· 连接初始化阶段Client发送的连接请求和Server发送的连接响应报文,使用固定的验证算法SHA-1进行验证。后续的报文可以通过上述验证算法配置确定是否验证。
· 连接初始化阶段Client发送的连接请求和Server发送的连接响应报文,使用固定的加密算法AES-128进行验证。后续的报文可以通过上述加密算法配置确定是否加密。
· 报文的验证/加密算法在配置中的出现顺序决定其使用优先级。
该配置用来设置服务器对客户端的认证方式。对于服务器启用AAA对客户端进行认证的情况,目前只支持PAP和CHAP两种身份验证方式。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VPN域视图 |
vam server vpn vpn-name |
- |
配置对客户端的认证方式 |
authentication-method { none | { chap | pap } [ domain name-string ] } |
可选 缺省情况下,使用CHAP验证方式,ISP域为用户配置的系统默认域 |
该配置用来指定VPN域中Hub的IP地址。
表1-8 配置Hub的IP地址
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VPN域视图 |
vam server vpn vpn-name |
- |
配置Hub的IP地址 |
hub private-ip private-ip-address [ public-ip public-ip-address ] |
必选 缺省情况下,没有配置Hub的IP地址 |
· 可以只配置Hub的私网地址,当该Hub加入VPN域时,向Server进行注册,Server获取到Hub的公网地址后会向其它Client下发该Hub的公私网地址映射信息。如果指定了公网地址,只有向Server注册的Client的公私网地址与配置值一致,才被认为是Hub设备,否则认为该Client注册不成功。
· 目前,在一个VPN域内最多只能配置两个Hub,Spoke和Hub的总数最多为5000个。
预共享密钥是Server用来和Client建立安全通道的公共密钥材料。在连接初始化阶段预共享密钥用来生成验证和加密连接请求、连接响应报文的初始密钥;如果选择对后续的报文进行加密和验证,则预共享用来生成验证和加密后续报文的连接密钥。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VPN域视图 |
vam server vpn vpn-name |
- |
配置VAM Server的预共享密钥 |
pre-shared-key { cipher | simple } key-string |
必选 缺省情况下,无预共享密钥 |
Client通过定期发送Keepalive报文与Sever保持联系,Server在收到Keepalive报文后发送回应报文,以证明自己的存在。如果Server在指定的时间内(Keepalive报文的发送时间间隔×重试次数)没有收到Client的Keepalive报文,则删除该Client的节点信息并使其下线。
该配置用来设置Client发送Keepalive报文的发送时间间隔和重试次数。在Client注册成功后,Server将该参数在注册响应中下发给Client。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VPN域视图 |
vam server vpn vpn-name |
- |
配置VAM Client向VAM Server发送Keepalive报文的时间间隔 |
keepalive interval time-interval |
可选 缺省情况下,Keepalive报文的发送时间间隔为180秒 |
配置VAM Client向VAM Server发送Keepalive报文的重试次数 |
keepalive retry retry-times |
可选 缺省情况下,Keepalive报文的重发次数为3次,即在Keepalive报文的发送时间间隔内无响应则重发该报文,共发送3次 |
同一个VPN域中,所有Client的Keepalive报文参数都是相同的。但是,如果Server改变Keepalive报文参数,则修改后的参数会对新注册的Client生效,已经注册的Client不受影响。
通过VAM Client端的配置,可以指定Client所在VPN域、Client进行注册的主/备Server地址和端口号以及Client的本地用户信息等,为Client向Server发起初始化连接请求并最终成功注册到Server上做了必要准备。
表1-11 VAM Client配置任务简介
配置任务 |
说明 |
详细配置 |
创建VAM Client |
必选 |
|
配置VAM协议报文重发间隔时间 |
可选 |
|
配置主VAM Server的IP地址和UDP端口号 |
二者至少选择其一 |
|
配置备份VAM Server的IP地址和UDP端口号 |
||
配置本地用户 |
可选 |
|
配置VAM Client所属的VPN域 |
必选 |
|
配置VAM Client的预共享密钥 |
必选 |
|
启动VAM Client服务 |
必选 |
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建VAM Client,并进入VAM Client视图 |
vam client name client-name |
必选 缺省情况下,无VAM Client |
设置Client重发VAM协议报文的时间间隔。Client向Server发送协议报文时,在配置的时间间隔内,若没有收到回应报文,Client将重新发送该协议报文。协议报文包括连接请求报文、初始化完成报文、注册请求报文和认证请求报文。
表1-13 配置VAM协议报文重发间隔时间
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VAM Client视图 |
vam client name client-name |
- |
配置VAM协议报文重发间隔时间 |
resend interval time-interval |
可选 缺省情况下,VAM协议报文重发间隔时间为5秒 |
VAM协议报文的重发次数固定为3次,不可配置。
表1-14 配置主VAM Server的公网IP地址和UDP端口号
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VAM Client视图 |
vam client name client-name |
- |
配置主VAM Server的公网IP地址和UDP端口号 |
server primary ip-address ip-address [ port port-number ] |
必选 缺省情况下,没有配置主VAM Server的公网IP地址和UDP端口号 |
表1-15 配置备份VAM Server的公网IP地址和UDP端口号
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VAM Client视图 |
vam client name client-name |
- |
配置备份VAM Server的公网IP地址和UDP端口号 |
server secondary ip-address ip-address [ port port-number] |
必选 缺省情况下,没有配置备份VAM Server的公网IP地址和UDP端口号 |
配置VAM Client的用户名和密码,用于向VAM Server进行身份认证。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VAM Client视图 |
vam client name client-name |
- |
配置本地用户名和密码 |
user username password { cipher | simple } string |
必选 缺省情况下,没有配置本地用户名和密码 |
在一个VAM Client视图下只能配置一个本地用户。
表1-17 配置VAM Client所属的VPN域
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VAM Client视图 |
vam client name client-name |
- |
配置VAM Client所属的VPN域 |
vpn vpn-name |
必选 缺省情况下,VAM Client不属于任何VPN域 |
预共享密钥是VAM Client用来和VAM Server建立安全通道的公共密钥材料。
表1-18 配置VAM Client的预共享密钥
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VAM Client视图 |
vam client name client-name |
- |
配置VAM Client的预共享密钥 |
pre-shared-key { cipher | simple } key-string |
必选 缺省情况下,无预共享密钥 |
同一个VPN域中,VAM Client配置的预共享密钥必须和VAM Server所配置的预共享密钥一致。
在设备上启动VAM Client服务后,VAM协议在Client上生效。
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
启动VAM Client服务 |
启动所有或指定的VAM Client服务 |
vam client enable { all | name client-name } |
二者必选其一 缺省情况下,没有启动VAM Client服务 |
启动指定的VAM Client服务 |
vam client name client-name |
||
client enable |
IPsec安全框架可以用来保护DVPN隧道数据报文和控制报文的传递,采用安全协议ESP、AH或AH-ESP(先采用ESP协议,再采用AH协议),通过IKE协商安全策略。
配置IPsec安全框架之前,需完成以下任务:
· 配置IPsec安全框架所引用的安全提议
· 配置IPsec安全框架所引用的IKE对等体
IPsec、IKE的详细配置请参见“安全配置指导”中的“IPsec配置”。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建一个安全框架,并进入安全框架视图 |
ipsec profile profile-name |
必选 缺省情况下,没有任何安全框架存在 |
配置安全框架引用的安全提议 |
transform-set transform-set-name&<1-6> |
必选 缺省情况下,安全框架没有引用任何安全提议 |
配置此安全框架中所引用的IKE对等体 |
ike-peer peer-name |
必选 缺省情况下,安全框架没有引用任何IKE对等体 |
配置此安全框架发起协商时使用的PFS特性 |
pfs { dh-group1 | dh-group2 | dh-group5 | dh-group14 } |
可选 缺省情况下,安全策略发起协商时没有使用PFS特性 PFS(Perfect Forward Secrecy,完善的前向安全性)特性的介绍请参见“安全配置指导”中的“IPSec配置” |
配置安全联盟的生存周期 |
sa duration { time-based seconds | traffic-based kilobytes } |
可选 缺省情况下,安全框架的安全联盟生存周期为当前全局的安全联盟生存周期值 全局安全联盟生存周期的介绍请参见“安全配置指导”中的“IPsec配置” |
· IPsec安全框架通过IKE协商SA,一个安全框架最多只能引用6个安全提议。IKE协商将在安全隧道的两端搜索能够完全匹配的安全提议。如果IKE在两端找不到完全匹配的安全提议,则SA不能建立,需要被保护的报文将被丢弃。
· IKE在使用安全策略发起一个协商时,如果本端指定了PFS,对端在发起协商时必须是PFS交换。本端和对端指定的DH组必须一致,否则协商会失败。
· IPsec安全框架用来保护DVPN数据流时,引用的安全提议所采用的安全协议可以是ESP、AH或ESP+AH。
· 由于DVPN地址的动态性,在发起端,IPsec安全框架下引用的IKE对等体中的remote-address不起作用。
· ipsec profile、transform-set、ike-peer、pfs和sa duration命令的详细配置请参见“安全命令参考”中的“IPsec配置命令”。
通过DVPN隧道的配置,可以配置DVPN隧道接口的私网地址、隧道两端接口所绑定的VAM用户、隧道的空闲超时时间以及隧道建立失败的静默时间等,为建立DVPN隧道做了必要准备。
作为Tunnel虚接口的源接口(如VLAN接口,GigabitEthernet接口,Loopback接口等)已经配置IP地址,并能够进行正常通讯。
操作 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建Tunnel接口,并进入Tunnel接口视图 |
interface tunnel number |
必选 缺省情况下,设备上无Tunnel接口 |
配置Tunnel接口的IPv4私网地址 |
ip address ip-address { mask | mask-length } [ sub ] |
必选 缺省情况下,Tunnel接口上没有设置IPv4私网地址 |
配置隧道模式为DVPN,并指定DVPN隧道的封装方式 |
tunnel-protocol dvpn { gre | udp } |
必选 缺省情况下,为GRE隧道模式 在隧道的两端应配置相同的隧道模式,否则可能造成报文传输失败 |
配置Tunnel接口的源端地址或接口 |
source { ip-address | interface-type interface-number } |
必选 Tunnel通道的源端地址,即发出DVPN报文的实际物理接口地址 缺省情况下,Tunnel接口上没有设置源端地址或接口 |
配置Tunnel接口引用的VAM Client |
vam client client-name |
必选 DVPN封装类型的隧道接口必须与一个VAM Client进行绑定,否则该接口不能up 绑定的client-name必须是已经存在的,并且没有被其他隧道接口绑定过,否则配置失败 缺省情况下,DVPN隧道接口没有绑定客户端 |
配置DVPN Keepalive报文的发送周期及最大发送次数 |
keepalive [ seconds [ times ] ] |
可选 缺省情况下,Keepalive报文发送周期为180秒、最大发送次数为3次 |
配置DVPN的Spoke-Spoke隧道的空闲超时时间 |
dvpn session idle-time time-interval |
可选 缺省情况下,DVPN的Spoke-Spoke隧道的空闲超时时间为600秒 |
配置DVPN隧道连接失败的静默时间 |
dvpn session dumb-time time-interval |
可选 缺省情况下,DVPN隧道连接失败的静默时间为120秒 |
配置OSPF接口的网络类型 |
ospf network-type { broadcast | p2mp } |
采用的路由协议为OSPF时,为必选 DVPN隧道仅支持broadcast和p2mp两种OSPF接口网络类型 缺省情况下,没有配置OSPF接口的网络类型 |
配置OSPF接口的DR优先级 |
ospf dr-priority priority |
采用的路由协议为OSPF时,Hub端为可选,Spoke端为必选 缺省情况下,接口的DR优先级为1 Hub的DR优先级应高于Spoke;建议将Spoke的DR优先级配置为0,以使Spoke不参与DR/BDR选举 |
在DVPN隧道接口上引用IPsec安全框架 |
ipsec profile ipsec-profile-name |
可选 指定的IPsec安全框架必须已经存在 缺省情况下,DVPN隧道接口上没有引用任何IPsec安全框架,即不对DVPN隧道进行保护 |
配置VPN实例与Tunnel接口关联 |
可选 缺省情况下,隧道接口没有与任何VPN实例绑定 如果要实现多个VPN域之间的隔离,必须配置多个VPN实例,隔离各私网之间的路由 |
|
配置隧道目的地址所属的VPN |
tunnel vpn-instance vpn-instance-name |
可选 缺省情况下,隧道目的地址属于公网,设备查找公网路由表转发隧道封装后的报文 通过本命令指定隧道目的地址所属的VPN后,设备将查找指定VPN实例的路由表转发隧道封装后的报文 在隧道的源接口上通过ip binding vpn-instance命令可以指定隧道源地址所属的VPN。隧道的源地址和目的地址必须属于相同的VPN |
指定转发当前隧道接口流量的业务处理板(非IRF模式) |
service slot slot-number |
可选 缺省情况下,没有指定转发当前接口流量的业务处理板 如果隧道的源端为三层聚合接口,则必须配置该命令来指定转发隧道接口流量的业务板 不同型号的产品支持情况见下表 |
指定转发当前隧道接口流量的成员设备和业务处理板(IRF模式) |
service chassis chassis-number slot slot-number |
SR6600/SR6600-X路由器各款型对于本节所描述的命令及参数的支持情况有所不同,详细差异信息如下:
型号 |
特性 |
描述 |
SR6602 |
指定转发当前接口流量的业务处理板 |
不支持 |
SR6602-X |
支持 |
|
SR6604/SR6608/SR6616 |
支持 |
|
SR6604-X/SR6608-X/SR6616-X |
支持 GRE隧道如果使用SAP-4EXP进行硬件转发,该命令不起作用 |
· 在SR6604/SR6608/SR6616/SR6604-X/SR6608-X/SR6616-X路由器上配置DVPN隧道时,必须执行service命令指定转发当前接口流量的业务处理板。service命令的详细介绍,请参见“三层技术-IP业务命令参考”中的“隧道”。
· 配置Tunnel接口的源端地址时,若采用配置源接口形式,则Tunnel的源地址为源接口的主IP地址。
· 如果设备上配置了多个使用GRE封装的DVPN隧道,则不同GRE封装DVPN隧道的源地址和源接口不允许相同。
· 在同一个VPN域中,所有Tunnel接口的私网地址应该配置为同一个网段。
· interface tunnel、tunnel-protocol和source命令的详细介绍请参见“三层技术-IP业务命令参考”中的“隧道配置命令”;ipsec profile命令的详细介绍请参见“安全命令参考”中的“IPsec配置命令”。
· 在同一个VPN域中,所有Tunnel接口的DVPN Keepalive报文发送周期及最大发送次数应该一致。
· 一个DVPN隧道接口下只能引用一个IPsec安全框架。如果DVPN隧道接口需要引用新的IPsec安全框架,需要先取消当前引用的IPsec安全框架。
· ospf network-type和ospf dr-priority命令的详细配置请参见“三层技术-IP路由命令参考”中的“OSPF配置命令”。
· VPN实例的配置请参见“MPLS配置指导”中的“MPLS L3VPN配置”。
DVPN本身是一个私有网络,因此设备上必需配置路由。DVPN隧道建立以后,路由协议通过隧道进行邻居发现、路由更新,并建立路由表。路由协议只在Hub和Spoke以及各Hub之间进行交互,在Spoke与Spoke之间不直接交换路由信息。
目前,DVPN客户端支持的路由协议为OSPF和BGP:
· 采用OSPF路由协议时,如果是Full-Mesh网络,OSPF接口的网络类型需要配置为broadcast;如果是Hub-Spoke网络,OSPF接口的网络类型需要配置为p2mp。
· 采用BGP路由协议时,如果是Full-Mesh网络,Hub和Spoke之间需要配置IBGP,并将Hub配置为路由反射器;如果是Hub-Spoke网络,Hub和Spoke之间需要配置EBGP。
OSPF的具体配置请参见“三层技术-IP路由配置指导”中的“OSPF配置”;BGP的具体配置请参见“三层技术-IP路由配置指导”中的“BGP配置”。
在完成上述配置后,在任意视图下执行display命令可以显示配置后DVPN的运行情况,通过查看显示信息验证配置的效果。
在用户视图下,执行reset命令可以清除相应的统计信息。
表1-22 DVPN显示和维护
操作 |
命令 |
显示注册到服务器上的客户端地址映射信息 |
display vam server address-map { all | vpn vpn-name [ private-ip private-ip ] } [ | { begin | exclude | include } regular-expression ] |
显示注册到服务器上的客户端统计信息 |
display vam server statistic { all | vpn vpn-name } [ | { begin | exclude | include } regular-expression ] |
显示客户端的状态信息 |
display vam client { address-map | fsm } [ client-name ] [ | { begin | exclude | include } regular-expression ] |
显示DVPN隧道连接信息 |
display dvpn session { all | interface interface-type interface-number [ private-ip ip-address ] } [ | { begin | exclude | include } regular-expression ] |
显示IPsec安全框架的配置信息 |
display ipsec profile [ name profile-name ] [ | { begin | exclude | include } regular-expression ] |
删除DVPN隧道连接信息 |
reset dvpn session { all | interface interface-type interface-number [ private-ip ip-address ] } |
display ipsec profile命令的详细介绍请参见“安全命令参考”中的“IPsec配置命令”。
· 在Full-Mesh的组网方式下,主备VAM Server负责管理、维护各个节点的信息;AAA服务器负责对VAM Client进行认证和计费管理;两个Hub互为备份,负责数据的转发和路由信息的交换。
· Spoke与Hub之间建立永久隧道连接。
· 同一VPN域中,任意的两个Spoke之间在有数据时动态建立隧道连接。
图1-6 Full-Mesh类型DVPN组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Hub 1 |
GE3/0/1 |
192.168.1.1/24 |
Spoke 1 |
GE3/0/1 |
192.168.1.3/24 |
|
Tunnel1 |
10.0.1.1/24 |
|
GE3/0/2 |
10.0.3.1/24 |
|
Tunnel2 |
10.0.2.1/24 |
|
Tunnel1 |
10.0.1.3/24 |
Hub 2 |
GE3/0/1 |
192.168.1.2/24 |
Spoke 2 |
GE3/0/1 |
192.168.1.4/24 |
|
Tunnel1 |
10.0.1.2/24 |
|
GE3/0/2 |
10.0.4.1/24 |
|
Tunnel2 |
10.0.2.2/24 |
|
GE3/0/3 |
10.0.6.1/24 |
Spoke 3 |
GE3/0/1 |
192.168.1.5/24 |
|
Tunnel1 |
10.0.1.4/24 |
|
GE3/0/2 |
10.0.5.1/24 |
|
Tunnel2 |
10.0.2.4/24 |
|
Tunnel2 |
10.0.2.3/24 |
Primary VAM server |
GE3/0/1 |
192.168.1.22/24 |
AAA server |
|
192.168.1.11/24 |
Secondary VAM server |
GE3/0/1 |
192.168.1.33//24 |
· 配置各接口的IP地址(略)
· 配置AAA认证
<PrimaryServer> system-view
# 配置RADIUS方案radsun。
[PrimaryServer] radius scheme radsun
[PrimaryServer-radius-radsun] primary authentication 192.168.1.11 1812
[PrimaryServer-radius-radsun] primary accounting 192.168.1.11 1813
[PrimaryServer-radius-radsun] key authentication expert
[PrimaryServer-radius-radsun] key accounting expert
[PrimaryServer-radius-radsun] server-type extended
[PrimaryServer-radius-radsun] user-name-format without-domain
[PrimaryServer-radius-radsun] quit
# 配置ISP域的AAA方案。
[PrimaryServer] domain domain1
[PrimaryServer-isp-domain1] authentication dvpn radius-scheme radsun
[PrimaryServer-isp-domain1] authorization dvpn radius-scheme radsun
[PrimaryServer-isp-domain1] accounting dvpn radius-scheme radsun
[PrimaryServer-isp-domain1] quit
[PrimaryServer] domain default enable domain1
· 配置VAM Server
# 指定VAM Server上的监听IP地址。
[PrimaryServer] vam server ip-address 192.168.1.22
# 创建VPN域1。
[PrimaryServer] vam server vpn 1
# 配置预共享密钥为123。
[PrimaryServer-vam-server-vpn-1] pre-shared-key simple 123
# 配置对客户端进行CHAP认证。
[PrimaryServer-vam-server-vpn-1] authentication-method chap
# 指定VPN域1的Hub地址。
[PrimaryServer-vam-server-vpn-1] hub private-ip 10.0.1.1
[PrimaryServer-vam-server-vpn-1] hub private-ip 10.0.1.2
[PrimaryServer-vam-server-vpn-1] quit
# 创建VPN域2。
[PrimaryServer] vam server vpn 2
# 配置预共享密钥为456。
[PrimaryServer-vam-server-vpn-2] pre-shared-key simple 456
# 配置对客户端进行PAP认证。
[PrimaryServer-vam-server-vpn-2] authentication-method pap
# 指定VPN域2的Hub地址。
[PrimaryServer-vam-server-vpn-2] hub private-ip 10.0.2.1
[PrimaryServer-vam-server-vpn-2] hub private-ip 10.0.2.2
[PrimaryServer-vam-server-vpn-1] quit
# 启动所有VPN域的VAM Server功能。
[PrimaryServer] vam server enable all
(2) 配置备份VAM Server
除监听IP地址外,备份VAM Server的DVPN配置与主VAM Server相同,请参见(1)配置主VAM Server。
(3) 配置Hub1
· 配置各接口的IP地址(略)
· 配置VAM Client
<Hub1> system-view
# 创建VPN域1的客户端dvpn1hub1。
[Hub1] vam client name dvpn1hub1
[Hub1-vam-client-name-dvpn1hub1] vpn 1
# 配置VAM Server的IP地址及VAM Client的预共享密钥。
[Hub1-vam-client-name-dvpn1hub1] server primary ip-address 192.168.1.22
[Hub1-vam-client-name-dvpn1hub1] server secondary ip-address 192.168.1.33
[Hub1-vam-client-name-dvpn1hub1] pre-shared-key simple 123
# 配置本地用户,用户名为dvpn1hub1,密码为dvpn1hub1。
[Hub1-vam-client-name-dvpn1hub1] user dvpn1hub1 password simple dvpn1hub1
[Hub1-vam-client-name-dvpn1hub1] client enable
[Hub1-vam-client-name-dvpn1hub1] quit
# 创建VPN域2的客户端dvpn2hub1。
[Hub1] vam client name dvpn2hub1
[Hub1-vam-client-name-dvpn2hub1] vpn 2
# 配置VAM Server的IP地址及VAM Client的预共享密钥。
[Hub1-vam-client-name-dvpn2hub1] server primary ip-address 192.168.1.22
[Hub1-vam-client-name-dvpn2hub1] server secondary ip-address 192.168.1.33
[Hub1-vam-client-name-dvpn2hub1] pre-shared-key simple 456
# 配置本地用户,用户名为dvpn2hub1,密码为dvpn2hub1。
[Hub1-vam-client-name-dvpn2hub1] user dvpn2hub1 password simple dvpn2hub1
[Hub1-vam-client-name-dvpn2hub1] client enable
[Hub1-vam-client-name-dvpn2hub1] quit
· 配置IPsec安全框架
# 配置IPsec安全提议。
[Hub1] ipsec transform-set vam
[Hub1-ipsec-transform-set-vam] encapsulation-mode tunnel
[Hub1-ipsec-transform-set-vam] transform esp
[Hub1-ipsec-transform-set-vam] esp encryption-algorithm des
[Hub1-ipsec-transform-set-vam] esp authentication-algorithm sha1
[Hub1-ipsec-transform-set-vam] quit
# 配置IKE对等体。
[Hub1] ike peer vam
[Hub1-ike-peer-vam] pre-shared-key abcde
[Hub1-ike-peer-vam] quit
# 配置IPsec安全框架。
[Hub1] ipsec profile vamp
[Hub1-ipsec-profile-vamp] transform-set vam
[Hub1-ipsec-profile-vamp] ike-peer vam
[Hub1-ipsec-profile-vamp] sa duration time-based 600
[Hub1-ipsec-profile-vamp] pfs dh-group2
[Hub1-ipsec-profile-vamp] quit
· 配置DVPN隧道
# 配置VPN域1的隧道接口Tunnel1,该隧道接口采用UDP封装模式。
[Hub1] interface tunnel 1
[Hub1-Tunnel1] tunnel-protocol dvpn udp
[Hub1-Tunnel1] vam client dvpn1hub1
[Hub1-Tunnel1] ip address 10.0.1.1 255.255.255.0
[Hub1-Tunnel1] source gigabitethernet 3/0/1
[Hub1-Tunnel1] ospf network-type broadcast
[Hub1-Tunnel1] ipsec profile vamp
[Hub1-Tunnel1] quit
# 配置VPN域2的隧道接口Tunnel2,该隧道接口采用GRE封装模式。
[Hub1] interface tunnel 2
[Hub1-Tunnel2] tunnel-protocol dvpn gre
[Hub1-Tunnel2] vam client dvpn2hub1
[Hub1-Tunnel2] ip address 10.0.2.1 255.255.255.0
[Hub1-Tunnel2] source gigabitethernet 3/0/1
[Hub1-Tunnel2] ospf network-type broadcast
[Hub1-Tunnel2] ipsec profile vamp
[Hub1-Tunnel2] quit
· 配置OSPF路由
# 配置公网的路由信息。
[Hub1] ospf 100
[Hub1-ospf-100] area 0
[Hub1-ospf-100-area-0.0.0.0] network 192.168.1.1 0.0.0.255
[Hub1-ospf-100-area-0.0.0.0] quit
# 配置私网的路由信息。
[Hub1] ospf 200
[Hub1-ospf-200] area 0
[Hub1-ospf-200-area-0.0.0.0] network 10.0.1.1 0.0.0.255
[Hub1-ospf-200-area-0.0.0.0] quit
[Hub1] ospf 300
[Hub1-ospf-300] area 0
[Hub1-ospf-300-area-0.0.0.0] network 10.0.2.1 0.0.0.255
(4) 配置Hub2
· 配置各接口的IP地址(略)
· 配置VAM Client
<Hub2> system-view
# 创建VPN域1的客户端dvpn1hub2。
[Hub2] vam client name dvpn1hub2
[Hub2-vam-client-name-dvpn1hub2] vpn 1
# 配置VAM Server的IP地址及VAM Client的预共享密钥。
[Hub2-vam-client-name-dvpn1hub2] server primary ip-address 192.168.1.22
[Hub2-vam-client-name-dvpn1hub2] server secondary ip-address 192.168.1.33
[Hub2-vam-client-name-dvpn1hub2] pre-shared-key simple 123
# 配置本地用户,用户名为dvpn1hub2,密码为dvpn1hub2。
[Hub2-vam-client-name-dvpn1hub2] user dvpn1hub2 password simple dvpn1hub2
[Hub2-vam-client-name-dvpn1hub2] client enable
[Hub2-vam-client-name-dvpn1hub2] quit
# 创建VPN域2的客户端dvpn2hub2。
[Hub2] vam client name dvpn2hub2
[Hub2-vam-client-name-dvpn2hub2] vpn 2
# 配置VAM Server的IP地址及VAM Client的预共享密钥。
[Hub2-vam-client-name-dvpn2hub2] server primary ip-address 192.168.1.22
[Hub2-vam-client-name-dvpn2hub2] server secondary ip-address 192.168.1.33
[Hub2-vam-client-name-dvpn2hub2] pre-shared-key simple 456
# 配置本地用户,用户名为dvpn2hub2,密码为dvpn2hub2。
[Hub2-vam-client-name-dvpn2hub2] user dvpn2hub2 password simple dvpn2hub2
[Hub2-vam-client-name-dvpn2hub2] client enable
[Hub2-vam-client-name-dvpn2hub2] quit
· 配置IPsec安全框架
# 配置IPsec安全提议。
[Hub2] ipsec transform-set vam
[Hub2-ipsec-transform-set-vam] encapsulation-mode tunnel
[Hub2-ipsec-transform-set-vam] transform esp
[Hub2-ipsec-transform-set-vam] esp encryption-algorithm des
[Hub2-ipsec-transform-set-vam] esp authentication-algorithm sha1
[Hub2-ipsec-transform-set-vam] quit
# 配置IKE对等体。
[Hub2] ike peer vam
[Hub2-ike-peer-vam] pre-shared-key abcde
[Hub2-ike-peer-vam] quit
# 配置IPsec安全框架。
[Hub2] ipsec profile vamp
[Hub2-ipsec-profile-vamp] transform-set vam
[Hub2-ipsec-profile-vamp] ike-peer vam
[Hub2-ipsec-profile-vamp] sa duration time-based 600
[Hub2-ipsec-profile-vamp] pfs dh-group2
[Hub2-ipsec-profile-vamp] quit
· 配置DVPN隧道
# 配置VPN域1的隧道接口Tunnel1,该隧道接口采用UDP封装模式。
[Hub2] interface tunnel 1
[Hub2-Tunnel1] tunnel-protocol dvpn udp
[Hub2-Tunnel1] vam client dvpn1hub2
[Hub2-Tunnel1] ip address 10.0.1.2 255.255.255.0
[Hub2-Tunnel1] source gigabitethernet 3/0/1
[Hub2-Tunnel1] ospf network-type broadcast
[Hub2-Tunnel1] ipsec profile vamp
[Hub2-Tunnel1] quit
# 配置VPN域2的隧道接口Tunnel2,该隧道接口采用GRE封装模式。
[Hub2] interface tunnel 2
[Hub2-Tunnel2] tunnel-protocol dvpn gre
[Hub2-Tunnel2] vam client dvpn2hub2
[Hub2-Tunnel2] ip address 10.0.2.2 255.255.255.0
[Hub2-Tunnel2] source gigabitethernet 3/0/1
[Hub2-Tunnel2] ospf network-type broadcast
[Hub2-Tunnel2] ipsec profile vamp
[Hub2-Tunnel2] quit
· 配置OSPF路由
# 配置公网的路由信息。
[Hub2] ospf 100
[Hub2-ospf-100] area 0
[Hub2-ospf-100-area-0.0.0.0] network 192.168.1.2 0.0.0.255
[Hub2-ospf-100-area-0.0.0.0] quit
# 配置私网的路由信息。
[Hub2] ospf 200
[Hub2-ospf-200] area 0
[Hub2-ospf-200-area-0.0.0.0] network 10.0.1.2 0.0.0.255
[Hub2-ospf-200-area-0.0.0.0] quit
[Hub2] ospf 300
[Hub2-ospf-300] area 0
[Hub2-ospf-300-area-0.0.0.0] network 10.0.2.2 0.0.0.255
(5) 配置Spoke1
· 配置各接口的IP地址(略)
· 配置VAM Client
<Spoke1> system-view
# 创建VPN域1的客户端dvpn1spoke1。
[Spoke1] vam client name dvpn1spoke1
[Spoke1-vam-client-name-dvpn1spoke1] vpn 1
# 配置VAM Server的IP地址及VAM Client的预共享密钥。
[Spoke1-vam-client-name-dvpn1spoke1] server primary ip-address 192.168.1.22
[Spoke1-vam-client-name-dvpn1spoke1] server secondary ip-address 192.168.1.33
[Spoke1-vam-client-name-dvpn1spoke1] pre-shared-key simple 123
# 配置本地用户,用户名为dvpn1spoke1,密码为dvpn1spoke1。
[Spoke1-vam-client-name-dvpn1spoke1] user dvpn1spoke1 password simple dvpn1spoke1
[Spoke1-vam-client-name-dvpn1spoke1] client enable
[Spoke1-vam-client-name-dvpn1spoke1] quit
· 配置IPsec安全框架
# 配置IPsec安全提议。
[Spoke1] ipsec transform-set vam
[Spoke1-ipsec-transform-set-vam] encapsulation-mode tunnel
[Spoke1-ipsec-transform-set-vam] transform esp
[Spoke1-ipsec-transform-set-vam] esp encryption-algorithm des
[Spoke1-ipsec-transform-set-vam] esp authentication-algorithm sha1
[Spoke1-ipsec-transform-set-vam] quit
# 配置IKE对等体。
[Spoke1] ike peer vam
[Spoke1-ike-peer-vam] pre-shared-key abcde
[Spoke1-ike-peer-vam] quit
# 配置IPsec安全框架。
[Spoke1] ipsec profile vamp
[Spoke1-ipsec-profile-vamp] transform-set vam
[Spoke1-ipsec-profile-vamp] ike-peer vam
[Spoke1-ipsec-profile-vamp] sa duration time-based 600
[Spoke1-ipsec-profile-vamp] pfs dh-group2
[Spoke1-ipsec-profile-vamp] quit
· 配置DVPN隧道
# 配置VPN域1的隧道接口Tunnel1,该隧道接口采用UDP封装模式。
[Spoke1] interface tunnel 1
[Spoke1-Tunnel1] tunnel-protocol dvpn udp
[Spoke1-Tunnel1] vam client dvpn1spoke1
[Spoke1-Tunnel1] ip address 10.0.1.3 255.255.255.0
[Spoke1-Tunnel1] source gigabitethernet 3/0/1
[Spoke1-Tunnel1] ospf network-type broadcast
[Spoke1-Tunnel1] ospf dr-priority 0
[Spoke1-Tunnel1] ipsec profile vamp
[Spoke1-Tunnel1] quit
· 配置OSPF路由
# 配置公网的路由信息。
[Spoke1] ospf 100
[Spoke1-ospf-100] area 0
[Spoke1-ospf-100-area-0.0.0.0] network 192.168.1.3 0.0.0.255
[Spoke1-ospf-100-area-0.0.0.0] quit
# 配置私网的路由信息。
[Spoke1] ospf 200
[Spoke1-ospf-200] area 0
[Spoke1-ospf-200-area-0.0.0.0] network 10.0.1.3 0.0.0.255
[Spoke1-ospf-200-area-0.0.0.0] network 10.0.3.1 0.0.0.255
(6) 配置Spoke2
· 配置各接口的IP地址(略)
· 配置VAM Client
<Spoke2> system-view
# 创建VPN域1的客户端dvpn1spoke2。
[Spoke2] vam client name dvpn1spoke2
[Spoke2-vam-client-name-dvpn1spoke2] vpn 1
# 配置VAM Server的IP地址及VAM Client的预共享密钥。
[Spoke2-vam-client-name-dvpn1spoke2] server primary ip-address 192.168.1.22
[Spoke2-vam-client-name-dvpn1spoke2] server secondary ip-address 192.168.1.33
[Spoke2-vam-client-name-dvpn1spoke2] pre-shared-key simple 123
# 配置本地用户,用户名为dvpn1spoke2,密码为dvpn1spoke2。
[Spoke2-vam-client-name-dvpn1spoke2] user dvpn1spoke2 password simple dvpn1spoke2
[Spoke2-vam-client-name-dvpn1spoke2] client enable
[Spoke2-vam-client-name-dvpn1spoke2] quit
# 创建VPN域2的客户端dvpn2spoke2。
[Spoke2] vam client name dvpn2spoke2
[Spoke2-vam-client-name-dvpn1spoke2] vpn 2
# 配置VAM Server的IP地址及VAM Client的预共享密钥。
[Spoke2-vam-client-name-dvpn2spoke2] server primary ip-address 192.168.1.22
[Spoke2-vam-client-name-dvpn2spoke2] server secondary ip-address 192.168.1.33
[Spoke2-vam-client-name-dvpn2spoke2] pre-shared-key simple 456
# 配置本地用户,用户名为dvpn2spoke2,密码为dvpn2spoke2。
[Spoke2-vam-client-name-dvpn1spoke2] user dvpn2spoke2 password simple dvpn2spoke2
[Spoke2-vam-client-name-dvpn1spoke2] client enable
[Spoke2-vam-client-name-dvpn1spoke2] quit
· 配置IPsec安全框架
# 配置IPsec安全提议。
[Spoke2] ipsec transform-set vam
[Spoke2-ipsec-transform-set-vam] encapsulation-mode tunnel
[Spoke2-ipsec-transform-set-vam] transform esp
[Spoke2-ipsec-transform-set-vam] esp encryption-algorithm des
[Spoke2-ipsec-transform-set-vam] esp authentication-algorithm sha1
[Spoke2-ipsec-transform-set-vam] quit
# 配置IKE对等体。
[Spoke2] ike peer vam
[Spoke2-ike-peer-vam] pre-shared-key abcde
[Spoke2-ike-peer-vam] quit
# 配置IPsec安全框架。
[Spoke2] ipsec profile vamp
[Spoke2-ipsec-profile-vamp] transform-set vam
[Spoke2-ipsec-profile-vamp] ike-peer vam
[Spoke2-ipsec-profile-vamp] sa duration time-based 600
[Spoke2-ipsec-profile-vamp] pfs dh-group2
[Spoke2-ipsec-profile-vamp] quit
· 配置DVPN隧道
# 配置VPN域1的隧道接口Tunnel1,该隧道接口采用UDP封装模式。
[Spoke2] interface tunnel 1
[Spoke2-Tunnel1] tunnel-protocol dvpn udp
[Spoke2-Tunnel1] vam client dvpn1spoke2
[Spoke2-Tunnel1] ip address 10.0.1.4 255.255.255.0
[Spoke2-Tunnel1] source gigabitethernet 3/0/1
[Spoke2-Tunnel1] ospf network-type broadcast
[Spoke2-Tunnel1] ospf dr-priority 0
[Spoke2-Tunnel1] ipsec profile vamp
[Spoke2-Tunnel1] quit
# 配置VPN域2的隧道接口Tunnel2,该隧道接口采用GRE封装模式。
[Spoke2] interface tunnel 2
[Spoke2-Tunnel2] tunnel-protocol dvpn gre
[Spoke2-Tunnel2] vam client dvpn2spoke2
[Spoke2-Tunnel2] ip address 10.0.2.4 255.255.255.0
[Spoke2-Tunnel2] source gigabitethernet 3/0/1
[Spoke2-Tunnel2] ospf network-type broadcast
[Spoke2-Tunnel2] ospf dr-priority 0
[Spoke2-Tunnel2] ipsec profile vamp
[Spoke2-Tunnel2] quit
· 配置OSPF路由
# 配置公网的路由信息。
[Spoke2] ospf 100
[Spoke2-ospf-100] area 0
[Spoke2-ospf-100-area-0.0.0.0] network 192.168.1.4 0.0.0.255
[Spoke2-ospf-100-area-0.0.0.0] quit
# 配置私网的路由信息。
[Spoke2] ospf 200
[Spoke2-ospf-200] area 0
[Spoke2-ospf-200-area-0.0.0.0] network 10.0.1.4 0.0.0.255
[Spoke2-ospf-200-area-0.0.0.0] network 10.0.4.1 0.0.0.255
[Spoke2-ospf-200-area-0.0.0.0] quit
[Spoke2] ospf 300
[Spoke2-ospf-300] area 0
[Spoke2-ospf-300-area-0.0.0.0] network 10.0.2.4 0.0.0.255
[Spoke2-ospf-300-area-0.0.0.0] network 10.0.6.1 0.0.0.255
(7) 配置Spoke3
· 配置各接口的IP地址(略)
· 配置VAM Client
<Spoke3> system-view
# 创建VPN域2的客户端dvpn2spoke3。
[Spoke3] vam client name dvpn2spoke3
[Spoke3-vam-client-name-dvpn2spoke3] vpn 2
# 配置VAM Server的IP地址及VAM Client的预共享密钥。
[Spoke3-vam-client-name-dvpn2spoke3] server primary ip-address 192.168.1.22
[Spoke3-vam-client-name-dvpn2spoke3] server secondary ip-address 192.168.1.33
[Spoke3-vam-client-name-dvpn2spoke3] pre-shared-key simple 456
# 配置本地用户,用户名为dvpn2spoke3,密码为dvpn2spoke3。
[Spoke3-vam-client-name-dvpn2spoke3] user dvpn2spoke3 password simple dvpn2spoke3
[Spoke3-vam-client-name-dvpn2spoke3] client enable
[Spoke3-vam-client-name-dvpn2spoke3] quit
· 配置IPsec安全框架
# 配置IPsec安全提议。
[Spoke3] ipsec transform-set vam
[Spoke3-ipsec-transform-set-vam] encapsulation-mode tunnel
[Spoke3-ipsec-transform-set-vam] transform esp
[Spoke3-ipsec-transform-set-vam] esp encryption-algorithm des
[Spoke3-ipsec-transform-set-vam] esp authentication-algorithm sha1
[Spoke3-ipsec-transform-set-vam] quit
# 配置IKE对等体。
[Spoke3] ike peer vam
[Spoke3-ike-peer-vam] pre-shared-key abcde
[Spoke3-ike-peer-vam] quit
# 配置IPsec安全框架。
[Spoke3] ipsec profile vamp
[Spoke3-ipsec-profile-vamp] transform-set vam
[Spoke3-ipsec-profile-vamp] ike-peer vam
[Spoke3-ipsec-profile-vamp] sa duration time-based 600
[Spoke3-ipsec-profile-vamp] pfs dh-group2
[Spoke3-ipsec-profile-vamp] quit
· 配置DVPN隧道
# 配置VPN域2的隧道接口Tunnel2,该隧道接口采用GRE封装模式。
[Spoke3] interface tunnel 2
[Spoke3-Tunnel2] tunnel-protocol dvpn gre
[Spoke3-Tunnel2] vam client dvpn2spoke3
[Spoke3-Tunnel2] ip address 10.0.2.3 255.255.255.0
[Spoke3-Tunnel2] source gigabitethernet 3/0/1
[Spoke3-Tunnel2] ospf network-type broadcast
[Spoke3-Tunnel2] ospf dr-priority 0
[Spoke3-Tunnel2] ipsec profile vamp
[Spoke3-Tunnel2] quit
· 配置OSPF路由
# 配置公网的路由信息。
[Spoke3] ospf 100
[Spoke3-ospf-100] area 0
[Spoke3-ospf-100-area-0.0.0.0] network 192.168.1.5 0.0.0.255
[Spoke3-ospf-100-area-0.0.0.0] quit
# 配置私网的路由信息。
[Spoke3] ospf 200
[Spoke3-ospf-200] area 0
[Spoke3-ospf-200-area-0.0.0.0] network 10.0.2.3 0.0.0.255
[Spoke3-ospf-200-area-0.0.0.0] network 10.0.5.1 0.0.0.255
(8) 验证配置举例
# 显示注册到主VAM Server的所有VAM Client的地址映射信息。
[PrimaryServer] display vam server address-map all
VPN name: 1
Total address-map number: 4
Private-ip Public-ip Type Holding time
10.0.1.1 192.168.1.1 Hub 0H 52M 7S
10.0.1.2 192.168.1.2 Hub 0H 47M 31S
10.0.1.3 192.168.1.3 Spoke 0H 28M 25S
10.0.1.4 192.168.1.4 Spoke 0H 19M 15S
VPN name: 2
Total address-map number: 4
Private-ip Public-ip Type Holding time
10.0.2.1 192.168.1.1 Hub 0H 51M 44S
10.0.2.2 192.168.1.2 Hub 0H 46M 45S
10.0.2.3 192.168.1.5 Spoke 0H 11M 25S
10.0.2.4 192.168.1.4 Spoke 0H 18M 32S
# 显示注册到备份VAM Server的所有VAM Client的地址映射信息。
[SecondaryServer] display vam server address-map all
VPN name: 1
Total address-map number: 4
Private-ip Public-ip Type Holding time
10.0.1.1 192.168.1.1 Hub 0H 55M 3S
10.0.1.2 192.168.1.2 Hub 0H 50M 30S
10.0.1.3 192.168.1.3 Spoke 0H 31M 24S
10.0.1.4 192.168.1.4 Spoke 0H 22M 15S
VPN name: 2
Total address-map number: 4
Private-ip Public-ip Type Holding time
10.0.2.1 192.168.1.1 Hub 0H 54M 43S
10.0.2.2 192.168.1.2 Hub 0H 49M 44S
10.0.2.3 192.168.1.5 Spoke 0H 14M 24S
10.0.2.4 192.168.1.4 Spoke 0H 21M 32S
以上显示信息表示Hub1、Hub2、Spoke1、Spoke2和Spoke3均已将地址映射信息注册到VAM Server。
# 显示Hub1上的DVPN隧道信息。
[Hub1] display dvpn session all
Interface: Tunnel1 VPN name: 1 Total number: 3
Private IP: 10.0.1.2
Public IP: 192.168.1.2
Session type: Hub-Hub
State: SUCCESS
Holding time: 0h 1m 44s
Input: 101 packets, 100 data packets, 1 control packets
87 multicasts, 0 errors
Output: 106 packets, 99 data packets, 7 control packets
87 multicasts, 10 errors
Private IP: 10.0.1.3
Public IP: 192.168.1.3
Session type: Hub-Spoke
State: SUCCESS
Holding time: 0h 8m 7s
Input: 164 packets, 163 data packets, 1 control packets
54 multicasts, 0 errors
Output: 77 packets, 76 data packets, 1 control packets
55 multicasts, 0 errors
Private IP: 10.0.1.4
Public IP: 192.168.1.4
Session type: Hub-Spoke
State: SUCCESS
Holding time: 0h 27m 13s
Input: 174 packets, 167 data packets, 7 control packets
160 multicasts, 0 errors
Output: 172 packets, 171 data packets, 1 control packets
165 multicasts, 0 errors
Interface: Tunnel2 VPN name: 2 Total number: 3
Private IP: 10.0.2.2
Public IP: 192.168.1.2
Session type: Hub-Hub
State: SUCCESS
Holding time: 0h 12m 10s
Input: 183 packets, 182 data packets, 1 control packets
0 multicasts, 0 errors
Output: 186 packets, 185 data packets, 1 control packets
155 multicasts, 0 errors
Private IP: 10.0.2.4
Public IP: 192.168.1.4
Session type: Hub-Spoke
State: SUCCESS
Holding time: 0h 26m 39s
Input: 174 packets, 169 data packets, 5 control packets
162 multicasts, 0 errors
Output: 173 packets, 172 data packets, 1 control packets
167 multicasts, 0 errors
Private IP: 10.0.2.3
Public IP: 192.168.1.5
Session type: Hub-Spoke
State: SUCCESS
Holding time: 0h 19m 30s
Input: 130 packets, 127 data packets, 3 control packets
120 multicasts, 0 errors
Output: 127 packets, 126 data packets, 1 control packets
119 multicasts, 0 errors
以上显示信息表示VPN 1内Hub1与Hub2、Spoke1、Spoke2建立了永久隧道;VPN 2内Hub1与Hub2、Spoke2、Spoke3建立了永久隧道。Hub2上的显示信息与Hub1类似。
# 显示Spoke2上的DVPN隧道信息。
[Spoke2] display dvpn session all
Interface: Tunnel1 VPN name: 1 Total number: 2
Private IP: 10.0.1.1
Public IP: 192.168.1.1
Session type: Spoke-Hub
State: SUCCESS
Holding time: 1h 1m 22s
Input: 381 packets, 380 data packets, 1 control packets
374 multicasts, 0 errors
Output: 384 packets, 376 data packets, 8 control packets
369 multicasts, 0 errors
Private IP: 10.0.1.2
Public IP: 192.168.1.2
Session type: Spoke-Hub
State: SUCCESS
Holding time: 0h 21m 53s
Input: 251 packets, 249 data packets, 1 control packets
230 multicasts, 0 errors
Output: 252 packets, 240 data packets, 7 control packets
224 multicasts, 0 errors
Interface: Tunnel2 VPN name: 2 Total number: 2
Private IP: 10.0.2.1
Public IP: 192.168.1.1
Session type: Spoke-Hub
State: SUCCESS
Holding time: 0h 2m 47s
Input: 383 packets, 382 data packets, 1 control packets
377 multicasts, 0 errors
Output: 385 packets, 379 data packets, 6 control packets
372 multicasts, 0 errors
Private IP: 10.0.2.2
Public IP: 192.168.1.2
Session type: Spoke-Hub
State: SUCCESS
Holding time: 0h 1m 50s
Input: 242 packets, 241 data packets, 1 control packets
231 multicasts, 0 errors
Output: 251 packets, 241 data packets, 7 control packets
225 multicasts, 0 errors
以上显示信息表示VPN 1内Spoke2与Hub1、Hub2建立了Hub-Spoke永久隧道;VPN 2内Spoke2与Hub1、Hub2建立了Hub-Spoke永久隧道。Spoke1和Spoke3上的显示信息与Spoke2类似。
# 在Spoke2上ping Spoke3的私网地址10.0.5.1。
[Spoke2] ping 10.0.5.1
PING 10.0.5.1: 56 data bytes, press CTRL_C to break
Reply from 10.0.5.1: bytes=56 Sequence=1 ttl=254 time=5 ms
Reply from 10.0.5.1: bytes=56 Sequence=2 ttl=254 time=5 ms
Reply from 10.0.5.1: bytes=56 Sequence=3 ttl=254 time=5 ms
Reply from 10.0.5.1: bytes=56 Sequence=4 ttl=254 time=4 ms
Reply from 10.0.5.1: bytes=56 Sequence=5 ttl=254 time=4 ms
--- 10.0.5.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 4/4/5 ms
# 显示Spoke2上Tunnel2接口的DVPN隧道信息。
[Spoke2] display dvpn session interface tunnel 2
Interface: Tunnel2 VPN name: 2 Total number: 3
Private IP: 10.0.2.1
Public IP: 192.168.1.1
Session type: Spoke-Hub
State: SUCCESS
Holding time: 1h 10m 0s
Input: 451 packets, 450 data packets, 1 control packets
435 multicasts, 0 errors
Output: 453 packets, 447 data packets, 6 control packets
430 multicasts, 0 errors
Private IP: 10.0.2.2
Public IP: 192.168.1.2
Session type: Spoke-Hub
State: SUCCESS
Holding time: 0h 1m 50s
Input: 242 packets, 241 data packets, 1 control packets
231 multicasts, 0 errors
Output: 251 packets, 241 data packets, 7 control packets
225 multicasts, 0 errors
Private IP: 10.0.2.3
Public IP: 192.168.1.5
Session type: Spoke-Spoke
State: SUCCESS
Holding time: 0h 0m 0s
Input: 1 packets, 0 data packets, 1 control packets
0 multicasts, 0 errors
Output: 1 packets, 0 data packets, 1 control packets
0 multicasts, 0 errors
以上显示信息表示Spoke2和Spoke3之间动态建立了Spoke-Spoke隧道。
· 在Hub-Spoke的组网方式下,数据通过Hub-Spoke隧道进行转发。主备VAM Server负责管理、维护各个节点的信息;AAA服务器负责对VAM Client进行认证和计费管理;两个Hub互为备份,负责数据的转发和路由信息的交换。
· Spoke与Hub之间建立永久隧道连接。
图1-7 Hub-Spoke类型DVPN组网图
设备 |
接口 |
IP地址 |
设备 |
接口 |
IP地址 |
Hub 1 |
GE3/0/1 |
192.168.1.1/24 |
Spoke 1 |
GE3/0/1 |
192.168.1.3/24 |
|
Tunnel1 |
10.0.1.1/24 |
|
GE3/0/2 |
10.0.2.1/24 |
Hub 2 |
GE3/0/1 |
192.168.1.2/24 |
|
Tunnel1 |
10.0.1.3/24 |
|
Tunnel1 |
10.0.1.2/24 |
Spoke 2 |
GE3/0/1 |
192.168.1.4/24 |
Primary VAMserver |
GE3/0/1 |
192.168.1.22/24 |
|
GE3/0/2 |
10.0.3.1/24 |
Secondary VAM server |
GE3/0/1 |
192.168.1.33//24 |
|
Tunnel1 |
10.0.1.4/24 |
AAA server |
|
192.168.1.11/24 |
|
|
|
· 配置各接口的IP地址(略)
· 配置AAA认证
<PrimaryServer> system-view
# 配置RADIUS方案radsun。
[PrimaryServer] radius scheme radsun
[PrimaryServer-radius-radsun] primary authentication 192.168.1.11 1812
[PrimaryServer-radius-radsun] primary accounting 192.168.1.11 1813
[PrimaryServer-radius-radsun] key authentication expert
[PrimaryServer-radius-radsun] key accounting expert
[PrimaryServer-radius-radsun] server-type extended
[PrimaryServer-radius-radsun] user-name-format without-domain
[PrimaryServer-radius-radsun] quit
# 配置ISP域的AAA方案。
[PrimaryServer] domain domain1
[PrimaryServer-isp-domain1] authentication dvpn radius-scheme radsun
[PrimaryServer-isp-domain1] authorization dvpn radius-scheme radsun
[PrimaryServer-isp-domain1] accounting dvpn radius-scheme radsun
[PrimaryServer-isp-domain1] quit
[PrimaryServer] domain default enable domain1
· 配置VAM Server
# 指定VAM Server上的监听IP地址。
[PrimaryServer] vam server ip-address 192.168.1.22
# 创建VPN域1。
[PrimaryServer] vam server vpn 1
# 配置预共享密钥为123。
[PrimaryServer-vam-server-vpn-1] pre-shared-key simple 123
# 配置对客户端进行CHAP认证。
[PrimaryServer-vam-server-vpn-1] authentication-method chap
# 指定VPN域1的Hub地址。
[PrimaryServer-vam-server-vpn-1] hub private-ip 10.0.1.1
[PrimaryServer-vam-server-vpn-1] hub private-ip 10.0.1.2
# 启动所有VPN域的VAM Server功能。
[PrimaryServer] vam server enable all
(2) 配置备份VAM Server
除监听IP地址外,备份VAM Server的DVPN配置与主VAM Server相同,请参见(1)配置主VAM Server。
(3) 配置Hub1
· 配置各接口的IP地址(略)
· 配置VAM Client
<Hub1> system-view
# 创建VPN域1的客户端dvpn1hub1。
[Hub1] vam client name dvpn1hub1
[Hub1-vam-client-name-dvpn1hub1] vpn 1
# 配置VAM Server的IP地址及VAM Client的预共享密钥。
[Hub1-vam-client-name-dvpn1hub1] server primary ip-address 192.168.1.22
[Hub1-vam-client-name-dvpn1hub1] server secondary ip-address 192.168.1.33
[Hub1-vam-client-name-dvpn1hub1] pre-shared-key simple 123
# 配置本地用户,用户名为dvpn1hub1,密码为dvpn1hub1。
[Hub1-vam-client-name-dvpn1hub1] user dvpn1hub1 password simple dvpn1hub1
[Hub1-vam-client-name-dvpn1hub1] client enable
[Hub1-vam-client-name-dvpn1hub1] quit
· 配置IPsec安全框架
# 配置IPsec安全提议。
[Hub1] ipsec transform-set vam
[Hub1-ipsec-transform-set-vam] encapsulation-mode tunnel
[Hub1-ipsec-transform-set-vam] transform esp
[Hub1-ipsec-transform-set-vam] esp encryption-algorithm des
[Hub1-ipsec-transform-set-vam] esp authentication-algorithm sha1
[Hub1-ipsec-transform-set-vam] quit
# 配置IKE对等体。
[Hub1] ike peer vam
[Hub1-ike-peer-vam] pre-shared-key abcde
[Hub1-ike-peer-vam] quit
# 配置IPsec安全框架。
[Hub1] ipsec profile vamp
[Hub1-ipsec-profile-vamp] transform-set vam
[Hub1-ipsec-profile-vamp] ike-peer vam
[Hub1-ipsec-profile-vamp] sa duration time-based 600
[Hub1-ipsec-profile-vamp] pfs dh-group2
[Hub1-ipsec-profile-vamp] quit
· 配置DVPN隧道
# 配置VPN域1的隧道接口Tunnel1。如果采用UDP封装,则配置方法如下:
[Hub1] interface tunnel 1
[Hub1-Tunnel1] tunnel-protocol dvpn udp
[Hub1-Tunnel1] vam client dvpn1hub1
[Hub1-Tunnel1] ip address 10.0.1.1 255.255.255.0
[Hub1-Tunnel1] source gigabitethernet 3/0/1
[Hub1-Tunnel1] ospf network-type p2mp
[Hub1-Tunnel1] ipsec profile vamp
[Hub1-Tunnel1] quit
# 如果采用GRE封装,则配置方法如下:
[Hub1] interface tunnel 1
[Hub1-Tunnel1] tunnel-protocol dvpn gre
[Hub1-Tunnel1] vam client dvpn1hub1
[Hub1-Tunnel1] ip address 10.0.1.1 255.255.255.0
[Hub1-Tunnel1] source gigabitethernet 3/0/1
[Hub1-Tunnel1] ospf network-type p2mp
[Hub1-Tunnel1] ipsec profile vamp
[Hub1-Tunnel1] quit
· 配置OSPF路由
# 配置公网的路由信息。
[Hub1] ospf 100
[Hub1-ospf-100] area 0
[Hub1-ospf-100-area-0.0.0.0] network 192.168.1.1 0.0.0.255
[Hub1-ospf-100-area-0.0.0.0] quit
# 配置私网的路由信息。
[Hub1] ospf 200
[Hub1-ospf-200] area 0
[Hub1-ospf-200-area-0.0.0.0] network 10.0.1.1 0.0.0.255
(4) 配置Hub2
· 配置各接口的IP地址(略)
· 配置VAM Client
<Hub2> system-view
# 创建VPN域1的客户端dvpn1hub2。
[Hub2] vam client name dvpn1hub2
[Hub2-vam-client-name-dvpn1hub2] vpn 1
# 配置VAM Server的IP地址及VAM Client的预共享密钥。
[Hub2-vam-client-name-dvpn1hub2] server primary ip-address 192.168.1.22
[Hub2-vam-client-name-dvpn1hub2] server secondary ip-address 192.168.1.33
[Hub2-vam-client-name-dvpn1hub2] pre-shared-key simple 123
# 配置本地用户,用户名为dvpn1hub2,密码为dvpn1hub2。
[Hub2-vam-client-name-dvpn1hub2] user dvpn1hub2 password simple dvpn1hub2
[Hub2-vam-client-name-dvpn1hub2] client enable
[Hub2-vam-client-name-dvpn1hub2] quit
· 配置IPsec安全框架
# 配置IPsec安全提议。
[Hub2] ipsec transform-set vam
[Hub2-ipsec-transform-set-vam] encapsulation-mode tunnel
[Hub2-ipsec-transform-set-vam] transform esp
[Hub2-ipsec-transform-set-vam] esp encryption-algorithm des
[Hub2-ipsec-transform-set-vam] esp authentication-algorithm sha1
[Hub2-ipsec-transform-set-vam] quit
# 配置IKE对等体。
[Hub2] ike peer vam
[Hub2-ike-peer-vam] pre-shared-key abcde
[Hub2-ike-peer-vam] quit
# 配置IPsec安全框架。
[Hub2] ipsec profile vamp
[Hub2-ipsec-profile-vamp] transform-set vam
[Hub2-ipsec-profile-vamp] ike-peer vam
[Hub2-ipsec-profile-vamp] sa duration time-based 600
[Hub2-ipsec-profile-vamp] pfs dh-group2
[Hub2-ipsec-profile-vamp] quit
· 配置DVPN隧道
# 配置VPN域1的隧道接口Tunnel1。如果采用UDP封装,则配置方法如下:
[Hub2] interface tunnel 1
[Hub2-Tunnel1] tunnel-protocol dvpn udp
[Hub2-Tunnel1] vam client dvpn1hub2
[Hub2-Tunnel1] ip address 10.0.1.2 255.255.255.0
[Hub2-Tunnel1] source gigabitethernet 3/0/1
[Hub2-Tunnel1] ospf network-type p2mp
[Hub2-Tunnel1] ipsec profile vamp
[Hub2-Tunnel1] quit
# 如果采用GRE封装,则配置方法如下:
[Hub2] interface tunnel 1
[Hub2-Tunnel1] tunnel-protocol dvpn gre
[Hub2-Tunnel1] vam client dvpn1hub2
[Hub2-Tunnel1] ip address 10.0.1.2 255.255.255.0
[Hub2-Tunnel1] source gigabitethernet 3/0/1
[Hub2-Tunnel1] ospf network-type p2mp
[Hub2-Tunnel1] ipsec profile vamp
[Hub2-Tunnel1] quit
· 配置OSPF路由
# 配置公网的路由信息。
[Hub2] ospf 100
[Hub2-ospf-100] area 0
[Hub2-ospf-100-area-0.0.0.0] network 192.168.1.2 0.0.0.255
[Hub2-ospf-100-area-0.0.0.0] quit
# 配置私网的路由信息。
[Hub2] ospf 200
[Hub2-ospf-200] area 0
[Hub2-ospf-200-area-0.0.0.0] network 10.0.1.2 0.0.0.255
(5) 配置Spoke1
· 配置各接口的IP地址(略)
· 配置VAM Client
<Spoke1> system-view
# 创建VPN域1的客户端dvpn1spoke1。
[Spoke1] vam client name dvpn1spoke1
[Spoke1-vam-client-name-dvpn1spoke1] vpn 1
# 配置Server的IP地址。
[Spoke1-vam-client-name-dvpn1spoke1] server primary ip-address 192.168.1.22
[Spoke1-vam-client-name-dvpn1spoke1] server secondary ip-address 192.168.1.33
[Spoke1-vam-client-name-dvpn1spoke1] pre-shared-key simple 123
# 配置本地用户,用户名为dvpn1spoke1,密码为dvpn1spoke1。
[Spoke1-vam-client-name-dvpn1spoke1] user dvpn1spoke1 password simple dvpn1spoke1
[Spoke1-vam-client-name-dvpn1spoke1] client enable
[Spoke1-vam-client-name-dvpn1spoke1] quit
· 配置IPsec安全框架
# 配置IPsec安全提议。
[Spoke1] ipsec transform-set vam
[Spoke1-ipsec-transform-set-vam] encapsulation-mode tunnel
[Spoke1-ipsec-transform-set-vam] transform esp
[Spoke1-ipsec-transform-set-vam] esp encryption-algorithm des
[Spoke1-ipsec-transform-set-vam] esp authentication-algorithm sha1
[Spoke1-ipsec-transform-set-vam] quit
# 配置IKE对等体。
[Spoke1] ike peer vam
[Spoke1-ike-peer-vam] pre-shared-key abcde
[Spoke1-ike-peer-vam] quit
# 配置IPsec安全框架。
[Spoke1] ipsec profile vamp
[Spoke1-ipsec-profile-vamp] transform-set vam
[Spoke1-ipsec-profile-vamp] ike-peer vam
[Spoke1-ipsec-profile-vamp] sa duration time-based 600
[Spoke1-ipsec-profile-vamp] pfs dh-group2
[Spoke1-ipsec-profile-vamp] quit
· 配置DVPN隧道
# 配置VPN域1的隧道接口Tunnel1。如果采用UDP封装,则配置方法如下:
[Spoke1] interface tunnel 1
[Spoke1-Tunnel1] tunnel-protocol dvpn udp
[Spoke1-Tunnel1] vam client dvpn1spoke1
[Spoke1-Tunnel1] ip address 10.0.1.3 255.255.255.0
[Spoke1-Tunnel1] source gigabitethernet 3/0/1
[Spoke1-Tunnel1] ospf network-type p2mp
[Spoke1-Tunnel1] ipsec profile vamp
[Spoke1-Tunnel1] quit
# 如果采用GRE封装,则配置方法如下:
[Spoke1] interface tunnel 1
[Spoke1-Tunnel1] tunnel-protocol dvpn gre
[Spoke1-Tunnel1] vam client dvpn1spoke1
[Spoke1-Tunnel1] ip address 10.0.1.3 255.255.255.0
[Spoke1-Tunnel1] source gigabitethernet 3/0/1
[Spoke1-Tunnel1] ospf network-type p2mp
[Spoke1-Tunnel1] ipsec profile vamp
[Spoke1-Tunnel1] quit
· 配置OSPF
# 配置公网的路由信息。
[Spoke1] ospf 100
[Spoke1-ospf-100] area 0
[Spoke1-ospf-100-area-0.0.0.0] network 192.168.1.3 0.0.0.255
[Spoke1-ospf-100-area-0.0.0.0] quit
# 配置私网的路由信息。
[Spoke1] ospf 200
[Spoke1-ospf-200] area 0
[Spoke1-ospf-200-area-0.0.0.0] network 10.0.1.3 0.0.0.255
[Spoke1-ospf-200-area-0.0.0.0] network 10.0.2.1 0.0.0.255
(6) 配置Spoke2
· 配置各接口的IP地址(略)
· 配置VAM Client
<Spoke2> system-view
# 创建VPN域1的客户端dvpn1spoke2。
[Spoke2] vam client name dvpn1spoke2
[Spoke2-vam-client-name-dvpn1spoke2] vpn 1
# 配置Server的IP地址及客户端的预共享密钥。
[Spoke2-vam-client-name-dvpn1spoke2] server primary ip-address 192.168.1.22
[Spoke2-vam-client-name-dvpn1spoke2] server secondary ip-address 192.168.1.33
[Spoke2-vam-client-name-dvpn1spoke2] pre-shared-key simple 123
# 配置本地用户,用户名为dvpn1spoke2,密码为dvpn1spoke2。
[Spoke2-vam-client-name-dvpn1spoke2] user dvpn1spoke2 password simple dvpn1spoke2
[Spoke2-vam-client-name-dvpn1spoke2] client enable
[Spoke2-vam-client-name-dvpn1spoke2] quit
· 配置IPsec安全框架
# 配置IPsec安全提议。
[Spoke2] ipsec transform-set vam
[Spoke2-ipsec-transform-set-vam] encapsulation-mode tunnel
[Spoke2-ipsec-transform-set-vam] transform esp
[Spoke2-ipsec-transform-set-vam] esp encryption-algorithm des
[Spoke2-ipsec-transform-set-vam] esp authentication-algorithm sha1
[Spoke2-ipsec-transform-set-vam] quit
# 配置IKE对等体。
[Spoke2] ike peer vam
[Spoke2-ike-peer-vam] pre-shared-key abcde
[Spoke2-ike-peer-vam] quit
# 配置IPsec安全框架。
[Spoke2] ipsec profile vamp
[Spoke2-ipsec-profile-vamp] transform-set vam
[Spoke2-ipsec-profile-vamp] ike-peer vam
[Spoke2-ipsec-profile-vamp] sa duration time-based 600
[Spoke2-ipsec-profile-vamp] pfs dh-group2
[Spoke2-ipsec-profile-vamp] quit
· 配置DVPN隧道
# 配置VPN域1的隧道接口Tunnel1。如果采用UDP封装,则配置方法如下:
[Spoke2] interface tunnel 1
[Spoke2-Tunnel1] tunnel-protocol dvpn udp
[Spoke2-Tunnel1] vam client dvpn1spoke2
[Spoke2-Tunnel1] ip address 10.0.1.4 255.255.255.0
[Spoke2-Tunnel1] source gigabitethernet 3/0/1
[Spoke2-Tunnel1] ospf network-type p2mp
[Spoke2-Tunnel1] ipsec profile vamp
[Spoke2-Tunnel1] quit
# 如果采用GRE封装,则配置方法如下:
[Spoke2] interface tunnel 1
[Spoke2-Tunnel1] tunnel-protocol dvpn gre
[Spoke2-Tunnel1] vam client dvpn1spoke2
[Spoke2-Tunnel1] ip address 10.0.1.4 255.255.255.0
[Spoke2-Tunnel1] source gigabitethernet 3/0/1
[Spoke2-Tunnel1] ospf network-type p2mp
[Spoke2-Tunnel1] ipsec profile vamp
[Spoke2-Tunnel1] quit
· 配置OSPF路由
# 配置公网的路由信息。
[Spoke2] ospf 100
[Spoke2-ospf-100] area 0
[Spoke2-ospf-100-area-0.0.0.0] network 192.168.1.4 0.0.0.255
[Spoke2-ospf-100-area-0.0.0.0] quit
# 配置私网的路由信息。
[Spoke2] ospf 200
[Spoke2-ospf-200] area 0
[Spoke2-ospf-200-area-0.0.0.0] network 10.0.1.4 0.0.0.255
[Spoke2-ospf-200-area-0.0.0.0] network 10.0.3.1 0.0.0.255
(7) 验证配置举例
# 显示注册到主VAM Server的所有VAM Client的地址映射信息。
[PrimaryServer] display vam server address-map all
VPN name: 1
Total address-map number: 4
Private-ip Public-ip Type Holding time
10.0.1.1 192.168.1.1 Hub 0H 7M 35S
10.0.1.2 192.168.1.2 Hub 0H 13M 8S
10.0.1.3 192.168.1.3 Spoke 0H 3M 58S
10.0.1.4 192.168.1.4 Spoke 0H 0M 29S
# 显示注册到备份VAM Server的所有VAM Client的地址映射信息。
[SecondaryServer] display vam server address-map all
VPN name: 1
Total address-map number: 4
Private-ip Public-ip Type Holding time
10.0.1.1 192.168.1.1 Hub 0H 8M 46S
10.0.1.2 192.168.1.2 Hub 0H 14M 58S
10.0.1.3 192.168.1.3 Spoke 0H 5M 9S
10.0.1.4 192.168.1.4 Spoke 0H 1M 40S
以上显示信息表示Hub1、Hub2、Spoke1和Spoke2均已将地址映射信息注册到VAM Server。
# 显示Hub1上的DVPN隧道信息。
[Hub1] display dvpn session all
Interface: Tunnel1 VPN name: 1 Total number: 3
Private IP: 10.0.1.2
Public IP: 192.168.1.2
Session type: Hub-Hub
State: SUCCESS
Holding time: 0h 1m 44s
Input: 101 packets, 100 data packets, 1 control packets
87 multicasts, 0 errors
Output: 106 packets, 99 data packets, 7 control packets
87 multicasts, 10 errors
Private IP: 10.0.1.3
Public IP: 192.168.1.3
Session type: Hub-Spoke
State: SUCCESS
Holding time: 0h 4m 32s
Input: 36 packets, 18 data packets, 18 control packets
10 multicasts, 0 errors
Output: 35 packets, 17 data packets, 18 control packets
11 multicasts, 0 errors
Private IP: 10.0.1.4
Public IP: 192.168.1.4
Session type: Hub-Spoke
State: SUCCESS
Holding time: 0h 3m 15s
Input: 20 packets, 0 data packets, 20 control packets
0 multicasts, 0 errors
Output: 20 packets, 6 data packets, 14 control packets
6 multicasts, 0 errors
以上显示信息表示VPN 1内Hub1与Hub2、Spoke1、Spoke2建立了永久隧道。Hub2上的显示信息与Hub1类似。
# 显示Spoke1上的DVPN隧道信息。
[Spoke1] display dvpn session all
Interface: Tunnel1 VPN name: 1 Total number: 2
Private IP: 10.0.1.1
Public IP: 192.168.1.1
Session type: Spoke-Hub
State: SUCCESS
Holding time: 1h 1m 22s
Input: 381 packets, 380 data packets, 1 control packets
374 multicasts, 0 errors
Output: 384 packets, 376 data packets, 8 control packets
369 multicasts, 0 errors
Private IP: 10.0.1.2
Public IP: 192.168.1.2
Session type: Spoke-Hub
State: SUCCESS
Holding time: 0h 21m 53s
Input: 251 packets, 249 data packets, 1 control packets
230 multicasts, 0 errors
Output: 252 packets, 240 data packets, 7 control packets
224 multicasts, 0 errors
以上显示信息表示VPN 1内Spoke1与Hub1、Hub2建立了Hub-Spoke永久隧道。Spoke2上的显示信息与Spoke1类似。
# 在Spoke1上ping Spoke2的私网地址10.0.3.1。
[Spoke1] ping 10.0.3.1
PING 10.0.3.1: 56 data bytes, press CTRL_C to break
Reply from 10.0.3.1: bytes=56 Sequence=1 ttl=254 time=6 ms
Reply from 10.0.3.1: bytes=56 Sequence=2 ttl=254 time=54 ms
Reply from 10.0.3.1: bytes=56 Sequence=3 ttl=254 time=5 ms
Reply from 10.0.3.1: bytes=56 Sequence=4 ttl=254 time=6 ms
Reply from 10.0.3.1: bytes=56 Sequence=5 ttl=254 time=37 ms
--- 10.0.3.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 5/21/54 ms
# 显示Spoke1上的DVPN隧道信息。
[Spoke1] display dvpn session all
Interface: Tunnel2 VPN name: 2 Total number: 2
Private IP: 10.0.2.1
Public IP: 192.168.1.1
Session type: Spoke-Hub
State: SUCCESS
Holding time: 1h 10m 0s
Input: 451 packets, 450 data packets, 1 control packets
435 multicasts, 0 errors
Output: 453 packets, 447 data packets, 6 control packets
430 multicasts, 0 errors
Private IP: 10.0.2.2
Public IP: 192.168.1.2
Session type: Spoke-Hub
State: SUCCESS
Holding time: 0h 1m 50s
Input: 242 packets, 241 data packets, 1 control packets
231 multicasts, 0 errors
Output: 251 packets, 241 data packets, 7 control packets
225 multicasts, 0 errors
以上显示信息表示Spoke1和Spoke2之间没有建立动态的Spoke-Spoke隧道,Spoke1和Spoke2通过Hub转发数据。
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!