配置本地 BGP
Equinix Metal™ 支持本地 BGP,用于在本地环境中向 Equinix Metal 服务器通告路由。本地 BGP 使用内部自治系统编号 (ASN) 来控制 Equinix Metal 数据中心内的路由。如果您有兴趣使用自己的 ASN 自带 IP 地址,请参阅“使用全局 BGP 实现自带 IP 地址”页面。
本地 BGP 的 IP 地址
您的项目 IP 地址列在项目“IP 和网络”选项卡的“IP 地址”页面上。您可以使用本地 BGP 通告私有 IPv4 地址、弹性 IPv4 地址、全局任播 IP 地址和 IPv6 地址。
对于私有 IPv4 地址和 IPv6 地址,您可以使用管理块中与要通告该地址的服务器位于同一城域网内的任何 IP 地址。对于弹性 IPv4 地址,您可以使用与服务器位于同一城域网内的任何 IP 地址。全局任播地址不受城域网限制。
点击“更新地址块”查看 IP 地址块的详细信息,包括该地址块中当前已静态分配给项目中服务器的子网。请务必选择尚未包含在已用子网中的地址。
请记住:
-
对于您计划使用 BGP 通告的任何 IP 地址,请勿将其分配给Equinix Metal控制台中的服务器。在控制台中分配这些 IP 地址会创建静态路由,从而导致 BGP 设置出现问题。
-
Metal网关和使用Metal网关配置的私有 IPv4 地址块与 BGP 不兼容。
在项目中启用 BGP
设置本地 BGP 的第一步是在项目上启用它。
- Console
- CLI
- API
- Terraform
在控制台中,导航到“项目”“网络”部分,然后选择_BGP。单击激活 BGP,这将打开_激活 BGP_窗格。

选择“本地 BGP”。ASN 字段会自动设置为 65000。如果您希望启用邻居间身份验证,请在“MD5 密码”字段中输入密码。
启用本地 BGP 时,Use Case 字段不是必需的。
您可以使用 CLI 中的 metal project bgp-enable 命令在项目上启用 BGP。
metal project bgp-enable --project-id <project_id> --deployment-type local --asn 65000
选项:
--deployment_type(required) - Uselocalto enable Local BGP,--asn(required) - When using Local BGP on Equinix Metal the ASN is always65000.
在 API 中,向 /projects/{id}/bgp-configs 端点发送 POST 请求。要启用 BGP 的项目 ID 在路径中指定。
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN> " \
"https://api.equinix.com/metal/v1/projects/{id}/bgp-configs" \
-d '{
"deployment_type": "local",
"asn": 65000,
"md5": "string",
"use_case": "string"
}'
身体参数:
"deployment_type"(required) - The options are"local"or"global". For enabling Local BGP, use"local"."asn"(required) - The local ASN; when using Local BGP on Equinix Metal the ASN is always65000."md5"(optional) - If you want to enable and require authentication between neighbors, enter a password. If omitted no password verification will be required."use_case"(optional) - A use case description is not required for Local BGP.
要使用 Terraform 在项目中启用本地 BGP,在设备上创建 BGP 会话时会自动创建 BGP 配置。请使用 equinix_metal_bgp_session 资源。
resource "equinix_metal_device" "server" {
hostname = "bgp-server"
plan = "c3.small.x86"
metro = "sv"
operating_system = "ubuntu_22_04"
billing_cycle = "hourly"
project_id = var.project_id
}
resource "equinix_metal_bgp_session" "session" {
device_id = equinix_metal_device.server.id
address_family = "ipv4"
}
有关更多信息,请参阅Terraform BGP 会话资源文档。
创建本地 BGP 会话
设置 BGP 的第二步是在服务器上创建 BGP 会话。
- Console
- API
- Terraform
为您的项目启用本地 BGP 后,服务器的 BGP 页面将提供管理和跟踪 IPv4 和 IPv6 地址的本地 BGP 会话的选项。

点击“管理”打开“启用 BGP”面板。要启用 BGP 并启动 BGP 会话,请切换“启用 BGP”开关。使用“默认路由”开关将其设置为默认路由。注意:“默认路由”开关可能在启用 BGP 会话后才会显示。

在 API 中,向 /devices/{id}/bgp/sessions 端点发送 POST 请求。服务器 ID 在路径中指定。
curl -X POST \
-H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN> " \
"https://api.equinix.com/metal/v1/devices/{id}/bgp/sessions" \
-d '{
"address_family": "string",
"default_route": "boolean"
}'
身体参数:
"address_family"(required) - Your options are either"ipv4"or"ipv6"indicating whether the BGP session will be announcing IPv4 or IPv6 addresses."default_route"(optional) - Sets the default route status. Defaults tofalseif omitted.
要使用 Terraform 创建 BGP 会话,请使用 equinix_metal_bgp_session 资源。
resource "equinix_metal_bgp_session" "session" {
device_id = equinix_metal_device.server.id
address_family = "ipv4"
default_route = false
}
参数:
device_id(required) - The ID of the device for which to enable BGPaddress_family(required) - Either"ipv4"or"ipv6"default_route(optional) - Sets the default route status
有关完整文档,请参阅Terraform BGP 会话资源。
本地 BGP 会话主机配置
在项目和Equinix Metal上的服务器上启用 BGP 后,最后一步是配置服务器的操作系统以使用 BGP 会话、宣布 IP 地址和通告路由。
您需要在服务器上安装并配置一个支持 BGP 的路由客户端,例如 BIRD、FRR 或 ExaBGP。启用 BGP 后,您可以从服务器的元数据端点获取配置路由客户端所需的所有信息。
Equinix Metal 上的 BGP 页面提供了快速概览。使用 BIRD 路由 BGP 和 使用 FRR 路由 BGP 页面提供了一些路由客户端配置示例。
禁用本地 BGP
您可以禁用Equinix Metal上的 BGP 会话,以停止通告 IP 地址并发布路由。这将删除已获知的路由,重置所有已打开的连接,并且可能会造成中断。禁用会话前请谨慎操作。
禁用 BGP 不会删除服务器上的任何 BGP 配置;如果需要,您可以重新启用会话,并在不更改服务器配置的情况下恢复发布路由。如果重新启用,会话可能需要 5-10 分钟才能建立。
- Console
- API
在服务器的“BGP”页面上,单击箭头以显示要禁用的 BGP 会话选项。在“激活 BGP”窗格中,使用“禁用 BGP”切换开关。

要禁用 API 中的本地 BGP 会话,请向 /bgp/sessions/{id} 端点发送 DELETE 请求。
curl -X DELETE -H "Content-Type: application/json" \
-H "X-Auth-Token: <API_TOKEN>" \
"https://api.equinix.com/metal/v1/bgp/sessions/{id}"