本页面介绍 VPN 边界网关协议 (BGP) 会话必须遵循的规范,以及如何创建 VPN BGP 会话。
Google Distributed Cloud (GDC) 气隙 VPN 支持为每个 VPN 隧道使用 IPv4 BGP 会话进行动态路由。BGP 会话允许远程网络和 GDC 组织中的 BGP 对等方相互通告路由。
准备工作
如需创建 VPN BGP 会话,您必须拥有必要的身份和访问权限角色:
- VPN 管理员:拥有对所有 VPN 相关资源的读写权限。请让您的组织 IAM 管理员向您授予 VPN 管理员 (
vpn-admin
) 角色。 - VPN Viewer:拥有对所有 VPN 相关资源的读取权限。请让您的组织 IAM 管理员向您授予 VPN Viewer (
vpn-viewer
) 角色。 - 如需了解详情,请参阅角色定义。
VPN BGP 会话规范
组织中的 BGP 对等方支持 30 秒的 BGP Keepalive 间隔,保持时间为 90 秒。对于每个 BGP 会话,IPv4 地址必须满足以下要求:
- 每个 BGP IPv4 地址都必须属于
169.254.0.0/16
范围内的同一/30
子网。 - 每个 BGP IPv4 地址是
/30
子网的第一个或第二个主机。该子网的第一个和最后一个 IP 地址是为网络和广播地址预留的。 - 每个 BGP 会话的每个 BGP 地址范围在组织的所有 VPN BGP 会话中必须唯一。
不支持 MD5 身份验证。这是一种使用 MD5 哈希算法验证数据完整性和真实性的方法。
创建 VPN BGP 会话
如需为 VPN 隧道创建 BGP 会话,请按照以下步骤操作:
在平台命名空间中的组织管理员集群中创建
VPNBGPPeer
对象:kubectl --kubeconfig MANAGEMENT_API_SERVER create -n platform -f - <<EOF apiVersion: networking.gdc.goog/v1 kind: VPNBGPPeer metadata: name: VPN_BGP_PEER_NAME spec: remote: name: REMOTE_PEER_NAME ip: REMOTE_PEER_IP asn: REMOTE_PEER_ASN local: name: LOCAL_PEER_NAME ip: LOCAL_PEER_IP asn: LOCAL_PEER_ASN EOF
替换以下内容:
MANAGEMENT_API_SERVER
:区域 API 服务器的 kubeconfig 路径。如果您尚未为目标地区中的 API 服务器生成 kubeconfig 文件,请参阅登录了解详情。VPN_BGP_PEER_NAME
:VPN BGP 对等端的名称。REMOTE_PEER_NAME
:远程网络中 BGP 对等端的名称。REMOTE_PEER_IP
:远程网络中 BGP 对等方的/30
子网中的 BGP IPv4 地址。REMOTE_PEER_ASN
:为远程网络配置的自治系统编号 (ASN)。LOCAL_PEER_NAME
:GDC 组织中 BGP 对等端的名称。LOCAL_PEER_IP
:GDC 组织中 BGP 对等方的/30
子网中的 BGP IPv4 地址。LOCAL_PEER_ASN
:为 GDC 组织配置的 ASN。
通过检查
Status
字段,验证VPN_BGP_PEER_NAME
对象是否已正确协调。获取VPNBGPPeer
对象的详细信息:kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpnbgppeer VPN_BGP_PEER_NAME
检查输出,它必须类似于以下示例:
Status: Conditions: Last Transition Time: 2024-05-10T00:26:13Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: ValidIPs Last Transition Time: 2024-05-10T00:26:00Z Message: Used by 0 VPNTunnels, must be used by a single VPNTunnel Observed Generation: 1 Reason: GetResourceFailed Status: False Type: TunnelsAttached Last Transition Time: 2024-05-10T00:26:00Z Message: TunnelsAttached or ValidIPs Condition not Ready. Observed Generation: 1 Reason: Unknown Status: False Type: Reconciled Last Transition Time: 2024-05-10T00:26:01Z Message: ValidIPs or Reconciled Condition not Ready. Observed Generation: 1 Reason: Unknown Status: False Type: AdvertisedRoutesReady Last Transition Time: 2024-05-10T00:26:13Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: ReceivedRoutesValid Last Transition Time: 2024-05-10T00:26:01Z Message: TunnelsAttached Condition not Ready. Observed Generation: 1 Reason: Unknown Status: False Type: ReceivedRoutesReady Last Transition Time: 2024-05-10T00:26:01Z Message: Condition "TunnelsAttached" is not ready. Observed Generation: 1 Reason: NotReady Status: False Type: Ready ```
VPNBGPPeer
必须附加到 VPNTunnel
。我们会在创建 VPN 隧道中处理此步骤。