任务八:部署点对点MPLS-BGP VPN

目录

目的

器材

拓扑

步骤

配置PC的IP及网关【略】

1、路由器接口IP配置

2、配置运营商内网OSPF路由

3、OSPF配置完成后,在路由器P1和P2查看邻居关系neighbor id

4、配置PE1与PE2之间MP-BGP邻居关系

5、在处于LSP路径上的四个路由器上开启LDP标签自动分发协议

6、验证LSP路径上四个路由器LDP会话状态Operational

7、查看MPLS标签转发表和标签转发路径Replier、Downstream

8、在PE1创建A公司VPN实例,并与接口绑定

9、在PE1上创建B公司VPN实例并与接口绑定

10、在PE2上创建A公司VPN实例并与接口绑定

11、在PE2上创建B公司VPN实例并与接口进行绑定

 12、CE1与PE1,CE2与PE2建立BGP邻居并通告公司A私网路由

13、相互通告私网路由后,在PE1和PE2查看公司A基于MPLS VPN完整标签路径

验证PC3pingPC4

14、CE3与PE1,CE4与PE2建立BGP邻居并通告公司B私网路由

15、相互通告私网路由后,在PE1和PE2查看公司B基于MPLS VPN完整标签路径

验证PC2ping Server2

总结

1)MPLS

2)EBGP


目的

掌握MPLS封装与LDP标签动态分发方式,掌握点对点MPLS-BGP VPN配置过程。

器材

路由器(AR2220):8台

主机:2台

服务器:2台

拓扑

步骤

配置PC的IP及网关【略】

1、路由器接口IP配置


[CE1]int g0/0/1
[CE1-GigabitEthernet0/0/1]ip ad 192.168.1.1 24

[CE1]int g0/0/0
[CE1-GigabitEthernet0/0/0]ip ad 201.201.201.2 24


[CE2]int g0/0/1
[CE2-GigabitEthernet0/0/1]ip ad 192.168.2.1 24

[CE2]int g0/0/0
[CE2-GigabitEthernet0/0/0]ip ad 202.202.202.2 24


[CE3]int g0/0/1
[CE3-GigabitEthernet0/0/1]ip ad 192.168.1.1 24

[CE3]int g0/0/0
[CE3-GigabitEthernet0/0/0]ip ad 203.203.203.2 24
 


[CE4]int g0/0/1
[CE4-GigabitEthernet0/0/1]ip ad 192.168.2.1 24

[CE4]int g0/0/0
[CE4-GigabitEthernet0/0/0]ip ad 204.204.204.2 24


[PE1]int g0/0/0
[PE1-GigabitEthernet0/0/0]ip ad 116.64.64.1 24

[PE1]int g0/0/1
[PE1-GigabitEthernet0/0/1]ip ad 201.201.201.1 24

[PE1]int g2/0/0
[PE1-GigabitEthernet2/0/0]ip ad 203.203.203.1 24

[PE1]int LoopBack 0
[PE1-LoopBack0]ip ad 10.0.1.1 24


[P1]int g0/0/0
[P1-GigabitEthernet0/0/0]ip ad 116.64.64.2 24

[P1]int g0/0/1
[P1-GigabitEthernet0/0/1]ip ad 117.32.32.1 24
 
[P1]int l    
[P1]int LoopBack 0
[P1-LoopBack0]ip ad 10.0.2.2 24
 


[P2]int g0/0/1
[P2-GigabitEthernet0/0/1]ip ad 117.32.32.2 24

[P2]int g0/0/0
[P2-GigabitEthernet0/0/0]ip ad 118.16.16.1 24

[P2]int LoopBack 0
[P2-LoopBack0]ip ad 10.0.3.3 24

 


[PE2]int g0/0/0
[PE2-GigabitEthernet0/0/0]ip ad 118.16.16.2 24

[PE2]int g0/0/1
[PE2-GigabitEthernet0/0/1]ip ad 202.202.202.1 24

[PE2]int g2/0/0
[PE2-GigabitEthernet2/0/0]ip ad 204.204.204.1 24

[PE2]int LoopBack 0
[PE2-LoopBack0]ip ad 10.0.4.4 24
 

2、配置运营商内网OSPF路由

[PE1]ospf router-id 10.0.1.1

//每台路由器必须采用唯一id标识自己,长度32位。如不指定router-id,选举规则是首先选取最大loopback接口IP作为router-id,如果没有配置loopback接口IP,则选择物理接口最大IP作为router-id。ospf进程号不写,默认为1。router-id也可以自定义,但一般选用IP作为其值。
[PE1-ospf-1]area 0
[PE1-ospf-1-area-0.0.0.0]network 116.64.64.0 0.0.0.255        //反掩码
[PE1-ospf-1-area-0.0.0.0]network 10.0.1.1 0.0.0.0

 [P1]ospf router-id 10.0.2.2
[P1-ospf-1]area 0
[P1-ospf-1-area-0.0.0.0]network 116.64.64.0 0.0.0.255
[P1-ospf-1-area-0.0.0.0]network 117.32.32.0 0.0.0.255
[P1-ospf-1-area-0.0.0.0]network 10.0.2.2 0.0.0.0

 [P2]ospf router-id 10.0.3.3
[P2-ospf-1]area 0
[P2-ospf-1-area-0.0.0.0]network 117.32.32.0 0.0.0.255
[P2-ospf-1-area-0.0.0.0]network 118.16.16.0 0.0.0.255
[P2-ospf-1-area-0.0.0.0]network 10.0.3.3 0.0.0.0

[PE2]ospf router-id 10.0.4.4
[PE2-ospf-1]area 0
[PE2-ospf-1-area-0.0.0.0]network 118.16.16.0 0.0.0.255

[PE2-ospf-1-area-0.0.0.0]network 10.0.4.4 0.0.0.0

3、OSPF配置完成后,在路由器P1和P2查看邻居关系neighbor id

测试PE1与PE4间的连通性:

4、配置PE1与PE2之间MP-BGP邻居关系

1)PE1与PE2通过Loopback0虚拟接口建立IBGP邻居关系

[PE1]bgp 500     //AS号为500
[PE1-bgp]peer 10.0.4.4 as-number 500    //peer为对等体,10.0.4.4是PE2的Loopback0接口的IP地址
[PE1-bgp]peer 10.0.4.4 connect-interface LoopBack 0    //修改与10.0.4.4建立BGP邻居的源接口为Loopback接口
 

[PE2]bgp 500
[PE2-bgp]peer 10.0.1.1 as-number 500
[PE2-bgp]peer 10.0.1.1 connect-interface LoopBack 0

查看BGP邻居关系:Establish

2)PE1与PE2启用IPv4-Family子族VPNv4地址族,允许PE1与PE2之间交换VPNv4路由信息

[PE1-bgp]ipv4-family vpnv4  //在BGP协议中进入IPv4-Family子族【VPNv4地址族】配置视图
[PE1-bgp-af-vpnv4]peer 10.0.4.4 enable    //使能与对等体peer10.0.4.4交换VPNv4路由信息
[PE1-bgp-af-vpnv4]peer  10.0.4.4 advertise-community      //将BGP团体属性(值)发布给对等体。允许PE1向对等体10.0.1.1通告路由信息时携带BGP团体属性(值)

 
[PE2-bgp]ipv4-family vpnv4
[PE2-bgp-af-vpnv4]peer 10.0.1.1 enable 
[PE2-bgp-af-vpnv4]peer 10.0.1.1 advertise-community 

5、在处于LSP路径上的四个路由器上开启LDP标签自动分发协议

[PE1]mpls lsr-id 10.0.1.1     //lsr-id必须手工配置。推荐使用Loopback接口IP作为LSR ID
[PE1]mpls     //全局启用MPLS协议
[PE1-mpls]mpls ldp    //全局启用LDP标签分发协议。LDP属于MPLS子协议,启用LDP的前提时启用MPLS


[PE1]int g0/0/0
[PE1-GigabitEthernet0/0/0]mpls       //在出接口二层头部和三层头部之间封装MPLS协议
[PE1-GigabitEthernet0/0/0]mpls ldp    //在出接口封装MPLS协议时,启用LDP标签(外层标签)自动分发方式

 [P1]mpls lsr-id 10.0.2.2
[P1]mpls 
[P1-mpls]mpls ldp

[P1]int g0/0/0     //在入接口启用MPLS协议,否则无法识别从PE1发来的MPLS报文
[P1-GigabitEthernet0/0/0]mpls    
[P1-GigabitEthernet0/0/0]mpls ldp 

[P1]int g0/0/1
[P1-GigabitEthernet0/0/1]mpls 
[P1-GigabitEthernet0/0/1]mpls ldp 
 

 [P2]mpls lsr-id 10.0.3.3 
[P2]mpls 
[P2-mpls]mpls ldp

[P2]int g0/0/1 
[P2-GigabitEthernet0/0/1]mpls 
[P2-GigabitEthernet0/0/1]mpls ldp 


[P2]int g0/0/0
[P2-GigabitEthernet0/0/0]mpls 
[P2-GigabitEthernet0/0/0]mpls ldp 

 [PE2]mpls lsr-id 10.0.4.4
[PE2]mpls 
[PE2-mpls]mpls  ldp


[PE2]int g0/0/0   
[PE2-GigabitEthernet0/0/0]mpls 
[PE2-GigabitEthernet0/0/0]mpls ldp

6、验证LSP路径上四个路由器LDP会话状态Operational

 

7、查看MPLS标签转发表和标签转发路径Replier、Downstream

8、在PE1创建A公司VPN实例,并与接口绑定


[PE1]ip vpn-instance vpn_company_A     //创建VPN实例,名字为vpn_company_A 
[PE1-vpn-instance-vpn_company_A]ipv4-family  //进入BGP协议IPv4地址族视图,因为MP-BGP将VPNv4 Family子族划分至IPV4 Family 
[PE1-vpn-instance-vpn_company_A-af-ipv4]route-distinguisher 100:1    //为当前vpn_company_A  VPN实例定义路由标识,RD(Route-Distinguisher)值为100:1

VRP:(VPN Routing & Forwarding Instance,路由器转发实例),简称VPN实例,本质上是一张VPNv4路由转发表,不同VPN实例之间的VPNv4路由表相互隔离,没有关联,以区分相同的IP地址空间(如公司A和公司B内网都是<192.168.1.0>网段的不同VPN实例)

RD:VPN路由实例标识符,由8字节(64bit)组成。每个VPN实例RD值必须唯一,仅在PE1本地有效。RD值可以随意指定,路由器内部不要重复即可。

RD值在PE1内不能冲突,RD值常见格式为 number<0~65535>:number<0~65535>。第一个值为公司公有AS号,第二个值为公司私有AS号或者VPN的ID号。

增加了RD值的IPv4地址称为VPN-IPv4地址,即VPNv4地址:

VPNv4 Address=Route Distinguisher + IPv4地址

RD值用来区分使用相同IP地址空间的IPv4前缀。
[PE1-vpn-instance-vpn_company_A-af-ipv4]vpn-target 20:1 export-extcommunity  

//将当前的BGP-VPNv4路由条目向BGP对等体通告

vpn-target:定义VPNv4路由条目宣告范围和对象,属于BGP协议扩展团体属性。

20:1为扩展团体属性中的vpn-target值。此值由运营商统一分配,路由器间不可冲突,会通过MP-BGP协议将扩展团体属性通告给BGP邻居。三种格式?查看

不同VPN实例路由是否隔离,通过vpn-target值宣告与引入控制。
[PE1-vpn-instance-vpn_company_A-af-ipv4]vpn-target  20:1 import-extcommunity

//import-extcommunity:将MP-BGP协议的扩展团体属性引入值为20:1的vpn-target路由条目

//以上两条命令可合并both,自行?查看命令vpn-target参数

[PE1-vpn-instance-vpn_company_A-af-ipv6]quit     
[PE1-vpn-instance-vpn_company_A]quit 

将vpn_company_A实例与接口绑定:


[PE1]int g0/0/1  
[PE1-GigabitEthernet0/0/1]ip binding vpn-instance vpn_company_A     //路由器提示绑定后接口IP会被删除,需要重新配置

绑定接口的目的:

1)让路由器知道从g0/0/1接口收到的VPNv4路由条目来自实例vpn_company_A,并增加相应的RD值100:1

2)在该路由条目附加实例vpn_company_A 的扩展属性vpn-target值20:1
Nov 22 2023 11:20:29-08:00 PE1 %%01IFNET/4/LINK_STATE(l)[0]:The line protocol IP
 on the interface GigabitEthernet0/0/1 has entered the DOWN state. 
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 ad 201.201.201.1 24

 接口加载VPN实例后,PE1可直接ping通CE1

无法直接ping通,需要pingVPN实例名称+IP地址【绑定VPN后,只能通过VPN进行通信】

9、在PE1上创建B公司VPN实例并与接口绑定

[PE1]ip vpn-instance vpn_company_B
[PE1-vpn-instance-vpn_company_B]ipv4-family
[PE1-vpn-instance-vpn_company_B-af-ipv4]route-distinguisher 300:1  //300为企业公有AS号,RD值可随意定义,在PE1本地不可重复即可
[PE1-vpn-instance-vpn_company_B-af-ipv4]vpn-target 20:2 both   //公司A的vpn-target为20:1,公司B的vpn-target不要冲突,以隔离公司A和公司B不同实例的VPN-IPv4路由
[PE1-vpn-instance-vpn_company_B-af-ipv4]quit 
[PE1-vpn-instance-vpn_company_B]quit 


[PE1]int g2/0/0
[PE1-GigabitEthernet2/0/0]ip binding vpn-instance vpn_company_B
[PE1-GigabitEthernet2/0/0]ip ad 203.203.203.1 24

10、在PE2上创建A公司VPN实例并与接口绑定

[PE2]ip vpn-instance vpn_company_A      //PE2定义的公司A实例名称可以与PE1不同。VPNv4私网路由通告范围由vpn-target值决定,与具体的实例名称无关,但建议与PE1配置的公司实例名称相同,避免误解
[PE2-vpn-instance-vpn_company_A]ipv4-family 
[PE2-vpn-instance-vpn_company_A-af-ipv4]route-distinguisher 200:1   //即使将RD值配置为100:1与PE1相同也没关系,RD值仅在本地PE2有效
[PE2-vpn-instance-vpn_company_A-af-ipv4]vpn-target 20:1 both   //同一公司vpn-target值在全局唯一,注意与PE1公司A的vpn-target值一致
[PE2-vpn-instance-vpn_company_A-af-ipv4]quit 
[PE2-vpn-instance-vpn_company_A]quit 


[PE2]int g0/0/1
[PE2-GigabitEthernet0/0/1]ip binding vpn-instance vpn_company_A

[PE2-GigabitEthernet0/0/1]ip ad 202.202.202.1 24  

11、在PE2上创建B公司VPN实例并与接口进行绑定

[PE2]ip vpn-instance vpn_company_B    
[PE2-vpn-instance-vpn_company_B]ipv4-family
[PE2-vpn-instance-vpn_company_B-af-ipv4]route-distinguisher 400:1   
[PE2-vpn-instance-vpn_company_B-af-ipv4]vpn-target 20:2 both   //注意与PE1公司B的vpn-target值一致
[PE2-vpn-instance-vpn_company_B-af-ipv4]quit  
[PE2-vpn-instance-vpn_company_B]quit 


[PE2]int g2/0/0
[PE2-GigabitEthernet2/0/0]ip binding vpn-instance vpn_company_B
[PE2-GigabitEthernet2/0/0]ip ad 204.204.204.1 24
 

 12、CE1与PE1,CE2与PE2建立BGP邻居并通告公司A私网路由

[CE1]bgp 100 
[CE1-bgp]peer 201.201.201.1 as-number 500   /EBGP建立邻居一般采用物理接口
[CE1-bgp]network 192.168.1.0   //只宣告内网。VPNv4路由表只存放VPN内网路由,公网路由存放在IPv4路由表中。所以PE1向PE2通告时,不必告知<202.202.202.0>网段的信息。
 

[PE1]bgp 500
[PE1-bgp]ipv4-family vpn-instance vpn_company_A   //进入实例vpn_company_A实例视图,目的时让PE1建立的VPN实例与CE1的接口IP201.201.201.2建立EBGP邻居关系,从而将CE1宣告的私网路由<192.168.1.0>引入PE1的vpn_company_A VPNv4路由表中,并转变为<100:1:192.168.1.0>
[PE1-bgp-vpn_company_A]peer 201.201.201.2 as-number 100

在CE1查看与CE1建立的BGP邻居状态:

 Establish表示邻居关系已成功建立C

在PE1查看与PE1建立的BGP邻居状态:

查看PE1基于vpn_company_A VPN实例与CE1 IP地址201.201.201.2建立的BGP邻居状态:

display bgp vpnv4 vpn-instance vpn_company_A peer:查看基于VPNv4建立的BGP邻居状态

display bgp peer:查看基于IPv4建立的BGP邻居状态

[CE2]bgp 200
[CE2-bgp]peer 202.202.202.1 as-number 500   
[CE2-bgp]network 192.168.2.0   //宣告内网

[PE2]bgp 500
[PE2-bgp]ipv4-family vpn-instance vpn_company_A 
[PE2-bgp-vpn_company_A]peer 202.202.202.2 as-number 200  //vpn_company_A实例与CE2建立BGP邻居关系

在PE1和PE2查看vpn_company_A实例的vpnv4路由表:

13、相互通告私网路由后,在PE1和PE2查看公司A基于MPLS VPN完整标签路径

验证PC3pingPC4

14、CE3与PE1,CE4与PE2建立BGP邻居并通告公司B私网路由

[CE3]bgp 300  
[CE3-bgp]peer 203.203.203.1 as-number 500
[CE3-bgp]network 192.168.1.0
 

[PE1]bgp 500
[PE1-bgp]ipv4-family vpn-instance vpn_company_B
[PE1-bgp-vpn_company_B]peer 203.203.203.2 as-number 300  //vpn_company_B实例与CE3建立BGP邻居关系

[CE4]bgp 300  
[CE4-bgp]peer 204.204.204.1 as-number 500
[CE4-bgp]network 192.168.2.0

[PE2]bgp 500
[PE2-bgp]ipv4-family vpn-instance vpn_company_B
[PE2-bgp-vpn_company_B]peer 204.204.204.2 as-number 400  //vpn_company_B实例与CE4建立BGP邻居关系

在PE1和PE2查看vpn_company_B实例的VPNv4路由表:

15、相互通告私网路由后,在PE1和PE2查看公司B基于MPLS VPN完整标签路径

验证PC2ping Server2

总结

1)MPLS

【Multi-Protocol Label Switching,多协议标签交换】,是指在数据包中加入Label标签。这个标签加在二层头部与三层头部之间,通过32bits标识(因此MPLS又称2.5层VPN),其中20bits为标签值。

标签的结构如图所示:

标签共有4 个域:
Label:标签值字段,长度为20bits,用于转发的指针。
Exp:优先级,3bits,用于表示0-7优先级字符。
S:栈底标签,1bit,MPLS 支持标签的分层结构,即多重标签。值为1 时表明为最底层标签。反之为0,站地标签用于MPLS嵌套。
TTL:8bits,和IP 分组中的TTL 意义相同,生存周期。

在数据包二层头部和三层头部之间封装标签,转变为MPLS报文。

标签交换路径起点和终点位置固定,称为MPLS隧道。

2)EBGP

1)BGP:Border Gateway Protocol,边界网关协议,运行在自制系统【AS】间的路由协议,主要作用交换域间路由协议;

2 )IBGP:Internel BGP,内部边界网关协议,如果两个交换BGP报文的对等实体属于同一个自治系统,那么这两个对等实体就是IBGP对等实体;

3 )EBGP:Externel BGP,外部边界网关协议,如果两个交换BGP报文的对等实体属于不同的自治系统,那么这两个对等实体就是EBGP对等实体;

4 )IGP: Interior Gateway Protocol内部网关协议,主要作用是发现和计算自治域内的路由信息,包括RIP,OSPF,IS-IS,IGRP等;

5 )EGP:Exterior Gateway Protocol外部网关协议,一种自治系统相邻两个网关之间交换路由信息的协议,BGP是最新的外部网关协议。

AS 自治系统英文全称(autonomous system),意思是一组内部管理下的网络,它们之间共享同一个路由选择方法。它由地区再划分并必须由IANA分配一个单独的16位数字。地区通常连接到其他地区,使用路由器创建一个自治系统。作用就是在运行BGP等外部路由协议时用于区分不同自治系统。

IGP和BGP不能直接比较,因为不是一个层次的,IGP是内部网关协议,对应的是EGP即外部网关协议。IGP分RIP、OSPF等,而BGP只是EGP的一种。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小汐睡着了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值