路由交换网络专题 | 第六章 | OSPF | BGP | BGP属性 | 防环机制
目录
拓扑图
(1)AS 400 内部使用 OSPF 路由协议,使 PC2 访问 PC3 的路径优先选择 AR2-AR4-AR3。
(2)AS 400 内部使用 RIP 路由协议,使 PC2 访问 PC3 的路径优先选择 AR2-AR4-AR3。
(3)AR4 分别与 AR2 和 AR3 建立 IBGP 邻居,AR2 与 AR3 之间不允许建立 IBGP 邻居,则保证 AR1 与 AR3 的链路断开时,AR3 仍然可以访问 100.1.3.0,需要在 AR4 上配置什么命令。
(4)PC1 使用公网 IP 地址,PC2 与 PC4 使用私网 IP 地址,保证 AR2 或 AR3 只可以通告公网 IP 地址段,需要如何配置。
(5)保证 100.1.3.0/24 网段只能通告给 AS 400 区域,不能通告给 AS 100 和 AS 200,解决方案是什么。
(6)保证 100.1.2.0/24 网段需要通过 AS 300 作为中转区域,传递到 AS 100 的 AR5,解决方案是什么。
拓扑图
(1)AS 400 内部使用 OSPF 路由协议,使 PC2 访问 PC3 的路径优先选择 AR2-AR4-AR3。
-
通过修改OSPF的cost值,修改中间链路的cost值(修改两个路由学习方向的入接口)。
// 对AR2,AR3的G2/0/2接口进行修改
[AR2-GigabitEthernet2/0/2]ospf cost 10[AR3-GigabitEthernet2/0/2]ospf cost 10
(2)AS 400 内部使用 RIP 路由协议,使 PC2 访问 PC3 的路径优先选择 AR2-AR4-AR3。
-
影响RIP的选路,去修改他的跳数。
[AR2-GigabitEthernet2/0/2]rip metricin 5 // metriin相当于ospf的cost值;修改为5跳
-
当然左边的设备学到的路由也是需要更改cost值,使得来回路劲一致。
[AR3-GigabitEthernet2/0/2]rip metricin 5
-
也可以使用
metricout
修改,和metricin
计算方式有所不同。
(3)AR4 分别与 AR2 和 AR3 建立 IBGP 邻居,AR2 与 AR3 之间不允许建立 IBGP 邻居,则保证 AR1 与 AR3 的链路断开时,AR3 仍然可以访问 100.1.3.0,需要在 AR4 上配置什么命令。
-
分析:因为从一个IBGP学到的路由,不能再传给下一个IBGP。所以AR3正常情况下是收不到AR2的路由,需要在AR4上配置反射器。
[AR1-bgp]network 100.1.3.0 24 // 再我们的AR1上记得宣告// 在AR4查看我们的bgp路由表,发现有两条路径
[AR4]dis bgp routing-table BGP Local router ID is 24.1.1.4 Status codes: * - valid, > - best, d - damped,h - history, i - internal, s - suppressed, S - StaleOrigin : i - IGP, e - EGP, ? - incompleteTotal Number of Routes: 2Network NextHop MED LocPrf PrefVal Path/Ogn*>i 100.1.3.0/24 24.1.1.2 0 100 0 300i* i 34.1.1.3 0 100 0 300i
-
但是在AR3和AR2上是只有一条路径的,因为中间没有反射器是接收不到另一边的路由的。
// 在AR4上配置反射器
[AR4-bgp]peer 24.1.1.2 reflect-client
[AR4-bgp]peer 34.1.1.3 reflect-client
-
在AR3上发现已经可以从24.1.1.2上学来路由了。
-
此时断开AR1与AR3之间的链路,发现ping 100.1.3.0网段还是不通,缺少回来的路由,需要在AR4上面宣告34网段(宣告给AR4身后的网段)
[AR4-bgp]network 34.1.1.0 2
(4)PC1 使用公网 IP 地址,PC2 与 PC4 使用私网 IP 地址,保证 AR2 或 AR3 只可以通告公网 IP 地址段,需要如何配置。
有两种方式,第一种是路由引入,但是开始RIP全部都宣告了,这样会把私有地址都宣告进去,虽然可以做路由过滤但是非常麻烦。
第二种方式就直接使用BGP路由的宣告方式,直接仅宣告60.1.1.0的网段。
(5)保证 100.1.3.0/24 网段只能通告给 AS 400 区域,不能通告给 AS 100 和 AS 200,解决方案是什么。
可以在AR5,AR6做路由过滤
做BGP团体属性限制
[AR2]acl 2000
[AR2-acl-basic-2000]rule permit source 100.1.3.0 0.0.0.255[AR2]route-policy 1 permit node 1
[AR2-route-policy]if-match acl 2000
[AR2-route-policy]apply community no-expert // 不给EBGP通告路由
[AR2]route-policy 1 permit node 2 // 如果没有空的列表,除了ACL匹配的路由外都会被过滤掉,所以需要配置空列表// BGP中调用;调用之后,AR5上发现就没有路由条目了。
[AR2-bgp]peer 12.1.1.1 route-policy 1 import
// 在AR3上作同样操作,AR5就会有效果
(6)保证 100.1.2.0/24 网段需要通过 AS 300 作为中转区域,传递到 AS 100 的 AR5,解决方案是什么。
有时候需要中转,网络需要被中转学习到。从AR3-AR1-AR2路径走。
可以在AR2上对着AR4增加AS_Path长度来影响我们选路:(注意:在AR3 上做是没有用的)
[AR2]acl 2001 [AR2-acl-basic-2001]rule permit source 100.1.2.0 0.0.0.255[AR2]route-policy 2 permit node 1 [AR2-route-policy]if-match acl 2001 [AR2-route-policy]apply as-path 500 600 // 增加as号 [AR2]route-policy 2 permit node 2[AR2]bgp 400 [AR2-bgp]peer 24.1.1.2 route-policy 2 import
做了以上配置后发现还是不能走上面,因为EBGP防环机制的问题,走上面会携带AS号200,400,300,400;会有重复的AS号,会抛弃掉这个数据。
但是可以做一个接收带有重复AS号的路由;由于上面的设置,这样就可以优先接收来自AR1的路由了。
[AR2-bgp]peer 12.1.1.1 allow-as-loop // 这是AR2可以接受带重复AS号的路由// 如果路由都从上面通过,AR3同样配置,上面的route-policy同样配置 [AR3-bgp]peer 13.1.1.1 allow-as-loop
ping -a 加上源地址