目录
2.AS2的路由可达(使用OSPF,将AS2的路由发布进AS1)
一、 BGP的基础配置
1)使用直连接口ip地址来建立EBGP邻居关系<邻居的前提,路由与数据可达>
[r1]bgp 1 启动时需要定义真实的AS号,没有多进程概念
[r1-bgp]router-id 1.1.1.1 建议手工配置RID,--手工—环回最大值---物理接口最大值
[r1-bgp]peer 12.1.1.2 as-number 2 对端IP地址,及对端所在的AS号
2)实际工程中,一个AS的内部正常具有较为复杂的网络拓扑结构,设备到设备间存在大量的备份和负载均衡;因此建立IBGP邻居关系时,建议使用双方的环回接口来作为源/目IP地址;
[r3]bgp 2
[r3-bgp]router-id 3.3.3.3
[r3-bgp]peer 2.2.2.2 <R2的环回> as-number 2
[r3-bgp]peer 2.2.2.2 <R2的环回> connect-interface LoopBack 0
注:
在IBGP之间
[r2-bgp]peer 3.3.3.3 next-hop-local
将BGP路由传输给邻居3.3.3.3时修改下一跳属性为本地(2.2.2.2)
在EBGP之间
若EBGP邻居间存在多条直连链路时,也建议使用环回接口来建立;要考虑AS-BY-AS可达
[r2-bgp]peer 3.3.3.3 ebgp-max-hop 2
BGP宣告配置时,只能宣告本地路由表中的路由条目,且宣告配置中网络号的掩码必须和路由表中的记录完全的一致;
[Huawei-bgp]network 8.8.8.0 24
二、一些BGP的宣告问题
路由反射器
1.作 用
路由反射器(RR)的作用主要是为了简化IBGP邻居配置,使用反射器后允许反射器将来自IBGP邻居的路由信息发给另一个或一组IBGP邻居。也就不再需要全互连的IBGP对等体。配置是在BGP路由器上完成的,主要解决路由黑洞而产生的。
2.一些角色
路由反射器 是被配置为允许它把通过IBGP所学到的路由通告(或反射)到其他IBGP对等体的路由器;
客户 是和路由反射器有IBGP对等关系并配置成反射邻居关系的路由器;
非客户: 不是路由反射器的客户的其他IBGP的对等体;
3.规则
·如果路由更新是从非客户机收到的,仅反射给客户机,不会再反射给非客户机;
·如果路由更新是从客户机收到的,反射给所有非客户机以及客户机,除了这个路由更新的始发者;
·如果路由更新是从EBGP相邻体收到的,反射给所有的客户机和非客户机
·若路由条目不优,不具有传递性;反射器也无法反射路由;
4.配置
[r3-bgp]peer 2.2.2.2 reflect-client
该指令的作用,是让2.2.2.2成为本地的客户端,同时本地成为路由反射器;
联邦
1.作用
·BGP联盟产生是为了解决自治系统AS网络太过于庞大,好分散开来,分成多个小的AS,便于管理者管理。
·BGP联盟也可以解决路由黑洞,避免IBGP全互联,减轻路由器的负载。主要不是为了解决这个问题。RR才是主要解决路由黑洞而产生的。
2.配置问题
切记:华为设备,必须先定义联邦的id,和互相小AS号后再配置邻居关系建立的命令;
·联邦内所有运行BGP协议的设备均声明自己所在的大AS号
[r2]bgp 64512
[r2-bgp]confederation id 2
·小AS间互指peer;在联邦内的ebgp邻居关系间的两台设备,互相定义对端的小AS号;
[r4-bgp]confederation peer-as 64512
宣告问题
1、
若在一台运行了BGP协议的路由器上,宣告本地路由器表中通过其他协议学习到的路由信息时,将携带本地到达这些目标网段的cost值;
若一台BGP设备通过IBGP关系学习到了一条BGP路由,路由中携带了度量值;之后本地将这条路由转发到本地的其他EBGP邻居时,将删除cost,因为这些cost不是本地的度量;故,若需要基于cost值进行选路干涉,建议本地也配置宣告这些路由条目,来携带本地的cost到其他EBGP邻居;(可以做实验)
2. BGP自动汇总
BGP协议中,自动汇总功能默认被关闭;
切记:在RIP/EIGRP这些IGP中的DV型路由协议中,开启自动汇总,将导致邻居间传递的所有路由条目携带主类的子网掩码
但在BGP协议中,自动汇总功能对正常的BGP宣告路由无意义,仅针对重发布进入BGP协议的路由起效;开启自动汇总时:不携带原有掩码,使用主类;不携带cost值;故不建议开启
[r2-bgp] summary automatic 开启命令
3.手工汇总—BGP称为聚合
>不是BGP的正常聚合配置(但简单)
利用了BGP的宣告的特征—本地路由表中的路由条目无论来源,无论去向(缺省除外); 先在本地路由表中静态添加一条指向汇总地址的空接口防环路由,然后再在BGP协议中宣告这条空接口路由,减少了宣告明细部分的操作量;
>标准的BGP协议聚合配置;
先逐条宣告本地所有明细路由,再进行聚合配置
[r1-bgp]aggregate 20.1.0.0 22 配置完成后,本地自动生成空接口防环路由此时明细和聚合条目同时发出
[r1-bgp]aggregate 20.1.0.0 22 detail-suppressed 仅发送聚合条目,不转发明细条目;
[r1-bgp]display ip routing-table
……
172.16.0.0/16 IBGP 255 0 D 127.0.0.1 NULL0
……
三.BGP的干涉选路
1、抑制列表
抑制列表—定制抑制列表,在传递路由过程中,对部分不希望传递的条目进行抑制
[r1]ip ip-prefix a permit 172.16.1.0 24
[r2]route-policy q permit node 10
[r2-route-policy]if-match ip-prefix a
[r2-route-policy]q
[r2]bgp 1
[r2-bgp]aggregate 172.16.0.0 16 suppress-policy q
使用抑制规则调用route-policy时,被匹配允许的流量最终被抑制传递(不传a列表)
结果[R1-bgp]display bgp routing-table
R2
*> 172.16.0.0 127.0.0.1 0 ?
*> 172.16.0.0/24 0.0.0.0 0 0 ?
s> 172.16.1.0/24 0.0.0.0 2 0 ?
*> 172.16.2.0/24 0.0.0.0 3 0 ?
R1
*> 172.16.0.0 12.1.1.2 0 2?
*> 172.16.0.0/24 12.1.1.2 0 0 2?
*> 172.16.2.0/24 12.1.1.2 3 0 2?
2、分发列表
[r1]bgp 1
[r1-bgp]aggregate 172.16.0.0 16
[r1]ip ip-prefix b deny 172.16.1.0 24
[r1]ip ip-prefix b permit 0.0.0.0 0 le 32
[r1]bgp 1
[r1-bgp]filter-policy ip-prefix b export
结果[R1-bgp]display bgp routing-table <自己的BGP表里都没有了,直接干死>
R2
*> 172.16.0.0 127.0.0.1 0 ?
*> 172.16.0.0/24 0.0.0.0 0 0 ?
*> 172.16.2.0/24 0.0.0.0 3 0 ?
R1
*> 172.16.0.0 12.1.1.2 0 2?
*> 172.16.0.0/24 12.1.1.2 0 0 2?
*> 172.16.2.0/24 12.1.1.2 3 0 2?
3、route-map
在bgp协议中直接调用route-map;
[r2]bgp 1
[r2-bgp]aggregate 172.16.0.0 16
[r2]ip ip-prefix c permit 172.16.2.0 24
[r2]route-policy c deny node 10
[r2-route-policy]if-match ip-prefix c
[r2-route-policy]q
[r2]route-policy c permit node 20
[r2-route-policy]q
[r2]bgp 1
[r2-bgp]peer 12.1.1.1 route-policy c export
R2
*> 172.16.0.0/24 0.0.0.0 0 0 ?
*> 172.16.1.0/24 0.0.0.0 2 0 ?
*> 172.16.2.0/24 0.0.0.0 3 0 ?
R1 <12.1.1.1>
*> 172.16.0.0/24 12.1.1.2 0 0 2?
*> 172.16.1.0/24 12.1.1.2 2 0 2?
*> 172.16.3.0/24 12.1.1.2 3 0 2?
R8 <没有受到策略影响,不受影响>
*> 172.16.0.0/24 72.1.1.1 0 2?
*> 172.16.1.0/24 72.1.1.1 0 2?
*> 172.16.2.0/24 72.1.1.1 0 2?
4、直接调用前缀列表实现分发
[r1]bgp 1
[r1-bgp]aggregate aggregate 172.16.0.0 16
[r1]ip ip-prefix d deny 172.16.3.0 24
[r1]ip ip-prefix d permit 0.0.0.0 0 le 32
[r1]bgp 1
[r1-bgp]peer 12.1.1.2 ip-prefix d export
结果[R1-bgp]display bgp routing-table
R2
*> 172.16.0.0/24 0.0.0.0 0 0 ?
*> 172.16.1.0/24 0.0.0.0 2 0 ?
*> 172.16.2.0/24 0.0.0.0 3 0 ?
*> 172.16.3.0/24 0.0.0.0 3 0 ?
R1
*> 172.16.0.0/24 12.1.1.2 0 0 2?
*> 172.16.1.0/24 12.1.1.2 2 0 2?
*> 172.16.2.0/24 12.1.1.2 3 0 2?
*> 172.16.4.0/24 12.1.1.2 2 0 2?
认证 邻居间保证更新安全
[r1-bgp]peer 12.1.1.2 password cipher cisco123 两端的邻居配置需要一致
实验
1.AS1与AS2以直连建立邻居 ,用12.1.1.0 /24,AS2与AS3以直连建立邻居,用72.1.1.0 /24.
AS2内部运用BGP联邦和反射镜减少配置,解决路由黑洞。
2.全网皆可ping同R1与R2的环回
3.AS2 中 邻居的建立都用环回,用户是 172.16.0.0 /16 网段
4.减少路由条目 172.16.0.0 /16
步骤
1.IP地址的配置
R1
#
interface GigabitEthernet0/0/0
ip address 12.1.1.1 255.255.255.0
#
interface LoopBack0
ip address 1.1.1.1 255.255.255.0
R2
#
interface GigabitEthernet0/0/0
ip address 12.1.1.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 172.16.0.1 255.255.255.0
#
interface GigabitEthernet0/0/2
ip address 172.16.5.2 255.255.255.0
#
interface LoopBack0
ip address 2.2.2.2 255.255.255.0
#
interface LoopBack1
ip address 172.16.10.1 255.255.255.0
ospf network-type broadcastR3
#
interface GigabitEthernet0/0/0
ip address 172.16.0.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 172.16.1.1 255.255.255.0
#
interface LoopBack0
ip address 3.3.3.3 255.255.255.0
#
interface LoopBack1
ip address 172.16.20.1 255.255.255.0
ospf network-type broadcastR4
#
interface GigabitEthernet0/0/0
ip address 172.16.1.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 172.16.2.1 255.255.255.0
#
interface LoopBack0
ip address 4.4.4.4 255.255.255.0
#
interface LoopBack1
ip address 172.16.30.1 255.255.255.0
ospf network-type broadcastR5
#
interface GigabitEthernet0/0/0
ip address 172.16.2.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 172.16.3.1 255.255.255.0
#
interface GigabitEthernet0/0/2
ip address 72.1.1.1 255.255.255.0
#
interface LoopBack0
ip address 5.5.5.5 255.255.255.0
#
interface LoopBack1
ip address 172.16.40.1 255.255.255.0
ospf network-type broadcastR6
#
interface GigabitEthernet0/0/0
ip address 172.16.3.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 172.16.4.1 255.255.255.0
#
interface LoopBack0
ip address 6.6.6.6 255.255.255.0
#
interface LoopBack1
ip address 172.16.50.1 255.255.255.0
ospf network-type broadcastR7
#
interface GigabitEthernet0/0/0
ip address 172.16.4.2 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 172.16.5.1 255.255.255.0
#
interface LoopBack0
ip address 7.7.7.7 255.255.255.0
#
interface LoopBack1
ip address 172.16.60.1 255.255.255.0
ospf network-type broadcastR8
#
interface GigabitEthernet0/0/0
ip address 72.1.1.2 255.255.255.0
#
interface LoopBack0
ip address 8.8.8.8 255.255.255.0
2.AS2的路由可达(使用OSPF,将AS2的路由发布进AS1)
R2
ospf 1
area 0.0.0.0
network 2.2.2.2 0.0.0.0
network 172.16.0.0 0.0.0.255
network 172.16.5.0 0.0.0.255
network 172.16.10.1 0.0.0.0R3
ospf 1
area 0.0.0.0
network 3.3.3.3 0.0.0.0
network 172.16.0.0 0.0.0.255network 172.16.1.0 0.0.0.255
network 172.16.20.1 0.0.0.0R4
ospf 1
area 0.0.0.0
network 4.4.4.4 0.0.0.0
network 172.16.1.0 0.0.0.255
network 172.16.2.0 0.0.0.255
network 172.16.30.1 0.0.0.0R5
ospf 1
area 0.0.0.0
network 5.5.5.5 0.0.0.0
network 172.16.2.0 0.0.0.255
network 172.16.3.0 0.0.0.255
network 172.16.40.1 0.0.0.0R6
ospf 1
area 0.0.0.0
network 6.6.6.6 0.0.0.0
network 172.16.3.0 0.0.0.255
network 172.16.4.0 0.0.0.255
network 172.16.50.1 0.0.0.0R7
ospf 1
area 0.0.0.0
network 7.7.7.7 0.0.0.0
network 172.16.4.0 0.0.0.255
network 172.16.5.0 0.0.0.255
network 172.16.60.1 0.0.0.0[R2-bgp]import-route ospf 1
3.BGP邻居的建立
R1
bgp 1
router-id 1.1.1.1
peer 12.1.1.2 as-number 2
peer 12.1.1.2 connect-interface GigabitEthernet0/0/0R2
bgp 64512
router-id 2.2.2.2
confederation id 2
confederation peer-as 64513R2-R3
peer 3.3.3.3 as-number 64512
peer 3.3.3.3 connect-interface LoopBack0peer 3.3.3.3 next-hop-local
R2-R7peer 7.7.7.7 as-number 64513
peer 7.7.7.7 ebgp-max-hop 2
peer 7.7.7.7 connect-interface LoopBack0R2-R1
peer 12.1.1.1 as-number 1
peer 12.1.1.1 connect-interface GigabitEthernet0/0/0
R3
bgp 64512
router-id 3.3.3.3
confederation id 2
R3-R2peer 2.2.2.2 as-number 64512
peer 2.2.2.2 connect-interface LoopBack0peer 2.2.2.2 next-hop-local
peer 2.2.2.2 reflect-client
R3-R4
peer 4.4.4.4 as-number 64512
peer 4.4.4.4 connect-interface LoopBack0peer 4.4.4.4 next-hop-local
R4
bgp 64512
router-id 4.4.4.4
confederation id 2R4-R3
confederation peer-as 64513
peer 3.3.3.3 as-number 64512
peer 3.3.3.3 connect-interface LoopBack0peer 3.3.3.3 next-hop-local
R4-R5
peer 5.5.5.5 as-number 64513
peer 5.5.5.5 ebgp-max-hop 2
peer 5.5.5.5 connect-interface LoopBack0R5
bgp 64513
router-id 5.5.5.5
confederation id 2
confederation peer-as 64512R5-R4
peer 4.4.4.4 as-number 64512
peer 4.4.4.4 ebgp-max-hop 2
peer 4.4.4.4 connect-interface LoopBack0R5-R6
peer 6.6.6.6 as-number 64513
peer 6.6.6.6 connect-interface LoopBack0peer 6.6.6.6 next-hop-local
R5-R8
peer 72.1.1.2 as-number 3
peer 72.1.1.2 connect-interface GigabitEthernet0/0/2
R6bgp 64513
router-id 6.6.6.6
confederation id 2R6-R5
peer 5.5.5.5 as-number 64513
peer 5.5.5.5 connect-interface LoopBack0peer 5.5.5.5 next-hop-local
R6-R7
peer 7.7.7.7 as-number 64513
peer 7.7.7.7 connect-interface LoopBack0
peer 7.7.7.7 reflect-client
peer 7.7.7.7 next-hop-localR7
bgp 64513
router-id 7.7.7.7
confederation id 2
confederation peer-as 64512R7-R2
peer 2.2.2.2 as-number 64512
peer 2.2.2.2 ebgp-max-hop 2
peer 2.2.2.2 connect-interface LoopBack0R7-R6
peer 6.6.6.6 as-number 64513
peer 6.6.6.6 connect-interface LoopBack0
peer 6.6.6.6 next-hop-local
R8bgp 3
router-id 8.8.8.8
peer 72.1.1.1 as-number 2
peer 72.1.1.1 connect-interface GigabitEthernet0/0/0
4.减少路由条目
先逐条宣告本地所有明细路由,再进行聚合配置<因为,R2上将AS2的IGP路由发布入AS1>
[r2-bgp]aggregate 20.1.0.0 22配置完成后,本地自动生成空接口防环路由此时明细和聚合条目同时发出
[r2-bgp]aggregate 20.1.0.0 22 detail-suppressed仅发送聚合条目,不转发明细条目;
检测 R1 ping R8
检测 R8 BGP表
检测 R8 ping R2 环回