首页/网络/BGP 与广域网速查/公认 Community:语义速查
BGP 选路与策略62 条

公认 Community:语义速查

公认 community 有固定语义:no-export、no-advertise、no-export-subconfed、nopeer、blackhole、internet;配置时可写名称,也可写等价的十六进制值。

BGP 与广域网速查网络更新于 2026-10-13

公认 Community 是什么

公认 community 是 RFC 定义的一组固定语义标签:贴上之后,设备按约定自动限制发布范围或触发特定行为。它们不需要接收方额外配置语义,因为行为是标准化的,但在多厂商环境中各实现的支持程度与默认处理可能不同,跨域使用前应与对端确认。

基本信息

属性类型标准 community(可选传递)
书写方式可直接写名称,如 no-export,也可写等值十六进制
生效位置通常配合 route-map 设置,在接收方按语义生效
发布前提邻居需开启 send-community
常见用法限制发布范围、请求黑洞丢弃、标记不向对等体发布
核对命令show ip bgp <前缀> 的 Community 列

公认值与行为

名称值行为
NO_EXPORT0xFFFFFF01不向联邦外 eBGP 对等体发布
NO_ADVERTISE0xFFFFFF02不向任何对等体(含 iBGP)发布
NO_EXPORT_SUBCONFED / LOCAL_AS0xFFFFFF03不向联邦内其他子 AS 发布
NOPEER0xFFFFFF04不向对等体(非客户或非传输)发布
BLACKHOLE65535:666触发 RTBH 丢弃(RFC 7999)
INTERNET0语义上可向任何对等体发布,属默认标注

典型使用场景

  • 临时限制某个前缀不外发:打上 no-export 观察影响面
  • 应急压制攻击流量:对接上游约定用 BLACKHOLE 社区触发丢弃
  • 区分客户与对等体:用 NOPEER 控制发布对象集合
  • 内部传递时避免外泄:用 no-advertise 让路由止步于本机
  • 巡检核对:查看关键前缀是否携带了预期标签

设置与核对

设置与核对
route-map RM-NOEXP permit 10
 set community no-export additive     # 追加公认社区,保留既有标签
route-map RM-NOEXP permit 999
!
router bgp 65001
 neighbor 10.0.0.2 send-community
 neighbor 10.0.0.2 route-map RM-NOEXP out
!
show ip bgp 10.1.1.0/24 | include Community      # 核对标签
show ip bgp community no-export                  # 筛选携带该标签的路由
公认 community 的行为由各厂商按 RFC 实现,跨域使用前与对端确认其处理方式,尤其是黑洞与 NOPEER 这类会对转发产生直接影响的标签。
no-export 限制的是出 AS 发布,不影响本 AS 内的 iBGP 传播;若希望完全不外传只能用 no-advertise。

使用前的核对清单

  • 确认对端是否支持该社区,尤其是黑洞与 NOPEER 这类会影响转发的标签
  • 确认本机是否开启了 send-community,否则标签无法传出
  • 确认标签是追加还是覆盖,避免把既有标签清掉
  • 记录变更前的社区列表,便于快速回退
  • 变更后核对状态与实际发布范围,而不是只看配置

易错点

  • 把 no-export 理解为完全不发布:本 AS 与 iBGP 内仍会传播,只在出 AS 时拦截
  • 对端剥离社区后再发布:策略要按各跳实际行为验证
  • 忘记 send-community:标签打上了但对端看不到,语义自然不生效
  • 用黑洞社区却不与上游约定:接收方不认识该值,攻击流量不会被丢弃

数据来源与参考

  • RFC 1997: 公认社区值
  • RFC 7999: BLACKHOLE Community
  • RFC 3765: NOPEER
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌