目录
3、OSPF配置完成后,在路由器P1和P2查看邻居关系neighbor id
5、在处于LSP路径上的四个路由器上开启LDP标签自动分发协议
6、验证LSP路径上四个路由器LDP会话状态Operational
7、查看MPLS标签转发表和标签转发路径Replier、Downstream
12、CE1与PE1,CE2与PE2建立BGP邻居并通告公司A私网路由
13、相互通告私网路由后,在PE1和PE2查看公司A基于MPLS VPN完整标签路径
14、CE3与PE1,CE4与PE2建立BGP邻居并通告公司B私网路由
15、相互通告私网路由后,在PE1和PE2查看公司B基于MPLS VPN完整标签路径
目的
掌握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:1VRP:(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的一种。