实验目标:
R9的环回口的私网地址192.168.9.9 能ping通R10的环回口私网地址192.168.10.10 且为最优路径。
接口地址说明:
R1:
注意:R1的g0/0/1地址是绑定实例后的地址。绑定实例会清空原有接口地址,需先用命令dis this 查看。每年IE考试都有同学在这个地方挂掉。
R2:
R3:
R4:
R5:
R6:
R7:
注意:R7的g0/0/1地址是绑定实例后的地址。绑定实例会清空原有接口地址,需先用命令dis this 查看。
R8:
R9:
R10:
步骤1:保证AS内部的IGP路由互通,各个设备的环回口进行ping测试。(为建立IBGP做准备)
R1:
ospf 1 router-id 1.1.1.1
area 0.0.0.0
network 1.1.1.1 0.0.0.0
network 12.1.1.1 0.0.0.0
R2:
ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 12.1.1.2 0.0.0.0
network 23.1.1.2 0.0.0.0
network 24.1.1.2 0.0.0.0
R3:
ospf 1 router-id 3.3.3.3
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 23.1.1.3 0.0.0.0
R4:
ospf 1 router-id 4.4.4.4
area 0.0.0.0
network 4.4.4.4 0.0.0.0
network 24.1.1.4 0.0.0.0
R5:
ospf 1 router-id 5.5.5.5
area 0.0.0.0
network 5.5.5.5 0.0.0.0
network 56.1.1.5 0.0.0.0
R6:
ospf 1 router-id 6.6.6.6
area 0.0.0.0
network 6.6.6.6 0.0.0.0
network 56.1.1.6 0.0.0.0
network 67.1.1.6 0.0.0.0
network 68.1.1.6 0.0.0.0
R7:
ospf 1 router-id 7.7.7.7
area 0.0.0.0
network 7.7.7.7 0.0.0.0
network 67.1.1.7 0.0.0.0
R8:
ospf 1 router-id 8.8.8.8
area 0.0.0.0
network 8.8.8.8 0.0.0.0
network 68.1.1.8 0.0.0.0
配置完成以后检查邻居关系并进行ping测试。命令:dis ospf peer brief
步骤2:在各AS内部运行MPLS-LDP,保证T标隧道的建立(解决路由黑洞)。
R1-8:
mpls lsr-id x.x.x.x \\R1:mpls lsr-id 1.1.1.1
mpls
mpls ldp
#
interface GigabitEthernet0/0/X
mpls
mpls ldp
#在合适的接口上配置
配置完成后检查各设备标签。命令:dis mpls lsp
步骤3:在PE-RR-ASBR1-ASBR2-RR-PE(下图红色连线间的设备)之间建立BGP公网邻居关系(ipv4-family unicast;BGP公网邻居建立才能跨域传路由)。
反射器一般使用对等体组的方式建立邻居,减少配置。注意在undo default ipv4-unicast之后,需要在BGP全局和地址族下两次加组才能激活邻居。
R1:
bgp 100 \\进入bgp
router-id 1.1.1.1 \\配置ID
undo default ipv4-unicast
\\首次配置关闭ipv4-unicast地址族,避免建立不必要的邻居关系。之后按需进行激活
peer 4.4.4.4 as-number 100 \\起邻居
peer 4.4.4.4 connect-interface LoopBack0 \\IBGP邻居用环回口建立邻居
#
ipv4-family unicast \\进入IPv4地址族
peer 4.4.4.4 enable \\在ipv4地址族中激活
R3:
bgp 100
router-id 3.3.3.3
undo default ipv4-unicast
peer 4.4.4.4 as-number 100
peer 4.4.4.4 connect-interface LoopBack0
peer 35.1.1.5 as-number 200
#
ipv4-family unicast
peer 4.4.4.4 enable
peer 4.4.4.4 next-hop-local
\\R3是边界,将来要在R3上发布1.1.1.1/32;4.4.4.4/32的路由,提前配置下一跳为本地
peer 35.1.1.5 enable
R4:
bgp 100
router-id 4.4.4.4
undo default ipv4-unicast
group ibgp \\建立组,命名ibgp
peer ibgp connect-interface LoopBack0
peer 1.1.1.1 as-number 100 \\加组自动产生
peer 1.1.1.1 group ibgp \\把1.1.1.1全局加组,自动产生上一条命令
peer 3.3.3.3 as-number 100 \\加组自动产生
peer 3.3.3.3 group ibgp \\把3.3.3.3全局加组,自动产生上一条命令
#
ipv4-family unicast
peer ibgp enable \\激活组
peer ibgp reflect-client \\设置成为反射器
peer 1.1.1.1 enable \\自动产生
peer 1.1.1.1 group ibgp \\把1.1.1.1在地址族下再次加组
peer 3.3.3.3 enable \\自动产生。
peer 3.3.3.3 group ibgp \\把3.3.3.3在地址族下再次加组
R5:
bgp 200
router-id 5.5.5.5
undo default ipv4-unicast
peer 8.8.8.8 as-number 200
peer 8.8.8.8 connect-interface LoopBack0
peer 35.1.1.3 as-number 100
#
ipv4-family unicast
peer 8.8.8.8 enable
peer 8.8.8.8 next-hop-local
\\因为R5是边界,将来要在R3上发布7.7.7.7/32;8.8.8.8/32的路由,这里提前修改下一跳为本地保证路由可达
peer 35.1.1.3 enable
R7:
bgp 200
router-id 7.7.7.7
undo default ipv4-unicast
peer 8.8.8.8 as-number 200
peer 8.8.8.8 connect-interface LoopBack0
#
ipv4-family unicast
peer 8.8.8.8 enable
R8:
bgp 200
router-id 8.8.8.8
undo default ipv4-unicast
group ibgp
peer ibgp connect-interface LoopBack0
peer 5.5.5.5 as-number 200
peer 5.5.5.5 group ibgp
peer 7.7.7.7 as-number 200
peer 7.7.7.7 group ibgp
#
ipv4-family unicast
peer ibgp enable
peer ibgp reflect-client
peer 5.5.5.5 enable
peer 5.5.5.5 group ibgp
peer 7.7.7.7 enable
peer 7.7.7.7 group ibgp
配置完成之后使用dis bgp peer 检查各设备的邻居关系。
步骤4:在asbr上使用bgp发布AS内的RR和PE的环回口路由。
(RR的路由是为了和对端RR将来建立v4邻居,PE的路由是为了 将来和对端PE建立隧道)。
发布完成后,检查各BGP设备是否收到公网路由。
R3:
bgp 100
net 1.1.1.1 32 \\发布1.1.1.1/32的路由是为了R1/R7收路由
net 4.4.4.4 32 \\发布4.4.4.4/32的路由是为了R4/R8建立v4邻居
R5:
bgp 200
net 7.7.7.7 32 \\发布7.7.7.7/32的路由是为了R1/R7收路由
net 8.8.8.8 32 \\发布8.8.8.8/32的路由是为了R4/R8建立v4邻居
配置完成后使用 dis bgp routing-table 检查各设备是否收到路由。
到这一步,虽然有路由但R1与R7;R4与R8之间还是ping 不通(没有标签隧道,不能跨域)
步骤5:在asbr上配置方式一的策略p1 p2,检查两个AS之间发布的公网bgp路由都分配到了GBP LSP标签。
R3/R5:
route-policy p1 permit node 10 \\建立名为p1路由策略
apply mpls-label \\产生标签
#
route-policy p2 permit node 10 \\建立名为p2路由策略
if-match mpls-label \\如果收到带标签的路由
apply mpls-label \\就再次产生新的标签
R3:
bgp 100
ipv4-family unicast
peer 4.4.4.4 route-policy p2 export \\发给4.4.4.4的时候使用p2路由策略
peer 4.4.4.4 label-route-capability \\发给4.4.4.4的时候开启标签功能
peer 35.1.1.5 route-policy p1 export \\发给35.1.1.5的时候使用p1路由策略
peer 35.1.1.5 label-route-capability \\发给35.1.1.5的时候开启标签功能
R5:
bgp 200
ipv4-family unicast
peer 8.8.8.8 route-policy p2 export \\发给8.8.8.8的时候使用p2路由策略
peer 8.8.8.8 label-route-capability \\发给8.8.8.8的时候开启标签功能
peer 35.1.1.3 route-policy p1 export \\发给35.1.1.3的时候使用p1路由策略
peer 35.1.1.3 label-route-capability \\发给35.1.1.3的时候开启标签功能
R4:
bgp100
ipv4-family unicast
peer ibgp label-route-capability \\发给组成员开启标签功能
R8:
bgp200
ipv4-family unicast
peer ibgp label-route-capability \\发给组成员开启标签功能
R1:
bgp 100
ipv4-family unicast
peer 4.4.4.4 label-route-capability \\发给4.4.4.4的时候开启标签功能
R7:
bgp 200
ipv4-family unicast
peer 8.8.8.8 label-route-capability \\发给8.8.8.8的时候开启标签功能
配置完成后在各设备上检查bgp lsp 。命令:dis mpls lsp。
到此标签隧道打通,R1与R7;R4与R8可以互相ping通
步骤6:在PE-RR-RR-PE之间建立v4邻居关系,下图黑色连线间的设备(给R9与R10私网通信做准备)。
此时反射器起到收集本AS内v4路由的作用,然后传递给对端反射器(RR),并非反射。
R1:
bgp 100
ipv4-family v4
peer 4.4.4.4 enable
R4:
bgp 100
peer 8.8.8.8 as-number 200
peer 8.8.8.8 ebgp-max-hop 255 \\修改跳数为255,默认跳数为1
peer 8.8.8.8 connect-interface LoopBack0
#
ipv4-family v4
peer 8.8.8.8 enable
peer ibgp enable
peer ibgp reflect-client \\在v4地址族下把R4设为反射器,为将来做准备
peer 1.1.1.1 enable \\加组自动产生
peer 1.1.1.1 group ibgp \\将1.1.1.1加入组(只加1.1.1.1 不加3.3.3.3)
R8:
bgp 200
peer 4.4.4.4 as-number 100
peer 4.4.4.4 ebgp-max-hop 255 \\修改跳数为255,默认跳数为1
peer 4.4.4.4 connect-interface LoopBack0
#
ipv4-family v4
peer 4.4.4.4 enable
peer ibgp enable
peer ibgp reflect-client \\在v4地址族下把R8设为反射器,为将来做准备
peer 7.7.7.7 enable \\加组自动产生
peer 7.7.7.7 group ibgp \\将7.7.7.7加入组
R7:
bgp 200
ipv4-family v4
peer 8.8.8.8 enable
配置完成后检查各相关设备的v4邻居关系。命令:dis bgp v4 all peer
步骤7:CE和PE之间运行路由协议,发布私网路由。
R1:
ip -instance 9 \\创建实例9
route-distinguisher 9:9 \\RD值9:9 (区分实例)
-target 9:10 export-extcommunity \\RT值 9:10 发
-target 10:9 import-extcommunity \\RT值 10:9 收,与R7的RT值成对应关系
interface GigabitEthernet0/0/1
ip binding -instance 9 \\接口绑定实例9
ip address 192.168.1.1 255.255.255.0
bgp 100
ipv4-family -instance 9
peer 192.168.1.9 as-number 9 \\在实例下和CE起邻居
R7:
ip -instance 10 \\创建实例10
route-distinguisher 10:10 \\RD值10:10 (区分实例)
-target 10:9 export-extcommunity \\RT值10:9 发
-target 9:10 import-extcommunity \\RT值 9:10 收,与R1的RT值成对应关系
interface GigabitEthernet0/0/1
ip binding -instance 10 \\接口绑定实例10
ip address 192.168.7.7 255.255.255.0
bgp 200
ipv4-family -instance 10
peer 192.168.7.10 as-number 10 \\在实例下和CE起邻居
R9:
bgp 9
router-id 192.168.9.9
peer 192.168.1.1 as-number 100
network 192.168.9.9 255.255.255.255 \\发布私网路由
R10:
bgp 10
router-id 192.168.10.10
peer 192.168.7.7 as-number 200
network 192.168.10.10 255.255.255.255 \\发布私网路由
步骤8:在RR上undo policy -targer(无需RT值也能收v4路由)
(此时,PE收到的路由下一跳在反射器上,不是最佳路径)
R4:
bgp 100
ipv4-family v4
undo policy -target
R8:
bgp 200
ipv4-family v4
undo policy -target
完成配置检查路由。命令:dis bgp v4 all rou
步骤9:当RR将路由发送给对端RR与AS内的PE时,都需要使用不修改下一跳策略,使得PE收到的路由下一跳在对端PE上,从而可以递归到BGP LSP中,实现最短路径。
R4:
bgp 100
ipv4-family v4
peer 8.8.8.8 next-hop-invariable \\发给对端RR时不修改下一跳
peer ibgp next-hop-invariable \\发给AS内的PE时不修改下一跳
R8:
bgp 200
ipv4-family v4
peer 4.4.4.4 next-hop-invariable
peer ibgp next-hop-invariable
完成配置检查路由,确认是最佳路径。命令:dis bgp v4 all rou
确认192.168.9.9 的下一跳在 1.1.1.1;192.168.10.10的下一跳在7.7.7.7。
步骤10:查表的命令:
dis fib -instance 9 192.168.10.10 verbose //V B T标会以各种形式储存,不是很方便查看。
dis bgp v4 all routing-table label //直接查看路由的V标签。
dis mpls lsp //查看BGP LSP就是B标签,也就是PE-PE的公网隧道。
dis fib 7.7.7.7 //查看到达对端PE的fib,可以看到隧道ID。
dis tunnel info tunnel-id 0*3 //通过查看隧道ID,可以看到LDP产生的T标隧道,到达本AS的边界。
步骤11:确认R9与R10私网通信正常,且是最佳路径。