上传文件至 'Datacom-MD'
This commit is contained in:
parent
251e1268d3
commit
882077b3bc
262
Datacom-MD/mpls-vpn实验手册.md
Normal file
262
Datacom-MD/mpls-vpn实验手册.md
Normal file
@ -0,0 +1,262 @@
|
||||

|
||||
|
||||
- CE1、CE3属于vpna。
|
||||
- CE2、CE4属于vpnb。
|
||||
- vpna使用的VPN-target属性为111:1,vpnb为222:2。
|
||||
- 不同VPN用户之间不能互相访问。
|
||||
|
||||
PE1:
|
||||
|
||||
```
|
||||
#
|
||||
sysname PE1
|
||||
#
|
||||
ip vpn-instance vpna //创建VPN实例vpna
|
||||
ipv4-family
|
||||
route-distinguisher 100:1
|
||||
vpn-target 111:1 export-extcommunity
|
||||
vpn-target 111:1 import-extcommunity
|
||||
#
|
||||
ip vpn-instance vpnb //创建VPN实例vpnb
|
||||
ipv4-family
|
||||
route-distinguisher 100:2
|
||||
vpn-target 222:2 export-extcommunity
|
||||
vpn-target 222:2 import-extcommunity
|
||||
#
|
||||
mpls lsr-id 1.1.1.9 //配置MPLS
|
||||
mpls
|
||||
#
|
||||
mpls ldp //建立LDP
|
||||
#
|
||||
interface Ethernet1/0/0 //绑定VPN实例
|
||||
ip binding vpn-instance vpna
|
||||
ip address 10.1.1.2 255.255.255.0
|
||||
#
|
||||
interface Ethernet2/0/0
|
||||
ip binding vpn-instance vpnb //绑定VPN实例
|
||||
ip address 10.2.1.2 255.255.255.0
|
||||
#
|
||||
interface Ethernet2/0/1 //接口使能MPLS
|
||||
ip address 172.1.1.1 255.255.255.0
|
||||
mpls
|
||||
mpls ldp
|
||||
#
|
||||
interface LoopBack1
|
||||
ip address 1.1.1.9 255.255.255.255
|
||||
#
|
||||
bgp 100 //配置MP-IBGP对等体
|
||||
peer 3.3.3.9 as-number 100
|
||||
peer 3.3.3.9 connect-interface LoopBack1
|
||||
#
|
||||
ipv4-family unicast
|
||||
undo synchronization
|
||||
peer 3.3.3.9 enable
|
||||
#
|
||||
ipv4-family vpnv4 //使能对等体交换VPNv4路由信息的能力
|
||||
policy vpn-target
|
||||
peer 3.3.3.9 enable
|
||||
#
|
||||
ipv4-family vpn-instance vpna //配置PE与CE之间建立EBGP对等体关系,引入VPN路由
|
||||
peer 10.1.1.1 as-number 65410
|
||||
import-route direct
|
||||
#
|
||||
ipv4-family vpn-instance vpnb //配置PE与CE之间建立EBGP对等体关系,引入VPN路由
|
||||
peer 10.2.1.1 as-number 65420
|
||||
import-route direct
|
||||
#
|
||||
ospf 1 //配置公网路由
|
||||
area 0.0.0.0
|
||||
network 172.1.1.0 0.0.0.255
|
||||
network 1.1.1.9 0.0.0.0
|
||||
#
|
||||
return
|
||||
```
|
||||
|
||||
P:
|
||||
|
||||
```
|
||||
#
|
||||
sysname P
|
||||
#
|
||||
mpls lsr-id 2.2.2.9 //配置MPLS
|
||||
mpls
|
||||
#
|
||||
mpls ldp
|
||||
#
|
||||
interface Ethernet1/0/0
|
||||
ip address 172.1.1.2 255.255.255.0
|
||||
mpls
|
||||
mpls ldp
|
||||
#
|
||||
interface Ethernet2/0/0
|
||||
ip address 172.2.1.1 255.255.255.0
|
||||
mpls
|
||||
mpls ldp
|
||||
#
|
||||
interface LoopBack1
|
||||
ip address 2.2.2.9 255.255.255.255
|
||||
#
|
||||
ospf 1 //配置公网路由
|
||||
area 0.0.0.0
|
||||
network 172.1.1.0 0.0.0.255
|
||||
network 172.2.1.0 0.0.0.255
|
||||
network 2.2.2.9 0.0.0.0
|
||||
#
|
||||
return
|
||||
```
|
||||
|
||||
PE2:
|
||||
|
||||
```
|
||||
#
|
||||
sysname PE2
|
||||
#
|
||||
ip vpn-instance vpna //创建VPN实例vpna
|
||||
ipv4-family
|
||||
route-distinguisher 200:1
|
||||
vpn-target 111:1 export-extcommunity
|
||||
vpn-target 111:1 import-extcommunity
|
||||
#
|
||||
ip vpn-instance vpnb //创建VPN实例vpnb
|
||||
ipv4-family
|
||||
route-distinguisher 200:2
|
||||
vpn-target 222:2 export-extcommunity
|
||||
vpn-target 222:2 import-extcommunity
|
||||
#
|
||||
mpls lsr-id 3.3.3.9 //配置MPLS LSR
|
||||
mpls
|
||||
#
|
||||
mpls ldp
|
||||
#
|
||||
interface Ethernet1/0/0 //绑定VPN实例
|
||||
ip binding vpn-instance vpna
|
||||
ip address 10.3.1.2 255.255.255.0
|
||||
#
|
||||
interface Ethernet2/0/0 //绑定VPN实例
|
||||
ip binding vpn-instance vpnb
|
||||
ip address 10.4.1.2 255.255.255.0
|
||||
#
|
||||
interface Ethernet2/0/1 //接口使能MPLS
|
||||
ip address 172.2.1.2 255.255.255.0
|
||||
mpls
|
||||
mpls ldp
|
||||
#
|
||||
interface LoopBack1
|
||||
ip address 3.3.3.9 255.255.255.255
|
||||
#
|
||||
bgp 100 //配置MP-IBGP对等体
|
||||
peer 1.1.1.9 as-number 100
|
||||
peer 1.1.1.9 connect-interface LoopBack1
|
||||
#
|
||||
ipv4-family unicast
|
||||
undo synchronization
|
||||
peer 1.1.1.9 enable
|
||||
#
|
||||
ipv4-family vpnv4 //使能对等体交换VPNv4路由信息的能力
|
||||
policy vpn-target
|
||||
peer 1.1.1.9 enable
|
||||
#
|
||||
ipv4-family vpn-instance vpna //配置PE与CE之间建立EBGP对等体关系,引入VPN路由
|
||||
peer 10.3.1.1 as-number 65430
|
||||
import-route direct
|
||||
#
|
||||
ipv4-family vpn-instance vpnb //配置PE与CE之间建立EBGP对等体关系,引入VPN路由
|
||||
peer 10.4.1.1 as-number 65440
|
||||
import-route direct
|
||||
#
|
||||
ospf 1 //配置公网路由
|
||||
area 0.0.0.0
|
||||
network 172.2.1.0 0.0.0.255
|
||||
network 3.3.3.9 0.0.0.0
|
||||
#
|
||||
return
|
||||
```
|
||||
|
||||
CE1:
|
||||
|
||||
```
|
||||
#
|
||||
sysname CE1
|
||||
#
|
||||
interface Ethernet1/0/0
|
||||
ip address 10.1.1.1 255.255.255.0
|
||||
#
|
||||
bgp 65410 //在PE与CE之间建立EBGP对等体关系
|
||||
peer 10.1.1.2 as-number 100
|
||||
#
|
||||
ipv4-family unicast
|
||||
undo synchronization
|
||||
import-route direct //引入直连路由
|
||||
peer 10.1.1.2 enable
|
||||
#
|
||||
return
|
||||
```
|
||||
|
||||
CE2:
|
||||
|
||||
```
|
||||
#
|
||||
sysname CE2
|
||||
#
|
||||
interface Ethernet1/0/0
|
||||
ip address 10.2.1.1 255.255.255.0
|
||||
#
|
||||
bgp 65420 //在PE与CE之间建立EBGP对等体关系
|
||||
peer 10.2.1.2 as-number 100
|
||||
#
|
||||
ipv4-family unicast
|
||||
undo synchronization
|
||||
import-route direct //引入直连路由
|
||||
peer 10.2.1.2 enable
|
||||
#
|
||||
return
|
||||
```
|
||||
|
||||
CE3:
|
||||
|
||||
```
|
||||
#
|
||||
sysname CE3
|
||||
#
|
||||
interface Ethernet1/0/0
|
||||
ip address 10.3.1.1 255.255.255.0
|
||||
#
|
||||
bgp 65430 //在PE与CE之间建立EBGP对等体关系
|
||||
peer 10.3.1.2 as-number 100
|
||||
#
|
||||
ipv4-family unicast
|
||||
undo synchronization
|
||||
import-route direct //引入直连路由
|
||||
peer 10.3.1.2 enable
|
||||
#
|
||||
return
|
||||
```
|
||||
|
||||
CE4:
|
||||
|
||||
```
|
||||
#
|
||||
sysname CE4
|
||||
#
|
||||
interface Ethernet1/0/0
|
||||
ip address 10.4.1.1 255.255.255.0
|
||||
#
|
||||
bgp 65440 //在PE与CE之间建立EBGP对等体关系
|
||||
peer 10.4.1.2 as-number 100
|
||||
#
|
||||
ipv4-family unicast
|
||||
undo synchronization
|
||||
import-route direct //引入直连路由
|
||||
peer 10.4.1.2 enable
|
||||
#
|
||||
return
|
||||
```
|
||||
|
||||
PE之间必须使用32位掩码的Loopback接口地址来建立MP-IBGP对等体关系,以便能够迭代到隧道
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
900
Datacom-MD/第十一章:MPLS VPN技术.md
Normal file
900
Datacom-MD/第十一章:MPLS VPN技术.md
Normal file
@ -0,0 +1,900 @@
|
||||
<h1><center>MPLS VPN技术</center></h1>
|
||||
|
||||
> 作者:行癫
|
||||
|
||||
------
|
||||
|
||||
<h3>第一节:MPLS VPN原理与配置</h3>
|
||||
|
||||
<h4>一:MPLS VPN概述</h4>
|
||||
|
||||
<h5>1.MPLS VPN定义</h5>
|
||||
|
||||
BGP/MPLS IP VPN网络一般由运营商搭建,VPN用户购买VPN服务来实现用户网络之间的路由传递、数据互通等
|
||||
|
||||
MPLS VPN使用BGP在运营商骨干网上发布VPN路由,使用MPLS在运营商骨干网上转发VPN报文,BGP/MPLS IP VPN又被简称为MPLS VPN
|
||||
|
||||
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220217194835189.png" alt="image-20220217194835189" style="zoom:80%;" />
|
||||
|
||||
<h5>2.MPLS VPN网络架构</h5>
|
||||
|
||||
MPLS VPN网络架构由三部分组成:CE(Customer Edge)、PE(Provider Edge)和P(Provider),其中PE和P是运营商设备,CE是MPLS VPN用户设备
|
||||
|
||||
站点(site)就是MPLS VPN的用户,由CE和其他用户设备构成
|
||||
|
||||

|
||||
|
||||
CE:用户网络边缘设备,有接口直接与运营商网络相连。CE可以是路由器或交换机,也可以是一台主机。通常情况下,CE“感知”不到VPN的存在,也不需要支持MPLS
|
||||
|
||||
PE:运营商边缘路由器,是运营商网络的边缘设备,与CE直接相连。在MPLS网络中,对VPN的所有处理都发生在PE上,对PE性能要求较高
|
||||
|
||||
P:运营商网络中的骨干路由器,不与CE直接相连。P设备只需要具备基本MPLS转发能力,不维护VPN相关信息
|
||||
|
||||
**站点的含义可以从下述几个方面理解:**
|
||||
|
||||
站点是指相互之间具备IP连通性的一组IP系统,并且这组IP系统的IP连通性不需通过运营商网络实现
|
||||
|
||||
站点的划分是根据设备的拓扑关系,而不是地理位置。如图所示,公司A的X省网络和公司A的Y省网络需要通过运营商的骨干网进行互联,所以它们被划分为两个站点。若在当前X省网络和Y省网络的CE之间增加一条物理专线,不需要通过运营商网络就可以互通,那么这两张网络就是一个站点
|
||||
|
||||
**站点与VPN的关系:**
|
||||
|
||||
对于多个连接到同一服务提供商网络的站点,通过制定策略,可以将它们划分为不同的集合,只有属于相同集合的站点之间才能通过服务提供商网络互访,这种集合就是VPN
|
||||
|
||||
一个Site中的设备可以属于多个VPN,换言之,一个Site可以属于多个VPN
|
||||
|
||||
<h5>3.MPLS VPN技术架构</h5>
|
||||
|
||||
MPLS VPN不是单一的一种VPN技术,是多种技术结合的综合解决方案,主要包含下列技术:
|
||||
|
||||
MP-BGP:负责在PE与PE之间传递站点内的路由信息
|
||||
|
||||
LDP:负责PE与PE之间的隧道建立
|
||||
|
||||
VRF:负责PE的VPN用户管理
|
||||
|
||||
静态路由、IGP、BGP:负责PE与CE之间的路由信息交换
|
||||
|
||||

|
||||
|
||||
<h5>4.为什么要选择MPLS VPN</h5>
|
||||
|
||||
**对VPN客户而言:**
|
||||
|
||||
“感知”不到VPN的存在,不需要部署和维护VPN,降低企业运维难度和成本
|
||||
|
||||
一般部署在运营商的MPLS VPN专网上,有一定的安全性保障
|
||||
|
||||
**对于运营商而言:**
|
||||
|
||||
MPLS在无连接的IP网络中增加了面向连接的控制平面,为IP网络增添了管理和运营的手段
|
||||
|
||||
支持地址空间重叠、支持重叠VPN、组网方式灵活、可扩展性好
|
||||
|
||||
能够方便地支持MPLS TE合理调控现有网络资源,最大限度的节省运营商成本
|
||||
|
||||
MPLS TE(MPLS Traffic Engineering,MPLS流量工程):基于一定约束条件LSP隧道,并将流量引入到这些隧道中进行转发,使网络流量按照指定的路径进行传输。可以在不进行硬件升级的情况下对现有网络资源进行合理调配和利用,并对网络流量提供带宽和QoS保证,最大限度的节省成本
|
||||
|
||||
<h5>5.MPLS VPN常见组网</h5>
|
||||
|
||||
根据VPN用户的需求不同,可采用以下几种常见的组网方案:
|
||||
|
||||
Intranet:一个VPN中的所有用户形成闭合用户群,同一VPN站点之间可以互访,不同VPN站点间不能互访
|
||||
|
||||
Extranet:适用于一个VPN用户希望提供部分本VPN的站点资源给其他VPN的用户访问的场景
|
||||
|
||||
Hub&Spoke:如果希望在VPN中设置中心访问控制设备,其它用户的互访都通过中心访问控制设备进行,可采用Hub&Spoke组网方案
|
||||
|
||||

|
||||
|
||||
<h4>二:MPLS VPN路由交互</h4>
|
||||
|
||||
<h5>1.MPLS VPN路由发布概述</h5>
|
||||
|
||||
若想实现同一个VPN的不同站点之间的通信,首先需要完成不同站点之间的路由交互。在基本MPLS VPN组网中,VPN路由信息的发布涉及CE和PE,P路由器只维护骨干网的路由,不需要了解任何VPN路由信息。VPN路由信息的发布过程包括三部分:
|
||||
|
||||
本地CE到入口PE
|
||||
|
||||
入口PE到出口PE
|
||||
|
||||
出口PE到远端CE
|
||||
|
||||

|
||||
|
||||
<h5>2.CE与PE之间的路由信息交换</h5>
|
||||
|
||||
如图,客户X和客户Y属于不同的VPN,分别拥有两个站点,现需要实现站点间的路由信息交互
|
||||
|
||||
CE与PE之间可以使用静态路由、OSPF、IS-IS或BGP交换路由信息。无论使用哪种路由协议,CE和PE之间交换的都是标准的IPv4路由
|
||||
|
||||
本地CE到入口PE和出口PE到远端CE的路由信息交换原理完全相同
|
||||
|
||||

|
||||
|
||||
<h5>3.入口PE到出口PE路由传递(1)</h5>
|
||||
|
||||
PE在接收到CE传递来的路由之后,需要独立保存不同VPN的路由,且需要解决不同的客户使用重叠IP地址空间的问题
|
||||
|
||||

|
||||
|
||||
VPN是一种私有网络,不同的VPN独立管理自己的地址范围,也称为地址空间(address space)。不同VPN的地址空间可能会在一定范围内重合,例如图中用户X和用户Y都使用192.168.1.0/24网段地址,这就发生了地址空间的重叠
|
||||
|
||||
**以下两种情况允许VPN使用重叠的地址空间:**
|
||||
|
||||
两个VPN没有共同的站点
|
||||
|
||||
两个VPN有共同的站点,但此共同站点中的设备不与两个VPN中使用重叠地址空间的设备互访
|
||||
|
||||
**VRF**
|
||||
|
||||
VRF(Virtual Routing and Forwarding,虚拟路由转发),又称VPN实例,是MPLS VPN架构中的关键技术,每个VPN实例使用独立的路由转发表项,实现VPN之间的逻辑隔离
|
||||
|
||||

|
||||
|
||||
**RD**
|
||||
|
||||
PE收到不同VPN的CE发来的IPv4地址前缀,本地根据VPN实例配置去区分这些地址前缀。但是VPN实例只是一个本地的概念,PE无法将VPN实例信息传递到对端PE,故有了RD(Route Distinguisher,路由标识符)
|
||||
|
||||
RD长8字节,用于区分使用相同地址空间的IPv4前缀
|
||||
|
||||
PE从CE接收到IPv4路由后,在IPv4前缀前加上RD,转换为全局唯一的VPN-IPv4路由
|
||||
|
||||

|
||||
|
||||
注意:
|
||||
|
||||
配置RD时,只需要指定RD的Administrator子字段和Assigned Number子字段
|
||||
|
||||
RD的配置格式有四种,常用的两种如下:
|
||||
|
||||
16bits自治系统号:32bits用户自定义数字(例如:100:1)
|
||||
|
||||
32bits IPv4地址:16bits用户自定义数字(例如:172.1.1.1:1)
|
||||
|
||||
RD的结构使得每个运营商可以独立地分配RD,但为了在某些应用场景下保证路由正常,必须保证RD全局唯一
|
||||
|
||||
**VPN-IPv4地址**
|
||||
|
||||
VPN-IPv4地址又被称为VPNv4地址:VPNv4地址共有12个字节,包括8字节的路由标识符RD(Route Distinguisher)和4字节的IPv4地址前缀
|
||||
|
||||

|
||||
|
||||
<h5>4.入口PE到出口PE路由传递(2)</h5>
|
||||
|
||||
PE之间建立BGP邻居关系,并通过BGP进行路由传递。为什么采用BGP呢?
|
||||
|
||||
BGP使用TCP作为其传输层协议,提高了协议的可靠性。可以跨路由器的两个PE设备之间直接交换路由
|
||||
|
||||
BGP拓展性强,为PE间传播VPN路由提供了便利
|
||||
|
||||
PE之间需要传送的路由条目可能较大,BGP只发送更新的路由,提高传递路由数量的同时不占用过多链路带宽
|
||||
|
||||
传统的BGP-4不支持处理VPNv4路由
|
||||
|
||||

|
||||
|
||||
**MP-BGP**
|
||||
|
||||
为了正确处理VPN路由,MPLS VPN使用RFC2858(Multiprotocol Extensions for BGP-4)中规定的MP-BGP,即BGP-4的多协议扩展
|
||||
|
||||
MP-BGP采用地址族(Address Family)来区分不同的网络层协议,既可以支持传统的IPv4地址族,又可以支持其它地址族(比如VPN-IPv4地址族、IPv6地址族等)
|
||||
|
||||
**MP-BGP新增了两种路径属性:**
|
||||
|
||||
MP_REACH_NLRI:Multiprotocol Reachable NLRI,多协议可达NLRI。用于发布可达路由及下一跳信息
|
||||
|
||||
MP_UNREACH_NLRI:Multiprotocol Unreachable NLRI,多协议不可达NLRI。用于撤销不可达路由
|
||||
|
||||

|
||||
|
||||
**注意:**
|
||||
|
||||
NLRI:Network Layer Reachability Information,网络层可达信息
|
||||
|
||||
关于地址族的一些取值请参考RFC3232(Assigned Numbers)
|
||||
|
||||
MP_REACH_NLRI用于发布可达路由及下一跳信息。该属性由一个或多个三元组组成,格式如下:
|
||||
|
||||
地址族信息(Address Family Information)域:由2字节的地址族标识AFI(Address Family Identifier)和1字节的子地址族标识SAFI(Subsequent Address Family Identifier)组成
|
||||
|
||||
下一跳信息(Next Hop Network Address Information)域:由一字节的下一跳网络地址长度和可变长度的下一跳网络地址组成
|
||||
|
||||
网络层可达性信息(NLRI)域:由一个或多个三元组<长度、标签、前缀>组成
|
||||
|
||||
MP_UNREACH_NLRI用于通知对等体删除不可达的路由。该属性的格式如下:
|
||||
|
||||
地址族标识AFI:与MP_REACH_NLRI属性中的相同
|
||||
|
||||
子地址族标识SAFI:与MP_REACH_NLRI属性中的相同,表示NLRI的类型
|
||||
|
||||
撤销路由(Withdrawn Routes):不可达路由列表,也是由一个或多个NLRI组成。BGP发言者可以通过在撤销路由域中携带与之前发布的可达路由中相同的NLRI来撤销路由
|
||||
|
||||
MP-BGP的报文类型、VPNv4路由发布策略仍与普通BGP相同
|
||||
|
||||
<h5>5.入口PE到出口PE路由传递 (3)</h5>
|
||||
|
||||
MP-BGP将VPNv4传递到远端PE之后,远端PE需要将VPNv4路由导入正确的VPN实例
|
||||
|
||||
MPLS VPN使用BGP扩展团体属性-VPN Target(也称为Route Target)来控制VPN路由信息的发布与接收
|
||||
|
||||
本地PE在发布VPNv4路由前附上RT属性,对端PE在接到VPNv4路由后根据RT将路由导入对应的VPN实例
|
||||
|
||||

|
||||
|
||||
**RT**
|
||||
|
||||
在PE上,每一个VPN实例都会与一个或多个VPN Target属性绑定,有两类VPN Target属性:
|
||||
|
||||
Export Target(ERT):本地PE从直接相连站点学到IPv4路由后,转换为VPN IPv4路由,并为这些路由添加Export Target属性。Export Target属性作为BGP的扩展团体属性随路由发布
|
||||
|
||||
Import Target(IRT):PE收到其它PE发布的VPN-IPv4路由时,检查其Export Target属性。当此属性与PE上某个VPN实例的Import Target匹配时,PE就把路由加入到该VPN实例的路由表
|
||||
|
||||

|
||||
|
||||
<h5>6.入口PE到出口PE路由传递 (4)</h5>
|
||||
|
||||
PE根据VPNv4路由所携带的RT将路由导入正确的VPN实例之后,VPNv4路由的RD值剥除,将IPv4路由通告给相应的客户的CE设备
|
||||
|
||||
站点B和站点D的CE设备就能学习到去往各自远端站点的路由。同理,通过一系列的操作,可以实现同一用户(同一VPN)不同站点之间的路由互通
|
||||
|
||||

|
||||
|
||||
<h5>7.数据转发时遇到的问题</h5>
|
||||
|
||||

|
||||
|
||||
<h5>8.入口PE到出口PE路由传递 (5)</h5>
|
||||
|
||||
PE和P设备之间运行LDP,交换公网标签,建立PE之间的LSP隧道(公网隧道)
|
||||
|
||||
入口PE在通过MP-BGP传递VPNv4路由时,会携带私网标签,用于区分不同VPN的数据
|
||||
|
||||
出口PE在接收到VPNv4路由后,需要执行私网路由交叉和隧道迭代来选择路由
|
||||
|
||||

|
||||
|
||||
**PE上分配私网标签的方法有如下两种:**
|
||||
|
||||
基于路由的MPLS标签分配:为VPN路由表的每一条路由分配一个标签(one label per route)。这种方式的缺点是:当路由数量比较多时,设备入标签映射表ILM(Incoming Label Map)需要维护的表项也会增多,从而提高了对设备容量的要求
|
||||
|
||||
基于VPN实例的MPLS标签分配:为整个VPN实例分配一个标签,该VPN实例里的所有路由都共享一个标签。使用这种分配方法的好处是节约了标签
|
||||
|
||||
私网路由交叉:VPNv4路由与本地VPN实例的VPN-Target进行匹配的过程称为私网路由交叉。PE在收到VPNv4路由后,既不进行优选,也不检查隧道是否存在,直接将其与本地的VPN实例进行交叉
|
||||
|
||||
隧道迭代:为了将私网流量通过公网传递到另一端,需要有一条公网隧道承载这个私网流量。因此私网路由交叉完成后,需要根据目的IPv4前缀进行路由迭代,即该IPv4路由的下一跳有对应的LSP存在;只有隧道迭代成功,该路由才被放入对应的VPN实例路由表
|
||||
|
||||
<h5>9.MPLS VPN中的路由交互全过程</h5>
|
||||
|
||||

|
||||
|
||||
IGP或者EBGP交换私网IPv4路由
|
||||
|
||||
客户私网路由被学习到VPN路由表中(VPN实例路由表)
|
||||
|
||||
IPv4路由引入到MP-BGP(如果PE-CE之间运行的就是BGP,则无需手工执行路由引入操作)
|
||||
RD被添加到IPv4路由上,构成VPNv4路由;
|
||||
|
||||
VPNv4路由被PE1通过MP-IBGP的Update消息通告给PE2。Update消息携带着MP_REACH_NLRI属性(包含VPNv4路由前缀,下一跳和标签等重要信息)和RT属性。
|
||||
|
||||
PE2根据RT将路由导入特定的VRF,同时将VPNv4路由的RD剥除,将IPv4路由通告给相应的客户的CE设备
|
||||
|
||||
客户IPv4路由被通告给CE设备
|
||||
|
||||
<h4>三:MPLS VPN报文转发</h4>
|
||||
|
||||
<h5>1.报文转发过程 (1)</h5>
|
||||
|
||||
以图中用户X的站点B访问站点A的192.168.1.0/24网段为例,报文转发过程如下:
|
||||
|
||||

|
||||
|
||||
<h5>2.报文转发过程 (2)</h5>
|
||||
|
||||

|
||||
|
||||
PE2根据报文入接口找到VPN实例,查找对应VPN的转发表
|
||||
|
||||
匹配目的IPv4前缀,并打上对应的内层标签(I-L)
|
||||
|
||||
根据下一跳地址,查找对应的Tunnel-ID
|
||||
|
||||
将报文从隧道发送出去,即打上公网(外层)MPLS标签头(O-L1)
|
||||
|
||||
<h5>3.报文转发过程 (3)</h5>
|
||||
|
||||

|
||||
|
||||
骨干网的所有P设备都对该报文进行外层标签交换,直到到达PE1
|
||||
|
||||
<h5>4.报文转发过程 (4)</h5>
|
||||
|
||||

|
||||
|
||||
PE1收到该携带两层标签的报文,交给MPLS处理,MPLS协议将去掉外层标签
|
||||
|
||||
PE1继续处理内层标签:根据内层标签确定对应的下一跳,并将内层标签剥离后,以纯IPv4报文的形式发送给CE1
|
||||
|
||||
<h5>5.报文转发过程 (5)</h5>
|
||||
|
||||

|
||||
|
||||
CE1收到该IPv4报文后,进行常规的IPv4处理流程
|
||||
|
||||
<h4>四:MPLS VPN配置与实现</h4>
|
||||
|
||||
<h5>1.配置命令 - VPN实例配置</h5>
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
<h5>2.配置命令 - MP-BGP配置</h5>
|
||||
|
||||

|
||||
|
||||
<h5>3.配置命令 - PE与CE间路由配置</h5>
|
||||
|
||||

|
||||
|
||||
<h5>4.MPLS VPN配置示例 - 背景介绍</h5>
|
||||
|
||||

|
||||
|
||||
客户X及Y各自有2个站点,现需要通过MPLS VPN实现站点之间的互联,分别对应VPNX和VPNY
|
||||
|
||||
互联接口、AS号及IP地址信息如图
|
||||
|
||||
客户X站点与PE之间采用OSPF交互路由信息,客户Y站点与PE之间采用BGP交互路由信息
|
||||
|
||||
<h5>5.MPLS VPN配置示例 - 配置思路</h5>
|
||||
|
||||
**MPLS VPN骨干网配置**
|
||||
|
||||
IGP配置,实现骨干网的IP连通性
|
||||
|
||||
MPLS与MPLS LDP配置,建立MPLS LSP公网隧道,传输VPN数据
|
||||
|
||||
MP-BGP配置,建立后续传递VPNv4路由的MP-BGP对等体关系
|
||||
|
||||
**VPN用户接入配置**
|
||||
|
||||
创建VPN实例并配置参数(RT、RD)
|
||||
|
||||
将接口加入VPN实例
|
||||
|
||||
配置PE与CE之间的路由交换
|
||||
|
||||
<h5>6.MPLS VPN配置示例 - 数据规划</h5>
|
||||
|
||||
MPLS骨干网采用单区域OSPF实现路由互通,所有PE和P互联接口均使能MPLS LDP功能
|
||||
|
||||
**PE上的VPN相关配置如表格:**
|
||||
|
||||

|
||||
|
||||
<h5>7.部署配置</h5>
|
||||
|
||||
**MPLS VPN骨干网配置**
|
||||
|
||||
在MPLS VPN骨干网络内部署OSPF,MPLS VPN骨干网络内部署的OSPF用于实现骨干网络内部的路由互通
|
||||
|
||||
以PE1节点的OSPF配置为例
|
||||
|
||||
```shell
|
||||
[PE1]ospf 100 router-id 1.1.1.1
|
||||
[PE1-ospf-100]area 0
|
||||
[PE1-ospf-100-area-0.0.0.0]network 10.0.12.1 0.0.0.0
|
||||
[PE1-ospf-100-area-0.0.0.0]network 1.1.1.1 0.0.0.0
|
||||
```
|
||||
|
||||
在PE1、P、PE2节点配置MPLS及LDP,以PE1为例
|
||||
|
||||
```shell
|
||||
[PE1]mpls lsr-id 1.1.1.1
|
||||
[PE1]mpls
|
||||
Info: Mpls starting, please wait... OK!
|
||||
[PE1-mpls]mpls ldp
|
||||
[PE1-mpls-ldp]Interface GigabitEthernet 0/0/0
|
||||
[PE1-GigabitEthernet0/0/0]mpls
|
||||
[PE1-GigabitEthernet0/0/0]mpls ldp
|
||||
```
|
||||
|
||||
在PE1及PE2之间建立MP-BGP对等体关系,以PE1为例
|
||||
|
||||
```shell
|
||||
[PE1]bgp 123
|
||||
[PE1-bgp]router-id 1.1.1.1
|
||||
[PE1-bgp]peer 3.3.3.3 as-number 123
|
||||
[PE1-bgp]peer 3.3.3.3 connect-interface LoopBack 0
|
||||
#进入BGP-VPNv4地址族视图,并使能与对等体3.3.3.3的VPNv4地址族能力。
|
||||
[PE1-bgp]ipv4-family vpnv4 unicast
|
||||
[PE1-bgp-af-vpnv4]peer 3.3.3.3 enable
|
||||
```
|
||||
|
||||
**MPLS VPN骨干网配置 - 配置验证**
|
||||
|
||||
查看公网隧道建立情况
|
||||
|
||||
```shell
|
||||
[PE1]display mpls lsp
|
||||
-------------------------------------------------------------------------------
|
||||
LSP Information: LDP LSP
|
||||
-------------------------------------------------------------------------------
|
||||
FEC In/Out Label In/Out IF Vrf Name
|
||||
3.3.3.3/32 NULL/1025 -/GE0/0/0
|
||||
1.1.1.1/32 3/NULL -/-
|
||||
```
|
||||
|
||||
```shell
|
||||
[PE2]display mpls lsp
|
||||
-------------------------------------------------------------------------------
|
||||
LSP Information: LDP LSP
|
||||
-------------------------------------------------------------------------------
|
||||
FEC In/Out Label In/Out IF Vrf Name
|
||||
3.3.3.3/32 3/NULL -/-
|
||||
1.1.1.1/32 NULL/1024 -/GE0/0/0
|
||||
```
|
||||
|
||||
查看MP-BGP邻居状态,以PE1为例
|
||||
|
||||
```shell
|
||||
[PE1]display bgp vpnv4 all peer
|
||||
BGP local router ID : 1.1.1.1
|
||||
Local AS number : 123
|
||||
Total number of peers : 1 Peers in established state : 1
|
||||
|
||||
Peer V AS MsgRcvd MsgSent OutQ Up/Down State Pre fRcv
|
||||
3.3.3.3 4 123 16 18 0 00:14:20 Established 0
|
||||
```
|
||||
|
||||
**VPN用户接入配置**
|
||||
|
||||
创建VPN实例并按照规划配置RD与RT参数,以PE1为例
|
||||
|
||||
```shell
|
||||
[PE1]ip vpn-instance VPNX
|
||||
[PE1-vpn-instance-VPNX]route-distinguisher 100:1
|
||||
[PE1-vpn-instance-VPNX-af-ipv4] vpn-target 100:321 import-extcommunity
|
||||
IVT Assignment result:
|
||||
Info: VPN-Target assignment is successful.
|
||||
[PE1-vpn-instance-VPNX-af-ipv4]vpn-target 100:123 export-extcommunity
|
||||
EVT Assignment result:
|
||||
Info: VPN-Target assignment is successful.
|
||||
[PE1-vpn-instance-VPNX-af-ipv4] quit
|
||||
[PE1-vpn-instance-VPNX]quit
|
||||
[PE1]ip vpn-instance VPNY
|
||||
[PE1-vpn-instance-VPNY]route-distinguisher 200:1
|
||||
[PE1-vpn-instance-VPNY-af-ipv4]vpn-target 200:234 import-extcommunity
|
||||
[PE1-vpn-instance-VPNY-af-ipv4]vpn-target 200:432 export-extcommunity
|
||||
[PE1-vpn-instance-VPNY-af-ipv4]quit
|
||||
[PE1-vpn-instance-VPNY]quit
|
||||
```
|
||||
|
||||
将接口绑定到VPN实例
|
||||
|
||||
```shell
|
||||
[PE1]interface GigabitEthernet 0/0/1
|
||||
[PE1-GigabitEthernet0/0/1]ip binding vpn-instance VPNX
|
||||
Info: All IPv4 related configurations on this interface are removed!
|
||||
Info: All IPv6 related configurations on this interface are removed!
|
||||
[PE1-GigabitEthernet0/0/1]ip address 192.168.100.2 24
|
||||
[PE1-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2
|
||||
[PE1-GigabitEthernet0/0/2]ip binding vpn-instance VPNY
|
||||
Info: All IPv4 related configurations on this interface are removed!
|
||||
Info: All IPv6 related configurations on this interface are removed!
|
||||
[PE1-GigabitEthernet0/0/2]ip address 192.168.100.2 24
|
||||
```
|
||||
|
||||
部署CE1-PE1、CE3-PE2间的路由信息交互,以PE1为例
|
||||
|
||||
```shell
|
||||
#创建与实例绑定的OSPF进程
|
||||
[PE1]ospf 2 vpn-instance VPNX
|
||||
[PE1-ospf-2]area 0
|
||||
[PE1-ospf-2-area-0.0.0.0]network 192.168.100.0 0.0.0.255
|
||||
[PE1-ospf-2-area-0.0.0.0]quit
|
||||
```
|
||||
|
||||
```shell
|
||||
#配置OSPF进程与MP-BGP之间的路由双向引入
|
||||
[PE1]ospf 2 vpn-instance VPNX
|
||||
[PE1-ospf-2]import-route bgp
|
||||
[PE1-ospf-2]quit
|
||||
[PE1]bgp 123
|
||||
[PE1-bgp]ipv4-family vpn-instance VPNX
|
||||
[PE1-bgp-VPNX]import-route ospf 2
|
||||
```
|
||||
|
||||
部署CE2-PE1、CE4-PE2间的路由信息交互,以CE2和PE1为例
|
||||
|
||||
```shell
|
||||
#配置CE2上的EBGP,并引入直连路由192.168.1.0/24
|
||||
[CE2]BGP 200
|
||||
[CE2-bgp]peer 192.168.100.2 as-number 123
|
||||
[CE2-bgp]network 192.168.1.0 24
|
||||
[CE2-bgp]quit
|
||||
```
|
||||
|
||||
```shell
|
||||
#配置PE1上VPN实例的EBGP对等体
|
||||
[PE1]bgp 123
|
||||
[PE1-bgp]ipv4-family vpn-instance VPNY
|
||||
[PE1-bgp-VPNY]peer 192.168.100.1 as-number 200
|
||||
```
|
||||
|
||||
**配置验证**
|
||||
|
||||
查看VPNX用户的CE路由学习情况
|
||||
|
||||
```shell
|
||||
[CE1]display ip routing-table
|
||||
Route Flags: R - relay, D - download to fib
|
||||
------------------------------------------------------------------------------
|
||||
Destination/Mask Proto Pre Cost Flags NextHop Interface
|
||||
192.168.1.0/24 Direct 0 0 D 192.168.1.254 GigabitEthernet0/0/1
|
||||
192.168.2.0/24 OSPF 10 4 D 192.168.100.2 GigabitEthernet0/0/0
|
||||
192.168.100.0/24 Direct 0 0 D 192.168.100.1 GigabitEthernet0/0/0
|
||||
192.168.200.0/24 O_ASE 150 1 D 192.168.100.2 GigabitEthernet0/0/0
|
||||
```
|
||||
|
||||
```shell
|
||||
[CE3]dis ip routing-table
|
||||
Route Flags: R - relay, D - download to fib
|
||||
------------------------------------------------------------------------------
|
||||
Destination/Mask Proto Pre Cost Flags NextHop Interface
|
||||
192.168.1.0/24 OSPF 10 4 D 192.168.200.2 GigabitEthernet0/0/0
|
||||
192.168.2.0/24 Direct 0 0 D 192.168.2.254 GigabitEthernet0/0/1
|
||||
192.168.100.0/24 O_ASE 150 1 D 192.168.200.2 GigabitEthernet0/0/0
|
||||
192.168.200.0/24 Direct 0 0 D 192.168.200.1 GigabitEthernet0/0/0
|
||||
```
|
||||
|
||||
查看VPNY用户的CE路由学习情况
|
||||
|
||||
```shell
|
||||
[CE2]display ip routing-table
|
||||
Route Flags: R - relay, D - download to fib
|
||||
------------------------------------------------------------------------------
|
||||
Destination/Mask Proto Pre Cost Flags NextHop Interface
|
||||
192.168.1.0/24 Direct 0 0 D 192.168.1.254 GigabitEthernet0/0/1
|
||||
192.168.2.0/24 EBGP 255 0 D 192.168.100.2 GigabitEthernet0/0/0
|
||||
192.168.100.0/24 Direct 0 0 D 192.168.100.1 GigabitEthernet0/0/0
|
||||
```
|
||||
|
||||
```shell
|
||||
[CE4]display ip routing-table
|
||||
Route Flags: R - relay, D - download to fib
|
||||
------------------------------------------------------------------------------
|
||||
Destination/Mask Proto Pre Cost Flags NextHop Interface
|
||||
192.168.2.0/24 Direct 0 0 D 192.168.1.254 GigabitEthernet0/0/1
|
||||
192.168.1.0/24 EBGP 255 0 D 192.168.100.2 GigabitEthernet0/0/0
|
||||
192.168.200.0/24 Direct 0 0 D 192.168.100.1 GigabitEthernet0/0/0
|
||||
```
|
||||
|
||||
```shell
|
||||
[PE2] display bgp vpnv4 vpn-instance VPNX routing-table 192.168.1.0 24
|
||||
|
||||
BGP local router ID : 3.3.3.3
|
||||
Local AS number : 123
|
||||
VPN-Instance VPNX, Router ID 3.3.3.3:
|
||||
Paths: 1 available, 1 best, 1 select
|
||||
BGP routing table entry information of 192.168.1.0/24:
|
||||
Label information (Received/Applied): 1026/NULL
|
||||
From: 1.1.1.1 (1.1.1.1)
|
||||
Relay token: 0x1
|
||||
Original nexthop: 1.1.1.1
|
||||
```
|
||||
|
||||
```shell
|
||||
[PE2]display mpls lsp
|
||||
-------------------------------------------------------------------------------
|
||||
LSP Information: LDP LSP
|
||||
-------------------------------------------------------------------------------
|
||||
FEC In/Out Label In/Out IF Vrf Name
|
||||
1.1.1.1/32 NULL/1024 -/GE0/0/0
|
||||
1.1.1.1/32 1024/1024 -/GE0/0/0
|
||||
```
|
||||
|
||||
以192.168.2.0/24网段到192.168.1.0/24网段的数据为例,外层标签为1024,由MPLS LDP分配。内层标签为1026,由MP-BGP分配
|
||||
|
||||
```
|
||||
No. Time Source Destination Protocol Length Info
|
||||
5 12.109000 192.168.2.254 192.168.1.254 ICMP 102 Echo (ping) request
|
||||
Frame 5: 102 bytes on wire (816 bits), 102 bytes captured (816 bits) on interface 0
|
||||
Ethernet II, Src: HuaweiTe_b1:15:3e (00:e0:fc:b1:15:3e), Dst: HuaweiTe_49:20:bb (00:e0:fc:49:20:bb)
|
||||
MultiProtocol Label Switching Header, Label: 1024, Exp: 0, S: 0, TTL: 254
|
||||
MultiProtocol Label Switching Header, Label: 1026, Exp: 0, S: 1, TTL: 254
|
||||
Internet Protocol Version 4, Src: 192.168.2.254, Dst: 192.168.1.254
|
||||
Internet Control Message Protocol
|
||||
```
|
||||
|
||||
<h3>第二节:MPLS VPN部署与应用</h3>
|
||||
|
||||
<h4>一:MPLS VPN应用与组网概述</h4>
|
||||
|
||||
<h5>1.MPLS VPN典型应用</h5>
|
||||
|
||||
目前,MPLS VPN的主要应用包括企业互连和虚拟业务网络
|
||||
|
||||
企业互连应用:可通过MPLS VPN将分布在各地的分支机构和合作伙伴的IP网络连接在一起
|
||||
|
||||
虚拟业务网络:可在同一物理网络上运行多种业务,如VoIP、IPTV等,为每个业务建立一个VPN,实现业务隔离
|
||||
|
||||

|
||||
|
||||
**MPLS VPN的主要优点包括但不限于以下几项:**
|
||||
|
||||
可以实现“一点接入,全网连通”,支持异种介质的互连。而不像传统专线那样在每一对用户设备间采用同样的介质连接,可方便地提供普遍服务
|
||||
|
||||
可以实现“弹性带宽”,采用流量监管技术,在保证用户基本带宽的同时,对突发流量尽力而为,同时基本带宽也可以“软扩容”,即根据用户的需求在一个范围内连续选择
|
||||
|
||||
在资源隔离或隧道绑定的MPLS VPN技术保证下,充分保证每个VPN的专有带宽,满足各类业务有不同的用户,不同的流量模型,不同的QoS要求
|
||||
|
||||
<h5>2.MPLS VPN基本组网 - Intranet</h5>
|
||||
|
||||
当采用Intranet组网方案时,一个VPN中的所有用户形成闭合用户群,相互之间能够进行流量转发,VPN中的用户不能与任何本VPN以外的用户通信,其站点通常是属于同一个组织
|
||||
|
||||

|
||||
|
||||
PE需要为每个站点创建VPN实例,并配置全网唯一的RD
|
||||
|
||||
PE通过配置Import RT和Export RT来控制不同VPN的站点做到无法互访
|
||||
|
||||
<h5>3.MPLS VPN基本组网 - Extranet</h5>
|
||||
|
||||
当采用Extranet组网方案时,VPN用户可将部分站点中的网络资源给其他VPN用户进行访问
|
||||
|
||||

|
||||
|
||||
**如图,Site 2作为能被VPN1和VPN2访问的共享站点,需要保证:**
|
||||
|
||||
PE2能够接收PE1和PE3发布的VPNv4路由
|
||||
|
||||
PE2发布的VPNv4路由能够被PE1和PE3接收
|
||||
|
||||
PE2不把从PE1接收的VPNv4路由发布给PE3,也不把从PE3接收的VPNv4路由发布给PE1
|
||||
|
||||
<h5>4.MPLS VPN基本组网 - Hub&Spoke</h5>
|
||||
|
||||
当采用Hub&Spoke方案时,可以将多个站点中的一个站点设置为Hub站点,其余站点为Spoke站点。站点间的互访必须通过Hub站点,通过Hub站点集中管控站点间的数据传输
|
||||
|
||||

|
||||
|
||||
Spoke站点需要把路由发布给Hub站点,再通过Hub站点发布给其他Spoke站点。Spoke站点之间不直接交互路由信息
|
||||
|
||||
Spoke-PE需要设置Export Target为“Spoke”,Import Target为“Hub”
|
||||
|
||||
Hub-PE上需要使用两个接口或子接口(创建两个VPN实例),一个用于接收Spoke-PE发来的路由,其VPN实例的Import Target为“Spoke”;另一个用于向Spoke-PE发布路由,其VPN实例的Export Target为“Hub”
|
||||
|
||||
**从Site1到Site2的路由发布过程如下:**
|
||||
|
||||

|
||||
|
||||
Spoke-CE1发布路由给Spoke-PE1
|
||||
|
||||
Spoke-PE1通过IBGP将该路由发布给Hub-PE
|
||||
|
||||
Hub-PE通过VPN实例(VPN_in)的Import Target属性将该路由引入VPN_in路由表,并发布给Hub-CE
|
||||
|
||||
Hub-CE学习到该路由,并将该路由发布给Hub-PE的VPN实例(VPN_out)
|
||||
|
||||
Hub-PE通过VPN_out发布该路由给Spoke-PE2(携带VPN_out的Export Target属性)
|
||||
|
||||
Spoke-PE2该路由发布给Spoke-CE2
|
||||
|
||||
<h5>5.MCE组网</h5>
|
||||
|
||||
当一个私网需要根据业务或者网络划分VPN时,不同VPN用户间的业务需要完全隔离。此时,为每个VPN单独配置一台CE将增加用户的设备开支和维护成本
|
||||
|
||||
具有MCE(Multi-VPN-Instance,CE多实例CE)功能的CE设备可以在MPLS VPN组网应用中承担多个VPN实例的CE功能,减少用户网络设备的投入
|
||||
|
||||

|
||||
|
||||
MCE将PE的部分功能扩展到CE设备,通过将不同的接口与VPN绑定,并为每个VPN创建和维护独立的路由转发表(Multi-VRF)
|
||||
|
||||
MCE与对应的PE之间可以通过物理接口、子接口或者逻辑接口进行互联,PE上需要将这些接口绑定到对应的VPN实例
|
||||
|
||||
<h5>6.MPLS VPN跨域组网</h5>
|
||||
|
||||
随着MPLS VPN解决方案的广泛应用,服务的终端用户的规格和范围也在增长,在一个企业内部的站点数目越来越大,某个地理位置与另外一个服务提供商相连的需求变得非常的普遍,例如国内运营商的不同城域网之间,或相互协作的运营商的骨干网之间都存在着跨越不同自治系统(AS,Autonomous System)的情况
|
||||
|
||||
一般的MPLS VPN体系结构都是在一个AS内运行,任何VPN的路由信息都是只能在一个AS内按需扩散。AS之间的MPLS VPN部署需要通过跨域(Inter-AS) MPLS VPN解决方案来实现
|
||||
|
||||

|
||||
|
||||
**RFC2547中提出了三种跨域VPN解决方案,分别是:**
|
||||
|
||||
跨域VPN-OptionA(Inter-Provider Backbones Option A)方式:需要跨域的VPN在ASBR(AS Boundary Router)间通过专用的接口管理自己的VPN路由,也称为VRF-to-VRF
|
||||
|
||||
跨域VPN-OptionB(Inter-Provider Backbones Option B)方式:ASBR间通过MP-EBGP发布标签VPN-IPv4路由,也称为EBGP redistribution of labeled VPN-IPv4 routes
|
||||
|
||||
跨域VPN-OptionC(Inter-Provider Backbones Option C)方式:PE间通过Multi-hop MP-EBGP发布标签VPN-IPv4路由,也称为Multihop EBGP redistribution of labeled VPN-IPv4 routes
|
||||
|
||||
<h4>二:MPLS VPN典型场景部署介绍</h4>
|
||||
|
||||
<h5>1.部署Intranet场景的MPLS VPN</h5>
|
||||
|
||||
如图所示,客户X及Y各自有2个站点,现需要通过MPLS VPN实现站点之间的互联,分别对应VPNX和VPNY
|
||||
|
||||
互联接口、AS号及IP地址信息,CE与PE通过如图的协议或方法交换路由信息
|
||||
|
||||

|
||||
|
||||
**部署思路**
|
||||
|
||||
MPLS VPN骨干网配置
|
||||
|
||||
IGP配置,实现骨干网的IP连通性
|
||||
|
||||
MPLS与MPLS LDP配置,建立MPLS LSP公网隧道,传输VPN数据
|
||||
|
||||
MP-BGP配置,建立后续传递VPNv4路由的MP-BGP对等体关系
|
||||
|
||||
VPN用户接入配置
|
||||
|
||||
创建VPN实例并配置参数(RT、RD)
|
||||
|
||||
将接口加入VPN实例
|
||||
|
||||
配置PE与CE之间的路由交换
|
||||
|
||||
**PE-CE之间部署OSPF **
|
||||
|
||||

|
||||
|
||||
```shell
|
||||
[CE1] ospf 1
|
||||
[CE1-ospf-1] area 0
|
||||
[CE1-ospf-1-area-0.0.0.0] network 192.168.100.0 0.0.0.255
|
||||
[CE1-ospf-1-area-0.0.0.0] network 192.168.1.0 0.0.0.255
|
||||
```
|
||||
|
||||
注意:
|
||||
|
||||
CE1的OSPF配置还是传统的OSPF配置,CE1无需支持VRF
|
||||
|
||||
```shell
|
||||
[PE1] ospf 1 vpn-instance VPNX
|
||||
[PE1-ospf-1] area 0
|
||||
[PE1-ospf-1-area-0.0.0.0] network 192.168.100.0 0.0.0.255
|
||||
[PE1-ospf-1-area-0.0.0.0] quit
|
||||
[PE1-ospf-1] import bgp
|
||||
```
|
||||
|
||||
注意:
|
||||
|
||||
PE1用于跟CE1对接的OSPF进程必须与对应的VPN实例绑定。将PE1的VPN实例VPNX的路由表中的BGP路由(主要是PE1通过BGP获知的、到达站点B的客户路由)引入OSPF,以便将这些路由通过OSPF通告给CE1。
|
||||
|
||||
```shell
|
||||
[PE1] bgp 123
|
||||
[PE1-bgp] ipv4-family vpn-instance VPNX
|
||||
[PE1-bgp] import-route ospf 1
|
||||
```
|
||||
|
||||
注意:
|
||||
|
||||
将PE1的VPN实例VPNX的路由表中通过OSPF进程1学习到的OSPF路由引入BGP,从而将到达站点A的客户路由转换成BGP的VPNv4路由,以便通告给远端的PE2。
|
||||
|
||||
**PE-CE之间部署静态路由**
|
||||
|
||||

|
||||
|
||||
```shell
|
||||
[CE2] ip route-static 192.168.1.0 24 192.168.200.2
|
||||
[CE2] ip route-static 192.168.100.0 24 192.168.200.2
|
||||
```
|
||||
|
||||
注意:
|
||||
|
||||
CE2需配置到达站点A内的各个网段的静态路由
|
||||
|
||||
```shell
|
||||
[PE2] ip route-static vpn-instance VPNX 192.168.2.0 24 192.168.200.1
|
||||
```
|
||||
|
||||
注意:
|
||||
|
||||
PE2需配置到达站点B内各个网段的静态路由
|
||||
|
||||
```shell
|
||||
[PE2] bgp 123
|
||||
[PE2-bgp] ipv4-family vpn-instance VPNX
|
||||
[PE2-bgp] import-route static
|
||||
```
|
||||
|
||||
注意:
|
||||
|
||||
将PE2的VPN实例VPNX的路由表中的静态路由引入BGP,从而将客户路由转换成BGP的VPNv4路由,以便通告给远端的PE1
|
||||
|
||||
**PE-CE之间部署EBGP**
|
||||
|
||||

|
||||
|
||||
```shell
|
||||
[CE3] bgp 100
|
||||
[CE3-bgp] peer 192.168.100.2 as-number 123
|
||||
[CE3-bgp] network 192.168.1.0 24
|
||||
```
|
||||
|
||||
注意:
|
||||
|
||||
CE3只需要执行普通BGP配置,且无需支持VRF。
|
||||
|
||||
```shell
|
||||
[PE1] bgp 123
|
||||
[PE1-bgp] ipv4-family vpn-instance VPNY
|
||||
[PE1-bgp-VPNY] peer 192.168.100.1 as-number 100
|
||||
```
|
||||
|
||||
注意:
|
||||
|
||||
当PE与CE之间使用BGP交互客户路由时,无需在PE上手工执行路由重分发操作。在本例中,PE1通过BGP从CE3学习到的客户路由后,PE1会自动将这些路由转换成VPNv4路由并通告给PE2;而PE1通过BGP从PE2获知到达站点D的路由后,会自动将它们转换成IPv4路由并通告给CE3。
|
||||
|
||||
**特殊场景下的BGP配置 - AS号替换**
|
||||
|
||||
在MPLS VPN场景中,若PE与CE之间运行EBGP交互路由信息,则可能会出现两个站点的AS号相同的情况
|
||||
|
||||

|
||||
|
||||
若CE1通过EBGP向PE1发送一条私网路由,并经过PE2发送到CE2,则CE2会由于AS号重复丢弃这条路由,导致属于同一VPN的Site 1和Site 2之间无法连通
|
||||
|
||||
可以在PE上执行peer substitute-as命令使能AS号替换功能,即PE用本地AS号替换收到的私网路由中CE所在VPN站点的AS号,这样对端CE就不会因为AS号重复而丢弃路由了
|
||||
|
||||
```shell
|
||||
[PE1] bgp 123
|
||||
[PE1-bgp] ipv4-family vpn-instance vpn1
|
||||
[PE1-bgp-vpn1] peer 192.168.100.1 substitute-as
|
||||
```
|
||||
|
||||
PE1在向CE1发送BGP路由时,若发现AS_Path中包含65001,则会用本地AS号,也就是123去替换65001。所以,若有一条路由从CE2传给PE2,再由PE2传给PE1,当PE1再传递给CE1,此时BGP路由的AS_Path属性为{123,123}
|
||||
|
||||
**特殊场景下的BGP配置 - SoO**
|
||||
|
||||
在CE多归属场景,若使能了BGP的AS号替换功能,可能会引起路由环路,需要SoO(Site of Origin)特性来避免环路
|
||||
|
||||
CE1与CE3处于同一个VPN站点1,CE2位于站点Site2,Site1和Site2站点所在的AS号都为65001。PE与CE之间运行的都是EBGP路由协议,为了Site 1和Site 2之间的路由可以正常学习,需要在PE1和PE2上配置AS号替换功能
|
||||
|
||||
CE1传递站点内的路由给PE1,PE1传递该路由给CE3,由于配置AS号替换,CE3会接收该路由,可能会导致产生路由环路
|
||||
|
||||
```shell
|
||||
[PE1] bgp 123
|
||||
[PE1-bgp] ipv4-family vpn-instance vpn1
|
||||
[PE1-bgp-vpn1] peer 192.168.100.1 soo 200:1
|
||||
[PE1-bgp-vpn1] peer 192.168.200.1 soo 200:1
|
||||
```
|
||||
|
||||
配置了BGP邻居的SoO后:
|
||||
|
||||
接收到该邻居的BGP路由时,会在路径属性中携带该SoO属性并通告给其他BGP邻居
|
||||
|
||||
向该邻居通告BGP路由时,会检查路由中的SoO属性是否与配置的SoO值相同,若相同则不通告,避免引起环路
|
||||
|
||||

|
||||
|
||||
**PE-CE之间部署IS-IS**
|
||||
|
||||

|
||||
|
||||
```shell
|
||||
[CE4] isis 1
|
||||
[CE4-isis-1] network-entity 49.0001.0000.0000.1111.00
|
||||
[CE4-isis-1] is-level level-2
|
||||
[CE4-isis-1] quit
|
||||
[CE4] interface GigabitEthernet 0/0/0
|
||||
[CE4-GigabitEthernet0/0/0] isis enable 1
|
||||
[CE4-GigabitEthernet0/0/0]quit
|
||||
[CE4] interface GigabitEthernet 0/0/1
|
||||
[CE4-GigabitEthernet0/0/1] isis enable 1
|
||||
#GE0/0/1接口是192.168.2.0/24网段所在接口
|
||||
```
|
||||
|
||||
```shell
|
||||
[PE2] isis 1 vpn-instance VPNY
|
||||
[PE2-isis-1] network-entity 49.0002.0000.0000.2222.00
|
||||
[PE2-isis-1] is-level level-2
|
||||
[PE2-isis-1] import-route bgp level-2
|
||||
[PE2-isis-1] quit
|
||||
[PE2] interface GigabitEthernet 0/0/2
|
||||
[PE2-GigabitEthernet0/0/2] isis enable 1
|
||||
[PE2] bgp 123
|
||||
[PE2-bgp] ipv4-family vpn-instance VPNY
|
||||
[PE2-bgp] import-route isis 1
|
||||
```
|
1173
Datacom-MD/第十三章:大型WLAN组网部署.md
Normal file
1173
Datacom-MD/第十三章:大型WLAN组网部署.md
Normal file
File diff suppressed because it is too large
Load Diff
431
Datacom-MD/第十二章:网络设备安全特性.md
Normal file
431
Datacom-MD/第十二章:网络设备安全特性.md
Normal file
@ -0,0 +1,431 @@
|
||||
<h1><center>网络设备安全特性</center></h1>
|
||||
|
||||
> 作者:行癫
|
||||
|
||||
------
|
||||
|
||||
<h3>第一节:网络设备安全特性</h3>
|
||||
|
||||
<h4>一:常见设备安全加固策略</h4>
|
||||
|
||||
<h5>1.为什么需要网络设备安全</h5>
|
||||
|
||||
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220218114918813.png" alt="image-20220218114918813" style="zoom:60%;" />
|
||||
|
||||
网络安全是一个系统工程,网络当中的每一样东西都有可能是被攻击的目标,网络设备本身当然也不例外
|
||||
|
||||
**网络设备受到的常见攻击如下:**
|
||||
|
||||
恶意登录网络设备执行非法操作,例如重启设备
|
||||
|
||||
伪造大量控制报文造成设备CPU利用率升高,例如发送大量的ICMP报文
|
||||
|
||||
<h5>2.常见设备安全加固策略</h5>
|
||||
|
||||
**常见的设备安全加固策略主要可以从以下方面部署:**
|
||||
|
||||
关闭不使用的业务和协议端口
|
||||
|
||||
废弃不安全的访问通道
|
||||
|
||||
基于可信路径的访问控制
|
||||
|
||||
本机防攻击
|
||||
|
||||
**关闭不使用的业务和协议端口**
|
||||
|
||||
在分析业务需求的基础上,按照最小授权原则,关闭不使用的业务和协议端口
|
||||
|
||||
不使用的物理端口,应该默认配置为关闭,即使插上网线也不能通信
|
||||
|
||||
不使用的协议端口,应该默认配置为关闭,不对外提供访问。如常见的telnet、FTP、HTTP等端口
|
||||
|
||||
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220218115747374.png" alt="image-20220218115747374" style="zoom:50%;" />
|
||||
|
||||
在SW1上关闭FTP功能,同时关闭多个不使用的端口
|
||||
|
||||
```shell
|
||||
<SW1> system-view
|
||||
[SW1] undo ftp server
|
||||
Warning: The operation will stop the FTP server. Do you want to continue? [Y/N]:y
|
||||
Info: Succeeded in closing the FTP server.
|
||||
[SW1]port-group protgroup1
|
||||
[SW1-port-group-protgroup1]group-member GigabitEthernet 0/0/4 to GigabitEthernet0/0/48
|
||||
[SW1-port-group-protgroup1]shutdown
|
||||
```
|
||||
|
||||
**废弃不安全的访问通道**
|
||||
|
||||
在业务需求分析的基础上,优先满足业务的访问需求。在同一个访问需求有多种访问通道服务的情况下,废弃不安全的访问通道,而选择安全的访问通道
|
||||
|
||||
| **访问需求** | **不安全的通道** | **安全的通道** |
|
||||
| ------------ | ---------------- | -------------- |
|
||||
| 远程登录 | Telnet | SSH v2 |
|
||||
| 文件传输 | FTP,TFTP | SFTP |
|
||||
| 网元管理 | SNMP v1/v2 | SNMP v3 |
|
||||
| 网管登录 | HTTP | HTTPS |
|
||||
|
||||
通过命令行、WEB、网管等方式登录设备时,建议采用安全加密的通道SSH、HTTPS、SNMPv3
|
||||
|
||||
设备之间,以及设备和终端之间数据传输,也建议采用加密的数据传输协议SFTP
|
||||
|
||||
**安全的数据访问通道**
|
||||
|
||||
设备数据传输安全常见场景及采用协议:
|
||||
|
||||
用户远程登录:
|
||||
|
||||
Telnet:采用TCP协议进行明文传输
|
||||
|
||||
STelnet:基于SSH协议,提供安全的信息保障和强大的认证功能
|
||||
|
||||
设备文件操作:
|
||||
|
||||
FTP:支持文件传输以及文件目录的操作,具有授权和认证功能,明文传输数据
|
||||
|
||||
TFTP:只支持文件传输,不支持授权和认证,明文传输数据
|
||||
|
||||
SFTP:支持文件传输及文件目录的操作,数据进行了严格加密和完整性保护
|
||||
|
||||
**SSH概述**
|
||||
|
||||
SSH(Secure Shell,安全外壳协议),在非安全网络上提供了安全的远程登录、安全文件传输以及TCP/IP安全隧道。不仅在登陆过程中对密码进行加密传送,而且对登陆后执行的命令的数据也进行加密
|
||||
|
||||
合法用户通过客户端登录,完成用户名以及对应的密码验证后,客户端会尝试和服务端建立会话,每个会话是一个独立的逻辑通道,可以提供给不同的上层应用使用
|
||||
|
||||
STelnet和SFTP各自利用了其中的一个逻辑通道,通过SSH对数据进行加密,从而实现数据的安全传输
|
||||
|
||||

|
||||
|
||||
**SSH协议结构**
|
||||
|
||||
<img src="https://xingdian-image.oss-cn-beijing.aliyuncs.com/xingdian-image/image-20220218120303812.png" alt="image-20220218120303812" style="zoom:80%;" />
|
||||
|
||||
SSH协议框架中最主要的部分是三个协议:传输层协议、用户认证协议和连接协议:
|
||||
|
||||
传输层协议:提供版本协商,加密算法协商,密钥交换,服务端认证以及信息完整性支持
|
||||
|
||||
用户认证协议:为服务器提供客户端的身份鉴别
|
||||
|
||||
连接协议:将加密的信息隧道复用为多个逻辑通道,提供给高层的应用协议(STelnet、SFTP)使用;各种高层应用协议可以相对地独立于SSH基本体系之外,并依靠这个基本框架,通过连接协议使用SSH的安全机制
|
||||
|
||||
SSH中用到的算法主要有几类:
|
||||
|
||||
用于数据完整性保护的MAC算法,如hmac-md5、hmac-md5-96等
|
||||
|
||||
用于数据信息加密的算法,如3des-cbc、aes128-cbc、des-cbc等
|
||||
|
||||
用于产生会话密钥的密钥交换算法,如diffle-hellman-group-exchange-sha1等
|
||||
|
||||
用于进行数字签名和认证的主机公钥算法,如RSA、DSA等
|
||||
|
||||
公开密钥技术:
|
||||
|
||||
公钥加密算法也称非对称密钥算法,用两对密钥:一个公共密钥和一个专用密钥。用户要保障专用密钥的安全;公共密钥则可以发布出去。公共密钥与专用密钥是有紧密关系的,用公共密钥加密的信息只能用专用密钥解密,反之亦然。由于公钥算法不需要联机密钥服务器,密钥分配协议简单,所以极大简化了密钥管理。除加密功能外,公钥系统还可以提供数字签名
|
||||
|
||||
机密性:指信息在存储、传输、使用的过程中,不会被泄漏给非授权用户或实体
|
||||
|
||||
完整性:指信息在存储、传输、使用的过程中,不会被非授权用户篡改或防止授权用户对信息进行不恰当的篡改
|
||||
|
||||
可用性:指确保授权用户或实体对信息资源的正常使用不会被异常拒绝,允许其可靠而及时地访问信息资源
|
||||
|
||||
**基于可信路径的访问控制**
|
||||
|
||||
可以在设备上部署基于可信路径的访问控制策略,以提升网络的安全性
|
||||
|
||||
部署URPF,可以判定某个报文的源地址是否合法,如果该报文的路径与URPF学习的路径不符,丢弃该报文,用URPF可以有效防范IP地址欺骗
|
||||
|
||||

|
||||
|
||||
IP网络的开放性决定了,只要路由可达,任何人都可以对目标主机进行访问或者攻击
|
||||
|
||||
对于某一个主机而言,访问它的客户端的报文历经的路径通常是固定的,尤其是在网络边缘,这种路径的固定特性表现得更加明显
|
||||
|
||||
URPF(单播逆向路径转发)分为严格模式和松散模式以及允许匹配缺省路由的方式。其原理是当设备转发IP报文时,检查数据报文的源IP地址是否合法,检查的原理是根据数据包的源IP地址查路由表
|
||||
|
||||
**本机防攻击**
|
||||
|
||||
在网络中,存在着大量针对CPU的恶意攻击报文以及需要正常上送CPU的各类报文。针对CPU的恶意攻击报文会导致CPU长时间繁忙的处理攻击报文,从而引发其他业务的断续甚至系统的中断;大量正常的报文也会导致CPU占用率过高,性能下降,从而影响正常的业务
|
||||
|
||||
为了保护CPU,保证CPU对正常业务的处理和响应,设备提供了本机防攻击功能。本机防攻击针对的是上送CPU的报文,主要用于保护设备自身安全,保证已有业务在发生攻击时的正常运转,避免设备遭受攻击时各业务的相互影响
|
||||
|
||||
本机防攻击包括CPU防攻击和攻击溯源两部分:
|
||||
|
||||
CPU防攻击针对上送CPU的报文进行限制和约束,使单位时间内上送CPU报文的数量限制在一定的范围之内,从而保护CPU的安全,保证CPU对业务的正常处理
|
||||
|
||||
攻击溯源针对DoS(Denial of Service,拒绝服务)攻击进行防御。设备通过对上送CPU的报文进行分析统计,然后对统计的报文设置一定的阈值,将超过阈值的报文判定为攻击报文,再对这些攻击报文根据报文信息找出攻击源用户或者攻击源接口,最后通过日志、告警等方式提醒管理员以便管理员采用一定的措施来保护设备,或者直接丢弃攻击报文以对攻击源进行惩罚
|
||||
|
||||
**CPU防攻击**
|
||||
|
||||
多级安全机制,保证设备的安全,实现了对设备的分级保护。设备通过以下策略实现对设备的分级保护:
|
||||
|
||||
第一级:通过黑名单来过滤上送CPU的非法报文
|
||||
|
||||
第二级:CPCAR,对上送CPU的报文按照协议类型进行速率限制,保证每种协议上送CPU的报文不会过多
|
||||
|
||||
第三级:对上送CPU的报文,按照协议优先级进行调度,保证优先级高的协议先得到处理
|
||||
|
||||
第四级:对上送CPU的报文统一限速,对超过统一限速值的报文随机丢弃,保证整体上送CPU的报文不会过多,保护CPU安全
|
||||
|
||||
动态链路保护功能的CPU报文限速,是指当设备检测到SSH Session数据、Telnet Session数据、HTTP Session数据、FTP Session数据以及BGP Session数据建立时,会启动对此Session的动态链路保护功能,后续上送报文如匹配此Session特征信息,此类数据将会享受高速率上送的权利,由此保证了此Session相关业务的运行可靠性、稳定性
|
||||
|
||||
**攻击溯源原理 **
|
||||
|
||||
攻击溯源包括报文解析、流量分析、攻击源识别和发送日志告警通知管理员以及实施惩罚四个过程
|
||||
|
||||

|
||||
|
||||
通过图中所示的四个过程,找出攻击源,然后管理员通过ACL或配置黑名单的方式限制攻击源,以保护设备CPU
|
||||
|
||||
<h4>二:网络设备安全加固部署示例</h4>
|
||||
|
||||
<h5>1.SSH基本配置 </h5>
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
<h5>2.SSH配置示例</h5>
|
||||
|
||||
用户希望安全的远程登录设备,因此配置STelnet方式进行远程的安全登录
|
||||
|
||||
在R3上配置两个登录用户client001和client002,R1使用client001通过password认证方式登录R3,R2使用client002通过RSA认证方式登录R3。配置安全策略,保证只有R1和R2才能登录设备
|
||||
|
||||

|
||||
|
||||
**配置步骤:**
|
||||
|
||||
在R3生成本地密钥对,实现在服务器端和客户端进行安全的数据交互
|
||||
|
||||
在R3配置SSH用户client001和**client002**
|
||||
|
||||
在R3开启STelnet服务功能
|
||||
|
||||
在R3配置SSH用户client001和client002的服务方式为STelnet
|
||||
|
||||
在R3配置SSH服务器的端口号,有效防止攻击者对SSH服务标准端口的访问,确保安全性
|
||||
|
||||
用户client001和client002分别以STelnet方式实现登录R3
|
||||
|
||||
**配置:**
|
||||
|
||||
```shell
|
||||
[R3] rsa local-key-pair create
|
||||
The key name will be: Host
|
||||
RSA keys defined for Host already exist. Confirm to replace them? (y/n):y
|
||||
The range of public key size is (512 ~ 2048).
|
||||
NOTES: If the key modulus is less than 2048,
|
||||
It will introduce potential security risks.
|
||||
Input the bits in the modulus[default = 2048]:2048
|
||||
Generating keys... ......................................................................................+++ ....+++ .......................................++++++++ ..............++++++++
|
||||
```
|
||||
|
||||
```shell
|
||||
[R3] user-interface vty 0 4
|
||||
[R3-ui-vty0-4] authentication-mode aaa
|
||||
[R3-ui-vty0-4] protocol inbound ssh
|
||||
[R3-ui-vty0-4] quit
|
||||
[R3] aaa
|
||||
[R3-aaa] local-user client001 password irreversible-cipher Huawei@123
|
||||
[R3-aaa] local-user client001 privilege level 3
|
||||
[R3-aaa] local-user client002 password irreversible-cipher Huawei@123
|
||||
[R3-aaa] local-user client002 privilege level 3
|
||||
[R3-aaa] quit
|
||||
[R3] ssh user client001 authentication-type password
|
||||
[R3] ssh user client002 authentication-type rsa
|
||||
```
|
||||
|
||||
```shell
|
||||
[R3] aaa
|
||||
[R3-aaa] local-user client001 service-type ssh
|
||||
[R3-aaa] local-user client002 service-type ssh
|
||||
[R3-aaa] quit
|
||||
```
|
||||
|
||||
```shell
|
||||
[R3] ssh server port 1025
|
||||
```
|
||||
|
||||
```shell
|
||||
# 在R2生成客户端的本地密钥对。
|
||||
[R2] rsa local-key-pair create
|
||||
The key name will be: Host
|
||||
RSA keys defined for Host already exist.
|
||||
Confirm to replace them? (y/n):y
|
||||
The range of public key size is (512 ~ 2048).
|
||||
NOTES: If the key modulus is less than 2048,
|
||||
It will introduce potential security risks.
|
||||
Input the bits in the modulus[default = 2048]:2048
|
||||
Generating keys... ......................................................................................
|
||||
+++ ....+++ .......................................++++++++ ..............++++++++
|
||||
```
|
||||
|
||||
```shell
|
||||
# 查看R2生成的RSA密钥对的公钥部分。
|
||||
[R2] display rsa local-key-pair public
|
||||
Key code: 30820109 02820100 CB0E88EC A1C2CFEA F97126F9 36919C08 0455127B A3A48594 69517096 35626F55 E4FAF0EB FDA2B9E9 5E417B2B E09F38B0 D26FCA73 FE2E3FC4 DFBEC8CF 4ED0C909 E8D975E6 FFC73C81 D13FE71E 759DC805 B0F0E877 4FC9288E BE1E197C 2A7186B0 B56F5573 3A5EA588 29C63E3B 20D56233 8E63278D F941734F 6B359C69 BBAE5A52 EB842179 04B4204D 5DB31D72 97F0C085 DA771F66 0AAADC28 D264CEB9 5BADA92C CDE9F116 D6D99C48 CEBA3A1D 868B053A 32941D85 CCAA9796 A4B55760 0A8108ED DB45DA12 F61634C9 59431600 341FEDEF 5379D565 A8D1953D DEA018A2 72F99FFC 63DE04BF 2A6219BD DF13D705 27D63DEF 83D556BC 5B44D983 8D5EA126 C1EB71CB 0203 010001
|
||||
=====================================================
|
||||
Time of Key pair created: 2012-08-06 17:17:44+00:00 Key name: Server Key type: RSA encryption Key =====================================================
|
||||
Key code: 3067 0260 DF8AFF3C 28213B94 2292852E E98657EE 11DE5AF4 8A176878 CDD4BD31 55E05735 3080F367 A83A9034 47D534CA 81250C1D 35401DC3 464E9E5F A50202CF A7AD09CD AC3F531C A763F0A0 4C8E51B9 18755400 76AF4A78 225C92C3 01FE0DFF 06908363 0203 010001
|
||||
```
|
||||
|
||||
```shell
|
||||
# 将R2上产生的RSA公钥配置到服务器端(上页display命令显示信息中黑体部分即为客户端产生的RSA公钥,将其拷贝粘贴至服务器端)。
|
||||
[R3] rsa peer-public-key rsakey001
|
||||
[R3-rsa-public-key] public-key-code begin
|
||||
[R3-rsa-key-code] 30820109
|
||||
[R3-rsa-key-code] 02820100
|
||||
[R3-rsa-key-code] CB0E88EC A1C2CFEA F97126F9 36919C08 0455127B
|
||||
[R3-rsa-key-code] ......
|
||||
[R3-rsa-key-code] 010001
|
||||
[R3-rsa-key-code] public-key-code end
|
||||
[R3-rsa-public-key] peer-public-key end
|
||||
```
|
||||
|
||||
```shell
|
||||
# 在R3上为SSH用户client002绑定STelnet客户端的RSA公钥。
|
||||
[R3] ssh user client002 assign rsa-key rsakey001
|
||||
```
|
||||
|
||||
**SSH配置验证**
|
||||
|
||||
```shell
|
||||
[R1] ssh client first-time enable
|
||||
[R1] stelnet 192.168.1.1 1025
|
||||
Please input the username:client001
|
||||
Trying 192.168.1.1 ...
|
||||
Press CTRL+K to abort
|
||||
Connected to 192.168.1.1 ...
|
||||
The server is not authenticated. Continue to access it?(y/n)[n]:y
|
||||
Save the server's public key?(y/n)[n]:y
|
||||
The server's public key will be saved with the name 192.168.1.1. Please wait... Enter password:
|
||||
<R3> # 显示登录成功
|
||||
```
|
||||
|
||||
```shell
|
||||
[R2] ssh client first-time enable
|
||||
[R2] stelnet 192.168.1.1 1025
|
||||
Please input the username:client002
|
||||
Trying 192.168.1.1 ... Press CTRL+K to abort Connected to 192.168.1.1 ...
|
||||
The server is not authenticated. Continue to access it?(y/n)[n]:y
|
||||
Save the server's public key?(y/n)[n]:y
|
||||
The server's public key will be saved with the name 192.168.1.1. Please wait...
|
||||
<R3> # 显示登录成功
|
||||
```
|
||||
|
||||
<h5>3.本机防攻击基本配置</h5>
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
<h5>4.本机防攻击配置示例</h5>
|
||||
|
||||

|
||||
|
||||
如图所示,位于不同局域网的用户通过R1访问Internet。为分析R1受攻击情况,需要配置攻击溯源检查功能记录攻击源信息
|
||||
|
||||
管理员发现存在以下现象:
|
||||
|
||||
通过攻击溯源检查功能分析可知,Net1中的某个用户经常会发生攻击行为
|
||||
|
||||
R1收到大量的ARP Request报文,影响CPU的正常工作
|
||||
|
||||
R1无法提供FTP服务
|
||||
|
||||
局域网用户通过DHCP方式动态获取IP地址,但R1未优先处理上送CPU的DHCP报文
|
||||
|
||||
R1收到大量的Telnet报文
|
||||
|
||||
管理员希望通过在R1进行配置,以便解决上述问题
|
||||
|
||||
**配置过程:**
|
||||
|
||||
配置黑名单,将Net1网段中的攻击者(0001-c0a8-0102)列入黑名单,阻止其接入网络
|
||||
|
||||
配置ARP Request报文上送CPU的速率限制,使ARP Request报文限制在较小速率范围内,减少对CPU处理业务的影响
|
||||
|
||||
配置FTP协议的动态链路保护功能,保证R1正常提供FTP功能
|
||||
|
||||
配置协议优先级,对DHCP Client报文设置较高的优先级,保证R1优先处理上送CPU的DHCP Client报文
|
||||
|
||||
关闭R1的Telnet服务器功能,使R1丢弃收到的Telnet报文
|
||||
|
||||
```shell
|
||||
# 配置黑名单使用的ACL。
|
||||
[R1] acl number 4001
|
||||
[R1-acl-L2-4001] rule 5 permit source-mac 0001-c0a8-0102
|
||||
[R1-acl-L2-4001] quit
|
||||
```
|
||||
|
||||
```shell
|
||||
# 创建防攻击策略。
|
||||
[R1] cpu-defend policy devicesafety
|
||||
```
|
||||
|
||||
```shell
|
||||
# 配置攻击溯源检查功能。
|
||||
[R1-cpu-defend-policy-devicesafety] auto-defend enable
|
||||
[R1-cpu-defend-policy-devicesafety] auto-defend threshold 50
|
||||
```
|
||||
|
||||
```shell
|
||||
# 配置黑名单。
|
||||
[R1-cpu-defend-policy-devicesafety] blacklist 1 acl 4001
|
||||
```
|
||||
|
||||
```shell
|
||||
# 配置黑名单。
|
||||
[R1-cpu-defend-policy-devicesafety] blacklist 1 acl 4001
|
||||
```
|
||||
|
||||
```shell
|
||||
# 配置FTP协议动态链路保护功能的速率限制值。
|
||||
[R1-cpu-defend-policy-devicesafety] application-apperceive packet-type ftp rate-limit 2000
|
||||
# 使能FTP协议动态链路保护功能。
|
||||
[R1] cpu-defend application-apperceive ftp enable
|
||||
```
|
||||
|
||||
```shell
|
||||
# 应用防攻击策略。
|
||||
[R1-cpu-defend-policy-devicesafety] packet-type dhcp-client priority 3
|
||||
[R1] cpu-defend-policy devicesafety
|
||||
```
|
||||
|
||||
```shell
|
||||
# 关闭telnet server功能。
|
||||
[R1] undo telnet server enable
|
||||
```
|
||||
|
||||
**本机防攻击配置验证**
|
||||
|
||||
```shell
|
||||
# 查看上送到主控板的报文的统计信息,丢弃的报文表明设备对arp-request进行了速率限制。
|
||||
<R1> display cpu-defend statistics
|
||||
Packet Type Pass Packets Drop Packets
|
||||
|
||||
8021X 0 0
|
||||
arp-miss 5 0
|
||||
arp-reply 8090 0
|
||||
arp-request 1446576 127773
|
||||
bfd 0 0
|
||||
bgp 0 0
|
||||
bgp4plus 0 0
|
||||
dhcp-client 879 0
|
||||
dhcp-server 0 0
|
||||
```
|
||||
|
||||
```shell
|
||||
# 查看配置的防攻击策略的信息。
|
||||
[R1] display cpu-defend policy devicesafety
|
||||
Related slot : <0>
|
||||
……
|
||||
Slot<0> : Success
|
||||
Configuration :
|
||||
Blacklist 1 ACL number : 4001
|
||||
Packet-type arp-request rate-limit : 64(pps)
|
||||
Packet-type dhcp-client priority : 3
|
||||
Rate-limit all-packets : 2000(pps)(default)
|
||||
Application-apperceive packet-type ftp : 2000(pps)
|
||||
Application-apperceive packet-type tftp : 2000(pps)
|
||||
```
|
Loading…
Reference in New Issue
Block a user