BGP实验 ☞配置IBGP与EBGP

网友投稿 1105 2022-09-25

BGP实验 ☞配置IBGP与EBGP

BGP实验 ☞配置IBGP与EBGP

BGP实验 之☞配置IBGP与EBGP

BGP经典总结:(谢谢:[url]179端口通信,可靠性由TCP进行控制,因为BGP的路由表一般来说都很大,所以使用TCP利用窗口滑动技术可以提高传输效率,这一点不同于EIGRP、OSPF这样的IGP协议,后者使用1-1的确认方式,效率低下。BGP存活消息每隔60秒发一次,保持时间180秒。BGP必须手工指定邻接关系,BGP邻接关系分为内部邻居(处于同一AS中),内部邻居之间可以跨越多个路由器,默认TTL跳数为255,所以无需额外使用多跳属性;外部邻居(不同的AS中),一般来说外部邻居都是直连的邻居,因为这样通过直连或者静态路由就可以到达对方,如果不是直连,则需要有本地路由配合确保能够到达对方,而且必须明确设置多跳属性,因为外部BGP邻居默认跳为1跳,配置方法:neighbor ip ebgp-multihop num。BGP定义的属性:公认强制属性:1。AS路径 2。下一跳 3。源头 这些都是必须被传播的。公认自由:1。本地优先级 2。原子聚合(告诉邻接AS,始发路由器对路由进行了聚合)可选船体:1。聚合站 2。共同体可选非传递:MED(多出口鉴别器)CISCO私有还多了一个:权重BGP使用AS路径属性,每个BGP路由都携带这样的路径列表,BGP拒绝列表中包含自己AS的路径,这样确保无环路。下一跳属性:从EBGP学习到路由条目,在传播给IBGP时候,默认保持下一跳不变,这里的下一跳是进入下一个AS的边界路由器的接口IP,因此在AS内的路由,如果要到下一个AS,它就要首先查找BGP表,从BGP表里发现要通过的下一跳,所以IP路由表中必须要有到达下一跳的路由信息,否则下一跳不可达的BGP路由是不会被装入路由表的。如果AS内的路由器没办法获得到达下一跳的路径信息,那就应该使用next-hop-self属性(修改下一跳)。对于多路访问网络第三方下一跳会自动修正下一跳为最合适的接口(但是NBMA情况下,第三方下一跳有时会出问题)。BY:[url]default local-preference num来修改,越大越好。可以在neighbor ip  remote-as num后跟上route-map name in,在IN方向上对不同的外部网络设置不同的本地优先级,这样本地AS到达不同的外部网络时可以选择不同的出口。这里需要注意,为了影响自己AS到达外部网络,所以外部网络在从不同的外部邻居学习进来的时候就要在各自的IN方向设置本地优先级,这样本地BGP表里才会是通过不同的接口有不同的本地优先级别。权重属性:CISCO私有的,只对当前路由器有效,影响数据出方向,权重越大越好,可以使用neighbor ip remote-as num weight num让权重与外部邻居挂钩,从而让一个路由器有多个到外部AS出口时选择最大的一个。MED属性:在自己AS内定义,影响外部AS数据进来,这是唯一一个影响数据入方向的属性,正因为是影响数据入方向,所以MED作的工作是传播给邻接AS,让邻接AS根据不同的MED选择不同的出路。因此在使用route-map作为neighbor命令的参数时候要使用OUT方向(影响别人从而达到影响自己的目的)。全局修改MED在BGP进程下使用default-metric num.BGP水平分割原则:从IBGP学到的不应该在传播给下一个IBGP(学习的IBGP除外)。正是由于此,IBGP之间需要进行全互连,这样才能确保各个IBGP都能学习到外部BGP路由。BGP同步规则:BGP规定,BGP路由器不会将通过IBGP学习到路由发送给EBGP(但是会装入BGP表,但不是最优路径,所以不会发给别人),除非这个路由在IGP中有获悉,即只有当IGP与IBGP都有到达某个网络的路由时,这个BGP路由才能发送给EBGP(从外部学到的BGP路由必须在IGP中也存在对应的路由,这就要求将外部BGP重分发到IGP中,一般来说这种情况不可能,外部BGP路由太大了)。本来这个规则是为了防止路由黑洞的,但是却带来了一个麻烦,即一旦IGP里路由与BGP的不同步,路由就不能正常被使用。因此现在的ISP网络大都是在AS内实行全互连,且同时都运行BGP,这样就可以关闭同步。指定BGP邻居的方法:neighbor 邻居IP、对等体组名 remote-as AS号设置对等体组方法:neighbor 对等体组名 peer-group加入对等体组方法:neighbor 对等体IP peer-group 对等体组名BGP对对等体独特要求:BGP的路由更新源地址一定要是和指定邻居中的IP一致。因此如果使用环回地址作为对等体IP,那么就需要配上neighbor 对等体IP(环回) remote-as update-source 环回地址.外部对等体最需要注意的就是多跳问题,见上面总结,同时也必须确保这个跳是可达的。=============一个范例============router bgp 65111neighbor 1.1.1.1 remote-as 65111  (内部邻居,使用的对等体IP是个对方的环回地址)neighbor 1.1.1.1 update-source loopback0 (指定更新源是自己的环回地址)neighbor 1.1.1.1 next-hop-self (修改下一跳)neighbor 2.2.2.2 remote-as 65222 (外部邻居,也使用对方环回接口)neighbor 2.2.2.2 ebgp-multihop 2 (设置多跳,跳数2)neighbor 2.2.2.2 update-source loopback 0 (指定更新源是自己的环回地址)ip route 2.2.2.2 255.255.255.255  172.16.31.2(设置到达外部邻居环回接口的路由,否则邻居关系起不来) 重置BGP绘画,因为BGP一般运算很占资源,所以一般不能轻易使用clear ip bgp * ,一般应带上soft in或者soft out参数。BGP邻居的状态:1。IDLE2。CONNECT3。ACTIVE4。OPEN SENT5。OPEN CONFIRM6。Established只有在已建立状态后,路由器才相互发送路由信息。空闲状态表示路由器还不知道如何前往邻居,如果一直是这个状态,要检查邻居配置以及1、2层连通性,检查有无到达对方的网络。活动状态表明,它已经找到邻居,并发送了打开分组,但还未得到响应。如果长时间这个状态,检查邻居是配置了正确的邻接关系和检查链路是否是单向链路,或检查对方有无回来的路。CISCO路由器对BGP条目的选择标准:(BGP只选一个最好的路径加入路由表)1。权重最大的(当前路由器有效)2。本地优先级最高的(AS内有效)3。当前路由器通告的(next hop=0.0.0.0)4。AS PATH最短的5。源头编码最小的(igp best, i - internalOrigin codes: i - IGP, e - EGP, ? - incomplete   Network          Next Hop            Metric LocPrf Weight Path*> 172.16.0.0       0.0.0.0                  0         32768 i结果:正常宣告.前提:未关闭汇总,宣告的是主类,IP表中有主类的子网存在.===================================================================case3:   router bgp 1   network 172.16.0.0   ip route 172.16.0.0 255.255.0.0 null 0r3-2514#sh ip bgpBGP table version is 1, local router ID is 3.3.3.3Status codes: s suppressed, d damped, h history, * valid, > best, i - internalOrigin codes: i - IGP, e - EGP, ? - incomplete   Network          Next Hop            Metric LocPrf Weight Path*  172.16.0.0       0.0.0.0                  0         32768 i结果:宣告进去,(特殊:变成最优要等很长时间).前提:未关闭自动汇总,宣告的是主类,IP路由表有精确匹配,但无子网路由.=================================================================case4:  router bgp 1  network 172.16.10.0r3-2514#sh ip bgp   结果:宣告不进去, 前提:宣告172.16.10.0且不带MASK,没有配置子网路由和精确匹配.=================================================================case5:   router bgp 1   network 172.16.10.0   ip route 172.16.10.0 255.255.255.0 null 0r3-2514#sh ip bgp结果:宣告不进去,前提:宣告172.16.10.0不带MASK,配置精确匹配.==================================================================case6:   router bgp 1   network 172.16.10.0   ip route 172.16.10.0 255.255.255.252 null 0    结果:宣告不进去.前提:宣告的是172.16.10.0 不带mask,IP路由表中有它的子网路由. 总结:未关闭自动汇总时,使用主类网络通告(不带MASK),同时IP表中存在至少一条子网路由(或精确匹配的).=======================================================================case7 :     router bgp 1    no auto-summary     network 172.16.0.0     ip route 172.16.10.0 255.255.255.0 null 0r3-2514#sh ip bgp结果:宣告不进去.前提:关闭自动汇总,宣告主类,有子网路由.========================================================================case8:     router bgp 1    no auto-summary     network 172.16.0.0     ip route 172.16.0.0 255.255.0.0 null 0r3-2514#sh ip bgp BGP table version is 2, local router ID is 3.3.3.3Status codes: s suppressed, d damped, h history, * valid, > best, i - internalOrigin codes: i - IGP, e - EGP, ? - incomplete   Network          Next Hop            Metric LocPrf Weight Path*> 172.16.0.0       0.0.0.0                  0         32768 i结果:正常宣告.前提:关闭自动汇总,宣告主类,IP路由表有完全匹配路由.==========================================================================case9:   router bgp 1   no auto-summary   network 172.16.0.0或net 172.16.10.0   ip route 172.16.10.0 255.255.255.0 null 0r3-2514#sh ip bgp结果:宣告不进去.前提:关闭自动汇总,宣告172.16.10.0或172.16.0.0,IP路由表有完全匹配路由.===========================================================================case10:     router bgp 1    no auto-summary     network 172.16.10.0     ip route 172.16.0.0 255.255.0.0 null 0r4-2501#sh ip bgp结果:宣告不进去.总结:关闭汇总,只能通告分类网络(不带mask),且必须要求宣告的网络与IP路由表的条目要完全匹配.============================================================================2。如果命令中带掩码,那么IP路由表中必须存在有一条与该通告命令完全一样(网络号和掩码都要相同)的路由,否则不会通告该网络。关于BGP宣告方面文章看这里:[url]bgp 65111network 192.168.0.0network 192.168.1.0network 192.168.2.0network 192.168.3.0这样的宣告可以改成这样汇总:ip route 192.168.0.0 255.255.255.252 null 0router bgp 65111network 192.168.0.0 255.255.252.0利用aggregate-address汇总BGP路由:这是汇总BGP表里路由的命令,它只聚合已经存在于BGP表中的网络。它在汇总后会自动增加一条指向空接口的路由到路由表中。aggregate-address ip地址 掩码 summary-only|as-set参数summary-only表示只通告汇总路由出去,默认是汇总+具体路由一起出去的。as-set表示在聚合路由的的AS路径属性字段里填上所有具体路由中包含的那些AS号,否则只包含执行聚合的AS的号。本文来自ChinaUnix博客,如果查看原文请点:[url]run | b router bgprouter bgp 100 no synchronization bgp log-neighbor-changes network 172.16.0.0 mask 255.255.255.0 network 172.16.1.0 mask 255.255.255.0 neighbor 2.2.2.2 remote-as 100 neighbor 2.2.2.2 update-source Loopback100 no auto-summary!ip classlessip route 2.2.2.0 255.255.255.0 172.16.255.2ip server!!

R2#show run | b router bgp router bgp 100 no synchronization //IBGP同步不启用 bgp log-neighbor-changes neighbor 1.1.1.1 remote-as 100  neighbor 1.1.1.1 update-source Loopback200  //指定邻居1.1.1.1的更新源 neighbor 1.1.1.1 next-hop-self  //设置邻居1.1.1.1的下一跳为R2 neighbor 10.1.255.2 remote-as 200 neighbor 10.1.255.2 ebgp-multihop 255 //设置EBGP为多跳 no auto-summary //不汇总!ip classlessip route 1.1.1.0 255.255.255.0 172.16.255.1ip server!

R3#show run | b router bgprouter bgp 200 no synchronization bgp log-neighbor-changes network 192.168.0.0 network 192.168.1.1 network 192.168.3.0 neighbor 10.1.255.1 remote-as 100 neighbor 10.1.255.1 ebgp-multihop 255 no auto-summary!

R1与R2间必需运行路由协议来实现底层的通信!

R2#sh run

router eigrp 99 network 10.1.255.0 0.0.0.255 network 172.16.255.0 0.0.0.255 no auto-summary!

ip route 1.1.1.0 255.255.255.0 172.16.255.1

结果分析:

R1#sh ip route

Gateway of last resort is not set

1.0.0.0/24 is subnetted, 1 subnetsC       1.1.1.0 is directly connected, Loopback100     2.0.0.0/24 is subnetted, 1 subnetsS       2.2.2.0 [1/0] via 172.16.255.2     172.16.0.0/16 is variably subnetted, 5 subnets, 2 masksC       172.16.255.0/30 is directly connected, FastEthernet0/0C       172.16.0.0/24 is directly connected, Loopback0C       172.16.1.0/24 is directly connected, Loopback1C       172.16.2.0/24 is directly connected, Loopback2C       172.16.3.0/24 is directly connected, Loopback3     10.0.0.0/30 is subnetted, 1 subnetsD       10.1.255.0 [90/2172416] via 172.16.255.2, 00:57:17, FastEthernet0/0B    192.168.0.0/24 [200/0] via 2.2.2.2, 00:17:26B    192.168.3.0/24 [200/0] via 2.2.2.2, 00:17:27

R2#sh ip route

Gateway of last resort is not set

1.0.0.0/24 is subnetted, 1 subnetsS       1.1.1.0 [1/0] via 172.16.255.1     2.0.0.0/24 is subnetted, 1 subnetsC       2.2.2.0 is directly connected, Loopback200     172.16.0.0/16 is variably subnetted, 3 subnets, 2 masksC       172.16.255.0/30 is directly connected, FastEthernet0/0B       172.16.0.0/24 [200/0] via 1.1.1.1, 00:24:42B       172.16.1.0/24 [200/0] via 1.1.1.1, 00:24:42     10.0.0.0/30 is subnetted, 1 subnetsC       10.1.255.0 is directly connected, Serial1/1B    192.168.0.0/24 [20/0] via 10.1.255.2, 00:24:42B    192.168.3.0/24 [20/0] via 10.1.255.2, 00:24:42

R3#sh ip route

Gateway of last resort is not set

172.16.0.0/24 is subnetted, 2 subnetsB       172.16.0.0 [20/0] via 10.1.255.1, 00:25:07B       172.16.1.0 [20/0] via 10.1.255.1, 00:25:07     10.0.0.0/30 is subnetted, 1 subnetsC       10.1.255.0 is directly connected, Serial1/0C    192.168.0.0/24 is directly connected, Loopback0C    192.168.1.0/24 is directly connected, Loopback1C    192.168.2.0/24 is directly connected, Loopback2C    192.168.3.0/24 is directly connected, Loopback3

分析:

R1上有R3上BGP发布的路由(B    192.168.0.0/24 [200/0] via 2.2.2.2, 00:17:26B    192.168.3.0/24 [200/0] via 2.2.2.2, 00:17:27) 但却无法PING通!

因为虽然R1有路由到达R3但是R3却没有路由回来~!!!

若源用172.16.0.0或者172.16.1.0 网段的地址即可PING通~!!!

R1#ping Protocol [ip]: Target IP address: 192.168.0.1Repeat count [5]: Datagram size [100]: Timeout in seconds [2]: Extended commands [n]: ySource address or interface: 172.16.0.1Type of service [0]: Set DF bit in IP header? [no]: Validate reply data? [no]: Data pattern [0xABCD]: Loose, Strict, Record, Timestamp, Verbose[none]: Sweep range of sizes [n]: Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 192.168.0.1, timeout is 2 seconds:Packet sent with a source address of 172.16.0.1 !!!!!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:兴起不过几载,国潮营销就要被弃之不用了吗?(国潮的卖点)
下一篇:linux、unix中的批量文件重命名
相关文章

 发表评论

暂时没有评论,来抢沙发吧~