近日,收到某学弟的私信,发了下面两张图,我估计是课后作业,叫我帮他看看,题目如下:
1解题思路
拿到任何题目,做任何事情,建议先整理思路,思路出来了,再一步一步去解决就好了。
1、先按给出的拓扑图,搭好ensp环境;
2、先配置好各个设备的设备名、router id、直连接口ip、loopback接口ip等。
3、再跟题目配置好相应的路由协议;
4、再跟每个需求去完成相应的配置。
2基础配置
步骤1-2
省略,像这些修改设备名、配置ip地址都是很基础的,若还有不会的,可参考往期其他文章或查阅相关书籍。(或者点击“阅读原文”,下载配置文件。)
步骤3 配置好相应的路由协议
R4和R5运行OSPF,配置如下:
R4:
[R4]ospf
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]net 40.1.1.4 0.0.0.0
[R4-ospf-1-area-0.0.0.0]net 4.4.4.4 0.0.0.0
[R4-ospf-1-area-0.0.0.0]net 20.1.1.4 0.0.0.0
[R4-ospf-1-area-0.0.0.0]
R5:
[R5]ospf
[R5-ospf-1]area 0
[R5-ospf-1-area-0.0.0.0]net 5.5.5.5 0.0.0.0
[R5-ospf-1-area-0.0.0.0]net 10.1.1.1 0.0.0.0
[R5-ospf-1-area-0.0.0.0]net 40.1.1.5 0.0.0.0
[R5-ospf-1-area-0.0.0.0]net 70.1.1.5 0.0.0.0
[R5-ospf-1-area-0.0.0.0
配置完,查看一下OSPF邻居表:
R1、R2、R3运行IS-IS,R1为level 1,R2为level1-2,R3位level 2.
R1配置:
[R1]isis 1
[R1-isis-1]is-level level-1
[R1-isis-1]network-entity 49.0001.0000.0000.0001.00
[R1-isis-1]qu
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]isis enable 1
[R1-GigabitEthernet0/0/1]
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]isis enable 1
[R1-GigabitEthernet0/0/0]
[R1]int lo 0
[R1-LoopBack0]isis enable
R2配置:
[R2]isis 1
[R2-isis-1]is-level level-1-2 //可以配置这条命令,默认就是L1/2
[R2-isis-1]network-entity 49.0001.0000.0000.0002.00
[R2-isis-1]qu
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]isis enable 1
[R2-GigabitEthernet0/0/0]qu
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]isis enable 1
[R2-GigabitEthernet0/0/1]qu
[R2]int lo 0
[R2-LoopBack0]isis enable
R3配置:
[R3]isis
[R3-isis-1]is-level level-2
[R3-isis-1]network-entity 49.0001.0000.0000.0003.00
[R3-isis-1]qu
[R3]INT G0/0/0
[R3-GigabitEthernet0/0/0]isis enable
[R3-GigabitEthernet0/0/0]quit
[R3]int lo 0
[R3-LoopBack0]isis enable
在R2查看一下ISIS邻接表:
3解决需求
需求1
运行BGP,邻居关系建议如下:
R4分别于R5、R1建议邻居关系;R3分别和R1、R6建议邻居关系,R5和R6建立邻居关系。(R2无任何BGP邻居)
R4配置:
[R4]bgp 100
[R4-bgp]peer 5.5.5.5 as-number 100
[R4-bgp]peer 5.5.5.5 connect-interface lo 0
[R4-bgp]peer 20.1.1.1 as-number 200
R5配置:
[R5]bgp 100
[R5-bgp]peer 4.4.4.4 as-number 100
[R5-bgp]peer 4.4.4.4 connect-interface lo 0
[R5-bgp]peer 70.1.1.6 as-number 300
R1配置:
[R1]bgp 200
[R1-bgp]peer 20.1.1.4 as-number 100
[R1-bgp]peer 3.3.3.3 as-number 200
[R1-bgp]peer 3.3.3.3 next-hop-local
[R1-bgp]peer 3.3.3.3 connect-interface LoopBack0
R3配置:
[R3]bgp 200
[R3-bgp]peer 1.1.1.1 as-number 200
[R3-bgp]peer 1.1.1.1 connect-interface LoopBack0
[R3-bgp]peer 1.1.1.1 next-hop-local
[R3-bgp]peer 60.1.1.6 as-number 300
R6配置:
[R6]bgp 300
[R6-bgp]peer 60.1.1.3 as-number 200
[R6-bgp]peer 70.1.1.5 as-number 100
[R6-bgp
查看一下BGP邻居情况:
R4、R3、R6上查看即可:
R1与R3的bgp 邻居还没起来,暂时不用管,再后面的需求里解决。
需求2
R6将6.6.6.6/32的路由采用network的方式进入BGP中;
R4将10.1.1.1/32的OSPF路由引入到BGP中,并且路由引入时不能引入其他的OSPF路由。
第1个问题,比较简单,照着需求配即可。
第2个问题,使用ACL,再使用route-policy,引入的时候再关联一下route-policy即可。
R6没引入之前,我们先再其他路由器查看一下bgp路由:
R5查看:
R1查看:
R3查看:
现在,我们开始在R6配置:
[R6]bgp 300
[R6-bgp]network 6.6.6.6 32
[R6-bgp]
我们在其他路由器再次查看bgp路由:
接下来,我们来完成R4上OSPF路由引入到BGP中:
[R4]acl 2001
[R4-acl-basic-2001]rule permit source 10.1.1.1 0
[R4-acl-basic-2001]qu
[R4]route-policy o2b permit node 10
[R4-route-policy]if-match acl 2001
[R4-route-policy]qu
[R4]bgp 100
[R4-bgp]import-route ospf 1 route-policy o2b
[R4-bgp]
在R1上查看bgp路由,可以看到收到R4 引入的10.1.1.1/32的OSPF路由,其他OSPF路由没有被引入。
需求3
在R1、R2、R3建议MPLS域,将Level-2区域的3.3.3.3 路由引入到level1区域。
建议MPLS域,我这里使用LDP来建立标签,为了使用loopback互通,我先把level2区域的路由引入level1.
没引入之前,先在R1上查看是否有3.3.3.3的路由:
在R2配置:
[R2]acl
[R2]acl 2001
[R2-acl-basic-2001]rule permit source 3.3.3.3 0
[R2-acl-basic-2001]qu
[R2]route-policy 2t1 permit node 10
[R2-route-policy]if-match acl 2001
[R2-route-policy]qu
[R2]isis
[R2-isis-1]import-route isis level-2 into level-1
[R2-isis-1]
现在来R1上看看是否有3.3.3.3的路由了:
接下来开始配置MPLS域:
R1配置:
[R1]mpls lsr-id 1.1.1.1
[R1]mpls
Info: Mpls starting, please wait... OK!
[R1-mpls]qu
[R1]mpls ldp
[R1-mpls-ldp]qu
[R1]int g0/0/1
[R1-GigabitEthernet0/0/1]mpls
[R1-GigabitEthernet0/0/1]mpls ldp
R2配置:
[R2]mpls lsr-id 2.2.2.2
[R2]mpls
Info: Mpls starting, please wait... OK!
[R2-mpls]qu
[R2]mpls ldp
[R2-mpls-ldp]qu
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]mpls
[R2-GigabitEthernet0/0/0]mpls ldp
[R2]int g0/0/1
[R2-GigabitEthernet0/0/1]mpls
[R2-GigabitEthernet0/0/1]mpls ldp
R3配置:
[R3]mpls lsr-id 3.3.3.3
[R3]mpls
Info: Mpls starting, please wait... OK!
[R3-mpls]qu
[R3]mpls ldp
[R3-mpls-ldp]qu
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]mpls
[R3-GigabitEthernet0/0/0]mpls ldp
[R3-GigabitEthernet0/0/0]
查看一下LDP会话:
需求4
在R6上通过修改本地优先级属性让R6访问10.1.1.1走R3不走R5。
修改之前,我们测试一下,是真的走R5吗?
原因是去往10.1.1.1 ,下一跳70.1.1.5是最优的,所以没有选择60.1.1.3
题目要求只能在R6上修改本地优先级,所以可以使用route-policy:
R6配置:
[R6]acl 2001
[R6-acl-basic-2001]rule permit source 10.1.1.1 0
[R6-acl-basic-2001]qu
[R6]route-policy 10route permit node 10
[R6-route-policy]if-match acl 2001
[R6-route-policy]apply local-preference 1000
[R6-route-policy]qu
[R6]
[R6]bgp 300
[R6-bgp]peer 60.1.1.3 route-policy 10route import
[R6-bgp]
现在,我们来查看R6的BGP路由,关于10.1.1.1的路由。
下一跳变成60.1.1.3,优先级也修改了,变成1000,优先级越高越优先。
那我们来尝试trace一下:
你们会发现,不通。
这个问题在下一个需求解决。
需求5
R6 ping 10.1.1.1 走R3不通,是因为存在BGP路由黑洞,因为R2没有参与BGP,无BGP邻居,目前已经有MPLS域了,我们只需一条命令就可以用MPLS解决BGP路由黑洞了。
R1配置:
[R1]route recursive-lookup tunnel
R2配置:
[R2]route recursive-lookup tunnel
R3配置:
[R1]route recursive-lookup tunnel
上面这条命令就是:配置了该特性后,上述路由将优先迭代到LSP隧道,如果没有LSP隧道,上述路由也可以迭代到出接口和下一跳。
另外再R3配置的bgp network 60.1.1.0,让AS 100能学习到:
[R3]bgp 200
[R3-bgp]network 60.1.1.0 24
[R3-bgp]
现在,我们在R6测试一下,去往10.1.1.1 是否可达了?
ok,这个需求也算解决了,最后记得保存一下。