国家 / 地区

06-三层技术-IP业务配置指导

09-DVPN配置

本章节下载  (474.53 KB)

docurl=/cn/Service/Document_Software/Document_Center/Routers/Catalog/MSR/MSR_50/Configure/Operation_Manual/H3C_MSR_CG(V5)-R2516-V1.16/06/201807/1094083_30005_0.htm

09-DVPN配置


1 DVPN

1.1  DVPN简介

越来越多的企业希望利用公共网络组建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协议查询到私网下一跳对应的公网地址,并利用该公网地址做为隧道的目的地址进行封装,最后交给已建立起的安全隧道发送到目的端用户。

1.1.1  DVPN的基本概念

DVPN方案中有几个关键的角色:

1. DVPN节点

DVPN节点为动态VPN隧道两端的设备,可以是网络设备或主机。DVPN节点参与隧道的建立,需要实现VAM的客户端功能。

2. VAM Server

VAM Server是接受DVPN节点向其注册信息的服务器,负责管理、维护各DVPN节点的信息。目前VAM Server一般运行在较高性能的路由器设备上。

3. VAM Client

VAM Client向VAM Server注册自己的私网地址、公网地址等信息,向VAM Server查询其它VAM Client的信息。DVPN节点上需要实现VAM Client功能。文中涉及到VAM Client的地方,如果不是特别说明,是指对Hub和Spoke的统称。

4. Hub

Hub是一种VAM Client,一个VPN网络的中心设备,它是路由信息交换的中心。在Hub-Spoke组网中,它也是数据转发的中心。

5. Spoke

Spoke是一种VAM Client,通常是企业分支机构的网关设备,该节点不会转发收到的其它DVPN节点的数据。

6. AAA服务器

AAA(Authentication, Authorization and Accounting,认证、授权和计费)服务器,用于对用户进行认证和计费管理。

1.1.2  DVPN的基本原理

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。

1.1.3  DVPN的组网结构

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组网示意图

 

1.1.4  DVPN的工作过程

DVPN的工作过程分为连接初始化、注册和隧道建立三个阶段,下面对这三个阶段做简单说明。

1. 连接初始化阶段

Client在第一次与Server连接时,首先进行连接的初始化,双方协商决定是否需要对VAM协议报文进行保护。如果需要保护,则协商出报文加密和完整性验证算法及生成加密密钥和完整性验证密钥,并对协商出的结果作出确认。只有连接初始化完成后,才能进入注册阶段。

图1-3 连接初始化流程图

 

图1-3所示,连接初始化的过程为:

(1)     Client通过连接请求报文将自己支持的完整性验证算法、加密算法等发送给Server。

(2)     Server按照优先级从高到低的顺序从自己支持的算法列表中依次选择算法,与Client发送的算法列表进行匹配。如果匹配成功,则使用该算法,Server通过连接响应报文将算法协商结果发送给Client,同时,Server和Client生成加密密钥和完整性验证密钥。

(3)     Client和Server分别利用初始化完成报文来验证各种算法和密钥的协商是否成功。

2. 注册阶段

图1-4 注册流程图

 

图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信息。

3. 隧道建立阶段

当Spoke注册成功后,要和Hub建立永久隧道,一个Spoke最多和两个Hub建立永久隧道。如果在一个VPN域中有两个Hub,则Hub之间需要建立永久隧道。具体隧道建立流程如图1-5所示:

图1-5 隧道建立流程图

 

(1)     发起隧道建立请求

·     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)     隧道接收方收到建立隧道的请求后,保存相应的隧道连接信息,并向发起方发送建立隧道响应报文。如果隧道发起方收到隧道建立成功的响应报文,表示隧道建立成功,否则表示隧道建立失败。

1.1.5  设备支持的DVPN特性

1. UDP封装的DVPN报文对NAT网关自然穿越

当隧道发起方在NAT网关后侧时,则可以建立穿越NAT的Spoke-Spoke隧道;如果隧道接收方在NAT网关后侧,则数据包要由Hub转发,直到接收方发起隧道建立请求。如果双方都在NAT网关后侧,则它们都无法与对方建立隧道,所有的数据包都只能从Hub转发。

2. VAM Client对动态IP地址的支持

隧道两端的Tunnel接口不需要配置隧道目的地址,VAM Client在VAM Server上注册自己的公/私网地址,当需要建立隧道时,可以从VAM Server获取对端Client的公网地址,从而动态的建立隧道。当VAM Client的IP地址改变时,会向VAM Server重新注册,从而实现了对动态IP地址的支持。

3. VAM Server对VAM Client的AAA身份认证

初始化过程完成之后,VAM Client要向VAM Server注册,注册过程中可以要求对VAM Client进行身份认证,VAM支持PAP和CHAP两种认证方式。VAM Server通过AAA对加入到VPN域的客户端进行身份认证,认证通过后VAM Client才能接入到VPN网络。

4. 利用预共享密钥验证VAM Client和VAM Server的身份

VAM Client和VAM Server必须配置统一的预共享密钥,用于生成加密/完整性验证的密钥。VAM Client/VAM Server通过报文解密、完整性验证是否成功,判断二者的预共享密钥是否相同,从而实现对VAM Server/VAM Client的身份认证。

5. VAM协议报文的加密保护

可以选择对VAM协议报文进行加密,加密算法支持AES-128、AES-256、DES和3DES算法。

6. 数据报文的IPsec加密保护

DVPN隧道的数据报文可以由IPsec安全框架保护,采用安全协议ESP、AH或AH-ESP(先采用ESP协议,再采用AH协议),通过IKE协商安全策略。

7. 策略的统一管理

VAM Server对整个VPN域的策略进行统一的管理。

8. 支持多个VPN域

VAM Server上可以配置多个VPN域,每台VAM Server上最多可以配置10个VPN域。

1.2  DVPN配置任务简介

DVPN的配置涉及到VAM、AAA、Tunnel、IPsec安全框架和路由配置。组网时一般先配置好DVPN服务器端,然后是DVPN客户端的Hub设备,最后是Spoke设备。

表1-1 DVPN配置任务简介

配置任务

说明

详细配置

配置DVPN服务器端

配置AAA

可选

1.3 

配置VAM Server

必选

1.4 

配置DVPN客户端

配置VAM Client

必选

1.5 

配置IPsec安全框架

可选

1.6 

配置DVPN隧道属性

必选

1.7 

配置路由

必选

1.8 

 

1.3  配置AAA

DVPN服务器端可以根据需要使用AAA对接入到VPN域的Client进行身份认证,只有通过身份认证的Client才可以接入到VPN域。

DVPN服务器端AAA的具体配置请参见“安全配置指导”中的“AAA”。

1.4  配置VAM Server

该配置主要对DVPN服务器端的参数进行设置,并制定相关的策略,即是否对VAM的协议报文进行保护,Server对Client的认证方式等等。

1.4.1  VAM Server配置任务简介

表1-2 VAM Server配置任务简介

配置任务

说明

详细配置

创建VPN域

必选

1.4.2 

启动VAM Server功能

必选

1.4.3 

配置监听的IP地址和端口号

可选

1.4.4 

配置VAM协议报文的安全参数

可选

1.4.5 

配置对客户端的认证方式

可选

1.4.6 

配置Hub的IP地址

必选

1.4.7 

配置VAM Server的预共享密钥

必选

1.4.8 

配置Keepalive报文参数

可选

1.4.9 

 

1.4.2  创建VPN

表1-3 创建VPN域

操作

命令

说明

进入系统视图

system-view

-

创建VPN域,并进入VPN域视图

vam server vpn vpn-name

必选

缺省情况下,无VPN域存在

 

1.4.3  启动VAM Server功能

该配置用来启动服务器端VPN域的VAM服务功能。

表1-4 启动VAM Server功能

操作

命令

说明

进入系统视图

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

 

1.4.4  配置监听IP地址和端口号

该配置用来指定服务器上监听的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地址和端口号的报文。

 

1.4.5  配置VAM协议报文的安全参数

该配置用来设置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进行验证。后续的报文可以通过上述加密算法配置确定是否加密。

·     报文的验证/加密算法在配置中的出现顺序决定其使用优先级。

 

1.4.6  配置对客户端的认证方式

该配置用来设置服务器对客户端的认证方式。对于服务器启用AAA对客户端进行认证的情况,目前只支持PAP和CHAP两种身份验证方式。

表1-7 配置对客户端的认证方式

操作

命令

说明

进入系统视图

system-view

-

进入VPN域视图

vam server vpn vpn-name

-

配置对客户端的认证方式

authentication-method { none | { chap | pap } [ domain name-string ] }

可选

缺省情况下,使用CHAP验证方式,ISP域为用户配置的系统默认域

 

1.4.7  配置Hub的IP地址

该配置用来指定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个。

 

1.4.8  配置VAM Server的预共享密钥

预共享密钥是Server用来和Client建立安全通道的公共密钥材料。在连接初始化阶段预共享密钥用来生成验证和加密连接请求、连接响应报文的初始密钥;如果选择对后续的报文进行加密和验证,则预共享用来生成验证和加密后续报文的连接密钥。

表1-9 配置预共享密钥

操作

命令

说明

进入系统视图

system-view

-

进入VPN域视图

vam server vpn vpn-name

-

配置VAM Server的预共享密钥

pre-shared-key { cipher | simple } key-string

必选

缺省情况下,无预共享密钥

 

1.4.9  配置Keepalive报文参数

Client通过定期发送Keepalive报文与Sever保持联系,Server在收到Keepalive报文后发送回应报文,以证明自己的存在。如果Server在指定的时间内(Keepalive报文的发送时间间隔×重试次数)没有收到Client的Keepalive报文,则删除该Client的节点信息并使其下线。

该配置用来设置Client发送Keepalive报文的发送时间间隔和重试次数。在Client注册成功后,Server将该参数在注册响应中下发给Client。

表1-10 配置Keepalive报文参数

操作

命令

说明

进入系统视图

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不受影响。

 

1.5  配置VAM Client

通过VAM Client端的配置,可以指定Client所在VPN域、Client进行注册的主/备Server地址和端口号以及Client的本地用户信息等,为Client向Server发起初始化连接请求并最终成功注册到Server上做了必要准备。

1.5.1  VAM Client配置任务简介

表1-11 VAM Client配置任务简介

配置任务

说明

详细配置

创建VAM Client

必选

1.5.2 

配置VAM协议报文重发间隔时间

可选

1.5.3 

配置主VAM Server的IP地址和UDP端口号

二者至少选择其一

1.5.4 

配置备份VAM Server的IP地址和UDP端口号

1.5.5 

配置本地用户

可选

1.5.6 

配置VAM Client所属的VPN域

必选

1.5.7 

配置VAM Client的预共享密钥

必选

1.5.8 

启动VAM Client服务

必选

1.5.9 

 

1.5.2  创建VAM Client

表1-12 创建VAM Client

操作

命令

说明

进入系统视图

system-view

-

创建VAM Client,并进入VAM Client视图

vam client name client-name

必选

缺省情况下,无VAM Client

 

1.5.3  配置VAM协议报文重发间隔时间

设置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.5.4  配置主VAM Server的公网IP地址和UDP端口号

表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.5.5  配置备份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端口号

 

1.5.6  配置本地用户

配置VAM Client的用户名和密码,用于向VAM Server进行身份认证。

表1-16 配置本地用户

操作

命令

说明

进入系统视图

system-view

-

进入VAM Client视图

vam client name client-name

-

配置本地用户名和密码

user username password { cipher | simple } string

必选

缺省情况下,没有配置本地用户名和密码

 

说明

在一个VAM Client视图下只能配置一个本地用户。

 

1.5.7  配置VAM Client所属的VPN域

表1-17 配置VAM Client所属的VPN域

操作

命令

说明

进入系统视图

system-view

-

进入VAM Client视图

vam client name client-name

-

配置VAM Client所属的VPN域

vpn vpn-name

必选

缺省情况下,VAM Client不属于任何VPN域

 

1.5.8  配置VAM Client的预共享密钥

预共享密钥是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所配置的预共享密钥一致。

 

1.5.9  启动VAM Client服务

在设备上启动VAM Client服务后,VAM协议在Client上生效。

表1-19 启动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

 

1.6  配置IPsec安全框架

IPsec安全框架可以用来保护DVPN隧道数据报文和控制报文的传递,采用安全协议ESP、AH或AH-ESP(先采用ESP协议,再采用AH协议),通过IKE协商安全策略。

1.6.1  配置准备

配置IPsec安全框架之前,需完成以下任务:

·     配置IPsec安全框架所引用的安全提议

·     配置IPsec安全框架所引用的IKE对等体

说明

IPsec、IKE的详细配置请参见“安全配置指导”中的“IPsec”和“IKE”。

 

1.6.2  配置IPsec安全框架

表1-20 配置安全框架

操作

命令

说明

进入系统视图

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,完善的前向安全性)特性的介绍请参见“安全配置指导”中的“IKE”

配置安全联盟的生存周期

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 profiletransform-setike-peerpfssa duration命令的详细配置请参见“安全命令参考”中的“IPsec”。

 

1.7  配置DVPN隧道属性

通过DVPN隧道的配置,可以配置DVPN隧道接口的私网地址、隧道两端接口所绑定的VAM用户、隧道的空闲超时时间以及隧道建立失败的静默时间等,为建立DVPN隧道做了必要准备。

1.7.1  配置准备

作为Tunnel虚接口的源接口(如VLAN接口,Ethernet接口,Loopback接口等)已经配置IP地址,并能够进行正常通讯。

1.7.2  配置DVPN隧道

表1-21 配置DVPN隧道

操作

命令

说明

进入系统视图

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 }

必选

在隧道的两端应配置相同的隧道模式,否则可能造成报文传输失败

配置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隧道仅支持broadcastp2mp两种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接口关联

ip binding vpn-instance vpn-instance-name

可选

缺省情况下,隧道接口没有与任何VPN实例绑定

如果要实现多个VPN域之间的隔离,必须配置多个VPN实例,隔离各私网之间的路由

配置隧道目的地址所属的VPN

tunnel vpn-instance vpn-instance-name

可选

缺省情况下,隧道目的地址属于公网,设备查找公网路由表转发隧道封装后的报文

通过本命令指定隧道目的地址所属的VPN后,设备将查找指定VPN实例的路由表转发隧道封装后的报文

在隧道的源接口上通过ip binding vpn-instance命令可以指定隧道源地址所属的VPN。隧道的源地址和目的地址必须属于相同的VPN

 

说明

·     配置Tunnel接口的源端地址时,若采用配置源接口形式,则Tunnel的源地址为源接口的主IP地址。

·     如果设备上配置了多个使用GRE封装的DVPN隧道,则不同GRE封装DVPN隧道的源地址和源接口不允许相同。

·     在同一个VPN域中,所有Tunnel接口的私网地址应该配置为同一个网段。

·     interface tunneltunnel-protocolsource命令的详细介绍请参见“三层技术-IP业务命令参考”中的“隧道”;ipsec profile命令的详细介绍请参见“安全命令参考”中的“IPsec”。

·     在同一个VPN域中,所有Tunnel接口的DVPN Keepalive报文发送周期及最大发送次数应该一致。

·     一个DVPN隧道接口下只能引用一个IPsec安全框架。如果DVPN隧道接口需要引用新的IPsec安全框架,需要先取消当前引用的IPsec安全框架。

·     ospf network-typeospf dr-priority命令的详细配置请参见“三层技术-IP路由命令参考”中的“OSPF”。

·     VPN实例的配置请参见“MPLS配置指导”中的“MPLS L3VPN”。

 

1.8  配置路由

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”。

1.9  DVPN显示和维护

在完成上述配置后,在任意视图下执行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”。

 

1.10  DVPN典型配置举例

1.10.1  DVPN典型配置举例(Full-Mesh网络)

1. 组网需求

·     在Full-Mesh的组网方式下,主备VAM Server负责管理、维护各个节点的信息;AAA服务器负责对VAM Client进行认证和计费管理;两个Hub互为备份,负责数据的转发和路由信息的交换。

·     Spoke与Hub之间建立永久隧道连接。

·     同一VPN域中,任意的两个Spoke之间在有数据时动态建立隧道连接。

2. 组网图

图1-6 Full-Mesh类型DVPN组网图

设备

接口

IP地址

设备

接口

IP地址

Hub 1

Eth1/1

192.168.1.1/24

Spoke 1

Eth1/1

192.168.1.3/24

 

Tunnel1

10.0.1.1/24

 

Eth1/2

10.0.3.1/24

 

Tunnel2

10.0.2.1/24

 

Tunnel1

10.0.1.3/24

Hub 2

Eth1/1

192.168.1.2/24

Spoke 2

Eth1/1

192.168.1.4/24

 

Tunnel1

10.0.1.2/24

 

Eth1/2

10.0.4.1/24

 

Tunnel2

10.0.2.2/24

 

Eth1/3

10.0.6.1/24

Spoke 3

Eth1/1

192.168.1.5/24

 

Tunnel1

10.0.1.4/24

 

Eth1/2

10.0.5.1/24

 

Tunnel2

10.0.2.4/24

 

Tunnel2

10.0.2.3/24

Primary VAM server

Eth1/1

192.168.1.22/24

AAA server

 

192.168.1.11/24

Secondary VAM server

Eth1/1

192.168.1.33//24

 

3. 配置步骤

(1)     配置主VAM Server

·     配置各接口的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 ethernet 1/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 ethernet 1/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 ethernet 1/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 ethernet 1/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 ethernet 1/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 ethernet 1/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 ethernet 1/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 ethernet 1/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隧道。

1.10.2  DVPN典型配置举例(Hub-Spoke网络)

1. 组网需求

·     在Hub-Spoke的组网方式下,数据通过Hub-Spoke隧道进行转发。主备VAM Server负责管理、维护各个节点的信息;AAA服务器负责对VAM Client进行认证和计费管理;两个Hub互为备份,负责数据的转发和路由信息的交换。

·     Spoke与Hub之间建立永久隧道连接。

2. 组网图

图1-7 Hub-Spoke类型DVPN组网图

设备

接口

IP地址

设备

接口

IP地址

Hub 1

Eth1/1

192.168.1.1/24

Spoke 1

Eth1/1

192.168.1.3/24

 

Tunnel1

10.0.1.1/24

 

Eth1/2

10.0.2.1/24

Hub 2

Eth1/1

192.168.1.2/24

 

Tunnel1

10.0.1.3/24

 

Tunnel1

10.0.1.2/24

Spoke 2

Eth1/1

192.168.1.4/24

Primary VAMserver

Eth1/1

192.168.1.22/24

 

Eth1/2

10.0.3.1/24

Secondary VAMserver

Eth1/1

192.168.1.33//24

 

Tunnel1

10.0.1.4/24

AAA server

 

192.168.1.11/24

 

 

 

 

3. 配置步骤

(1)     配置主VAM Server

·     配置各接口的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 ethernet 1/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 ethernet 1/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 ethernet 1/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 ethernet 1/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 ethernet 1/1

[Spoke1-Tunnel1] ospf network-type p2mp

[Spoke1-Tunnel1] ospf dr-priority 0

[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 ethernet 1/1

[Spoke1-Tunnel1] ospf network-type p2mp

[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.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 ethernet 1/1

[Spoke2-Tunnel1] ospf network-type p2mp

[Spoke2-Tunnel1] ospf dr-priority 0

[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 ethernet 1/1

[Spoke2-Tunnel1] ospf network-type p2mp

[Spoke2-Tunnel1] ospf dr-priority 0

[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保留在没有任何通知或提示的情况下对资料内容进行修改的权利!