H3C BGP配置入门 邻居和路由怎么宣告
BGP(边界网关协议)是互联网的核心路由协议,大型企业跨地域组网、运营商之间互联都靠它。跟OSPF这种IGP不同,BGP是路径矢量协议,关注的是AS(自治系统)之间的路由传递,能承载大量路由条目,策略控制也更灵活。H3C设备上配BGP的核心就两件事——建邻居和宣告路由。
BGP的基本概念
先搞清楚几个关键概念。AS号是BGP的标识,用数字表示,1-64511是公网AS号,64512-65535是私网AS号。BGP邻居分两种——IBGP是同一个AS内部的邻居,EBGP是不同AS之间的邻居。IBGP邻居建立时默认TTL是255,EBGP默认TTL是1(直连)。BGP用TCP 179端口建立连接,所以邻居之间网络层必须可达。
BGP路由属性很多,常用的有:AS_PATH(记录路由经过的AS序列)、Local_Preference(本地优先级,越大越优先)、MED(多出口鉴别器,越小越优先)、Next_Hop(下一跳)。这些属性决定了BGP怎么选路。
配置步骤
在H3C设备上配BGP,第一步是指定AS号并进入BGP视图:
[Router] bgp 65001
然后建立邻居。EBGP邻居配置:
[Router-bgp] peer 203.0.113.2 as-number 65002
IBGP邻居配置(同一个AS内):
[Router-bgp] peer 192.168.1.2 as-number 65001
邻居配好后用display bgp peer命令看状态。BGP邻居建立要经历几个状态——Idle、Connect、Active、OpenSent、OpenConfirm、Established。只有到Established才算建立成功。如果卡在Active状态,说明TCP连接没建立起来,检查一下路由和防火墙策略。
路由宣告有两种方式。一是用network命令精确宣告:
[Router-bgp] network 192.168.10.0 255.255.255.0
注意BGP的network命令和IGP不一样,它要求路由表中必须精确存在这条路由(前缀和掩码都匹配)才会宣告出去。
二是用import-route命令引入其他协议的路由:
[Router-bgp] address-family ipv4 unicast
[Router-bgp-ipv4] import-route ospf 1
这种方式会把OSPF的路由全部引入BGP,但默认不携带BGP属性,通常需要配合route-policy做属性设置。
BGP选路控制
BGP默认的选路原则有很多条,按顺序依次比较。实际工程中最常用的调优手段是改Local_Pref和MED。
改Local_Pref控制本AS内出方向选路:
[Router-bgp-ipv4] peer 192.168.1.2 route-policy SET_LP export

route-policy里设置local-preference 200(默认100),这样从该邻居学到的路由在本AS内优先级更高。
改MED控制入方向选路,影响邻居AS从哪个链路把流量发给你:
[Router-bgp-ipv4] peer 203.0.113.2 route-policy SET_MED export
实际场景中,企业用BGP做多链路接入时,通过调整这些属性来实现主备链路或负载分担。
IBGP的环路问题和反射器
IBGP有个规则——从IBGP邻居学到的路由不会再传给其他IBGP邻居。这是防环机制,但导致的问题是如果AS内有3台以上路由器做IBGP,就必须两两建立邻居(全连接),管理成本高。解决方法是配路由反射器(RR),RR把从一个客户端学到的路由反射给其他客户端:
[Router-bgp] peer 192.168.1.3 reflect-client
BGP是H3CSE-RS-RT方向(GB0-382)的重要考试内容,考试大纲里明确列了BGP基本原理、基本配置、路由控制和增强配置。H3CIE-RS+课程里还有专门的BGP协议规划与排障章节(3小时理论+排障实验)。想在BGP方面系统提升的话,润天教育作为H3C钻石级授权培训中心,从H3CSE到H3CIE都有完整的培训体系。