华为bgp配置实例的核心思路就一句话:先用环回口和update-source把邻居关系搞稳,再用peer-group和路由策略把路由控制住,最后用display命令逐条验证。
华为bgp配置实例:从邻居关系建立到路由发布
很多朋友第一次拿到华为路由器,对着命令行界面发懵,不知道从哪下手,咱们用一个最常见的场景来拆解:两台华为AR系列路由器,中间隔着运营商专线,需要建立EBGP邻居交换业务路由。
配置前的参数准备
动手敲命令之前,先把网段、AS号、互联地址这些信息列清楚,典型场景是这样:
- 设备A:AS 65001,GigabitEthernet0/0/0接对端,IP是10.0.12.1/30
- 设备B:AS 65002,GigabitEthernet0/0/0接对端,IP是10.0.12.2/30
- 各自环回口LoopBack0,用于管理面和后续IBGP扩展
行业共识认为,环回口地址选什么网段不关键,关键是稳定,不建议直接用物理接口地址当Router-ID。
建立BGP邻居的核心配置
先看设备A的完整配置流程:
system-view
bgp 65001
router-id 1.1.1.1
peer 10.0.12.2 as-number 65002
ipv4-family unicast
peer 10.0.12.2 enable
设备B反过来配,把AS号换成65002,Peer地址指向10.0.12.1,这套配置下来,邻居关系理论上就能起来。
但实际工程里,物理接口说断就断,多数情况下,网络工程师会加上环回口保护:
bgp 65001
peer 2.2.2.2 as-number 65002
peer 2.2.2.2 connect-interface loopback0
peer 2.2.2.2 ebgp-max-hop 2
这里有两个细节容易踩坑。connect-interface指定用环回口发起TCP连接,ebgp-max-hop 2允许跨跳建立邻居,因为环回口之间隔着物理链路,默认TTL为1,不放开就起不来。
发布路由的两个正确姿势
邻居建立后,要把业务网段告诉对端,最常见的命令是network,注意它和路由协议里network的含义不同,BGP的network是精确匹配路由表里已有的条目:
bgp 65001
ipv4-family unicast
network 192.168.1.0 255.255.255.0
如果路由表里没有这条路由,network命令就静默失效,另一种方式是import直连或静态路由,适合批量引入,但引入的路由不会带AS_PATH属性,建议配合路由策略使用。
华为路由器bgp peer-group配置:批量管理邻居的实战方案
维护二三十台设备的BGP网络,逐条写peer命令能把人累垮,peer-group就是华为BGP配置实例里最实用的批量管理工具。

创建peer-group并绑定策略
项目里常遇到这种情况:总部核心路由器需要和20台分支设备建立IBGP邻居,每台设备的允许前缀列表、路由权重都一样,逐条配置容易漏,peer-group可以一次搞定:
bgp 65001
group ibgp-peers internal
peer ibgp-peers connect-interface loopback0
peer ibgp-peers next-hop-local
ipv4-family unicast
peer ibgp-peers enable
peer ibgp-peers route-policy import from-branch
peer ibgp-peers prefix-list permit-branch import
然后单独把每台分支设备的IP加进组里:
peer 172.16.1.1 group ibgp-peers
peer 172.16.1.2 group ibgp-peers
peer 172.16.1.3 group ibgp-peers
这样后续要调整入方向策略,只需要改group下挂的route-policy,所有成员同步生效,组内个别设备需要单独调参数时,华为支持在成员上覆盖组属性,但要谨慎操作,覆盖后不再跟随组变化。
与逐条配置的性能差异
设备支持的最大peer数目是硬指标,但peer-group真正的价值在运维效率,用表格感受一下:
| 场景 | 逐条配置命令条数 | peer-group配置命令条数 |
|---|---|---|
| 20台IBGP邻居 | 约120条 | 约30条 |
| 策略调整 | 每台单独改,容易漏 | 改group一处生效 |
| 新加设备 | 重复全部参数 | 一条命令加进组 |
每个组占用设备少量内存,但相对于管理效率的提升,代价可以接受。
华为bgp next-hop-local配置:解决路由下一跳不可达的关键命令
IBGP有一个天然特性:从EBGP邻居学到的路由,通告给IBGP邻居时默认不修改下一跳,还是EBGP对端的地址,如果IBGP邻居没有那条直连路由,下一跳不可达,路由直接失效。
什么时候必须加next-hop-local
最常见的场景是两台核心路由器同时接入运营商,各自下挂接入交换机,核心A从运营商学到一条默认路由,通告给核心B时,下一跳还是运营商PE的地址,核心B根本不知道这个地址怎么走。
这时就需要在核心A上对IBGP邻居下发next-hop-local:

bgp 65001
ipv4-family unicast
peer 172.16.1.1 next-hop-local
命令意思很直白:把发给这个邻居的路由下一跳改成自己的接口地址,这样一来,核心B收到路由后,下一跳指向核心A的环回口或互联地址,递归查询就能直达。
配置位置和验证方法
华为此命令通常在BGP的IPv4地址族视图下配置,对peer或peer-group生效,顺便提醒一点,别在EBGP邻居上配这条命令,会影响AS间的路由传递行为。
验证效果用这条命令:
display bgp routing-table 0.0.0.0
查看输出的下一跳字段,如果变成了本地地址,说明配置已经生效,多数情况下,NextHop列还会带一个号,表示路由可用且优选。
华为bgp路由策略配置:控制路由进出的完整过滤逻辑
BGP好用也难管,难在它没有天然的路由防环机制,全靠属性控制,华为BGP配置实例里,路由策略是最核心的环节。
入方向用前缀列表控制接收范围
接运营商专线时,对端会把全量路由表发过来,大部分和你无关,用前缀列表定义一条合理的接收范围:
ip ip-prefix from-isp index 10 permit 0.0.0.0 0 less-equal 32
再把策略关联到邻居:
bgp 65001
peer 10.0.12.2 as-number 65002
ipv4-family unicast
peer 10.0.12.2 prefix-list from-isp import
实际项目里,入方向建议先放行默认路由和必要的业务网段,等业务验证稳定后再逐步放开,别一口气全收。
出方向用AS-Path属性做路由操纵
AS-Path是BGP最常用的选路属性,华为通过route-policy修改AS-Path可以影响对端选路,这是双链路场景下做负载分担或主备切换的常用手段:
route-policy AS_PATH_ADD permit node 10
apply as-path 65001 65001 additive
在出方向应用后,对端看到的AS_PATH变长,选路优先级下降。
用团体属性做精细化控制
比前缀列表更优雅的方式是团体属性Community打标,华为默认不对团体属性做处理,需要显式开启:
bgp 65001
ipv4-family unicast
peer 10.0.12.2 advertise-community
然后在route-policy里给不同路由打不同标记,对端基于标记执行不同的接收策略,这种设计适合多分支互联的复杂网络。
华为bgp配置注意事项:三个容易踩坑的隐藏细节

配置照着文档敲完,邻居却总是起不来,以下三个细节是故障排查中最常见的原因。
更新源检查与直连接口
BGP的TCP连接建立时,会有更新源地址校验,如果对端发来的TCP SYN源地址和配置的peer地址不一致,会直接丢弃,所以connect-interface指定环回口时,也必须在对端配置对应的peer地址为环回口地址,两边要对称。
时间计时器要匹配
华为BGP默认Keepalive时间为60秒,Hold时间为180秒,如果对端设备配置的Keepalive时间不同,TCP虽然建立了,BGP状态机会反复在Active和Established之间跳变,排查时先用display bgp peer看两边的计时器值。
地址族视图下必须enable
华为VRP平台的BGP配置区分协议视图和地址族视图,很多新手在bgp 65001视图下配完peer,忘记进入ipv4-family unicast视图执行peer enable,导致邻居列表显示已配置,但不生效,业内专家指出,华为新的VRP8版本正在改进这个交互逻辑,但当前主流版本仍需显式enable。
华为bgp配置常见问题解答
问:华为bgp配置实例中,邻居状态一直停在Active是怎么回事?
Active状态说明TCP连接没有建立成功,依次检查三件事:物理链路是否UP、互联地址能否互相Ping通、TCP端口179是否被中间防火墙拦截,如果三层通了还是Active,大概率是更新源地址不匹配,检查两端peer配置的地址和connect-interface的对应关系。
问:为什么配置了network命令,但路由没有发布出去?
network命令发布的前提是IP路由表中存在完全匹配的路由,用display ip routing-table 192.168.1.0确认直连或静态路由存在,再检查该路由是否被BGP的Export策略过滤,环回口路由的掩码和network命令配置不一致,也会导致匹配失败。
问:peer-group成员能单独调整路由策略吗?
能在成员上单独应用入或出方向的filter-policy,与group的策略叠加生效,华为的处理逻辑是成员策略优先生效,再执行组的策略,两者是AND关系,不是覆盖关系。
BGP的配置没有那么玄乎,核心就三件事:邻居关系、路由发布、策略控制,把华为bgp配置实例里这套流程走通,其他网络设备上的BGP配置思路都是相通的,无非命令风格不同,真正遇到疑难故障,多用display bgp peer、display bgp routing-table这两个命令观察状态,问题往往就藏在这些基础输出里。
