# 边界网关最佳实践

## 建立对等前规划地址空间

边界网关最常见的问题，并非 BGP 会话建立不起来，而是会话建立正常，却携带了重叠前缀。如果您的 VPC 和对端都使用 `10.10.0.0/16`，BGP 会从两侧广播，流量将进入错误的目的地。在配置对等关系之前，请梳理两端的地址空间，确认不存在重叠。事后重新编址非常痛苦。

## 从显式前缀列表开始，而非"广播所有子网"

"所有子网"方便但危险。一个为无关内部服务新增的子网，一旦存在就会立即对您的 BGP 对等方可见。请从手动广播前缀列表开始，仅覆盖对等方需要访问的子网。当您确实想暴露新子网时再更新列表 — 这个审查过程本身就是设计目的，而非额外负担。

## 优先使用区域模式，除非有明确理由使用全局模式

[区域模式](/welcome/cn/elastic-compute/networking/01-overview-2/05-routing-modes.md)将配置错误的影响半径限制在单个区域内。全局模式会将学习到的路由 — 包括错误路由 — 传播至 VPC 所覆盖的每个区域。在有明确理由之前（单个对等必须服务所有区域、集中化本地网络连接等），请保持区域模式。从区域模式切换到全局模式只是一次开关操作；反向操作则复杂得多。

## 两侧使用不同的 ASN

在 BGP 会话两侧使用相同的 ASN 需要额外配置（allowas-in 或类似方案），并且在接入第三方时更容易产生路由环路。即使平台允许，也请选择不同的 ASN — 其中一个仍可以是私有范围 ASN。默认情况下，不同 ASN 更简洁。

## 每次会话变更后检查 VPC 路由表

当 BGP 会话建立、断开或广播前缀集发生变化时，VPC 路由表会更新。在将生产流量路由至该会话之前，请始终验证路由表的状态是否符合预期。导航至 [**VPC → 路由表**](https://console.zenlayer.com/zec/route)，选择对应路由表，查找来自网关的动态路由。

## 谨慎控制全局模式网关的广播前缀集

全局模式网关学习到的每个前缀都会传播至每个区域的路由表。从 Hub 式对等关系学习到的大量前缀，会在骨干网及每个 VPC 路由表中成倍增加状态量。请尽量保持对端广播集的精简，避免对只有单一区域需要的宽泛路由表使用全局模式。

## 将 BGP 视为可达性信号，而非访问控制信号

BGP 告诉您的 VPC *如何发送流量至某个前缀*。它不告诉目标实例*是否应该接受该流量*。边界网关本身没有安全组 — 访问控制必须位于工作负载侧：操作系统级防火墙、应用层认证，或路径内设备。不要因为存在动态路由就认为访问已获授权。

## 将模式和策略变更安排在低峰期

[路由模式变更](/welcome/cn/elastic-compute/networking/01-overview-2/05-routing-modes.md)或广播前缀的重大调整会触发重新收敛。受影响范围内的每个区域的路由表都将被重建，现有连接在此期间可能短暂中断。除紧急情况外，请在流量低谷时进行此类变更。

## 与对等方记录 BGP 配置

当双方都有 ASN、广播前缀、VLAN、密码及预期路由范围的书面约定时，BGP 故障排查会快得多。出现问题时，记录的预期是对照排查的基准。

***

## 故障排查

**BGP 会话无法建立。** 先检查基本问题：双方是否能在对等 IP 上互相访问（ping 或在 179 端口使用 tcpdump）？确认对端 ASN 与您配置的一致。如果传输层是专线或互联链路，确认其正常运行且未出现抖动。大多数"BGP 无法建立"的问题实际上是传输层问题。

**会话建立，但未学习到任何前缀。** 确认对端确实在广播前缀，可查看对端的路由输出。同时确认边界网关处于您预期的路由模式。

**前缀已学习，但流量不通。** 检查 VPC 路由表 — 动态路由应已安装，且下一跳为边界网关。如果已安装，请检查数据包到达工作负载实例后发生了什么：操作系统防火墙、应用层规则，或在到达学习到的路由之前已被更具体的策略路由捕获的流量。

**流量单向通，另一方向不通。** 广播不对称。您的一侧广播了对端需要的内容，但对端未广播您一侧所需的内容（或反之）。逐一验证两端的广播前缀列表。

**路由抖动。** 通常由传输层不稳定引起 — BGP 跟随会话存活状态变化。稳定底层连接后，抖动通常随之消失。如果传输层稳定但会话仍在抖动，检查两端的对端 ASN、密码及链路设置。

**全局模式路由在其他区域不可见。** 确认网关的模式确实是全局模式（而非区域模式），以及 VPC 在您正在检查的区域确实有子网。全局模式只传播至 VPC 有子网的区域 — 如果 VPC 在某区域不存在，该区域自然没有路由表。

**删除边界网关被拒绝。** 仍有资源引用该网关 — BGP 邻居、已广播的路由集，或将其作为下一跳的策略路由。移除这些引用后，重试删除操作。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.console.zenlayer.com/welcome/cn/elastic-compute/networking/01-overview-2/06-best-practices.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
