验证域控制权 - Amazon Virtual Private Cloud
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

验证域控制权

在将 IP 地址范围引入 Amazon 之前,您必须使用本节中所述的一个选项来验证自己是否控制了 IP 地址空间。之后,如果将 IP 地址范围引入 Amazon,Amazon 会验证您是否控制了 IP 地址范围。该验证可确保客户无法使用属于他人的 IP 范围,防止出现路由和安全问题。

您可以通过两种方法来验证自己是否控制了相应范围:

  • X.509 证书:如果 IP 地址范围是在支持 RDAP 的互联网注册机构(例如 ARIN、RIPE 和 APNIC)注册,您可以使用 X.509 证书验证域的所有权。

  • DNS TXT 记录:无论互联网注册机构是否支持 RDAP,您都可以使用验证令牌和 DNS TXT 记录来验证域的所有权。

使用 X.509 证书验证域

本节旨在介绍在将 IP 地址范围引入 IPAM 之前,如何使用 X.509 证书验证域。

使用 X.509 证书验证域
  1. 完成《Amazon EC2 用户指南》中的 Amazon EC2 中 BYOIP 的先决条件中的三个步骤。

    注意

    创建 ROA 时,对于 IPv4 CIDR,您必须将 IP 地址前缀的最大长度设置为 /24。对于 IPv6 CIDR,如果要将它们添加到可传播池中,IP 地址前缀的最大长度必须为 /48。这可以确保您有充分的灵活性来跨 Amazon 区域划分您的公有 IP 地址。IPAM 强制执行您设置的最大长度。最大长度是您对此路由允许的最小前缀长度公告。例如,如果您通过将最大长度设置为 /20 将 Amazon CIDR 块带入 /24 中,您可以根据自己喜欢的方式划分较大的块(例如 /21/22/24)并将这些较小的 CIDR 块分发到任何区域。如果您要将最大长度设置为 /23,您将无法划分和传播来自较大块的 /24。另请注意,/24 是最小的 IPv4 块,/48 是您可以从区域向互联网广告的最小 IPv6 块。

  2. 仅完成《Amazon EC2 用户指南》在 Amazon 中预置公开发布的地址范围下的步骤 1 和 2,先不预置地址范围(步骤 3)。保存 text_messagesigned_message。本过程后面部分需要使用它们。

完成上述步骤后,继续使用 Amazon 管理控制台和 Amazon CLI 自带 IP 到 IPAM 中仅使用 Amazon CLI 自带 IP CIDR 到 IPAM 中

使用 DNS TXT 记录验证域

在将 IP 地址范围引入 IPAM 之前,请先完成本节中的步骤,使用 DNS TXT 记录验证自己的域。

您可以使用 DNS TXT 记录来验证自己是否控制了公有 IP 地址范围。DNS TXT 记录是一种包含域名信息的 DNS 记录。该功能让您能够使用在任何互联网注册机构(例如 JPNIC、LACNIC 和 AFRINIC)注册的 IP 地址,而不仅仅是那些支持基于 RDAP(注册数据访问协议)记录的(例如 ARIN、RIPE 和 APNIC)的注册机构。

重要

要想继续操作,必须先在免费或高级套餐中创建了 IPAM。如果没有 IPAM,请先完成创建 IPAM

步骤 1:创建 ROA(若没有)

必须在区域互联网注册机构(RIR)中为自己要公开发布的 IP 地址范围创建路由来源授权(ROA)。如果 RIR 中没有 ROA,请先完成 《Amazon EC2 用户指南》中的3. 在 RIR 中创建 ROA 对象。忽略其他步骤。

您可以引入的最具体 IPv4 地址范围是 /24。对于公开发布的 CIDR,可以引入的最具体 IPv6 地址范围是 /48;对于不公开发布的 CIDR,可以引入的最具体 IPv6 地址范围是 /60。

第 2 步:创建验证令牌

验证令牌是 Amazon 生成的随机值,可用于证明对外部资源的控制权。例如,当您将 IP 地址范围引入 Amazon(BYOIP)时,可以使用验证令牌来验证自己是否控制了公有 IP 地址范围。

完成本节中的步骤,创建好验证令牌;在本教程的后续步骤中,您需要使用该令牌才能将自己的 IP 地址范围引入 IPAM。请按照以下说明,在 Amazon 控制台或 Amazon CLI 中继续操作。

Amazon Management Console
创建验证令牌
  1. https://console.aws.amazon.com/ipam/ 中打开 IPAM 控制台。

  2. 在 Amazon 管理控制台中,选择要在其中创建 IPAM 的 Amazon 区域。

  3. 在左侧导航窗格中,选择 IPAM

  4. 选择 IPAM,然后选择验证令牌选项卡。

  5. 选择创建验证令牌

  6. 创建令牌后,让该浏览器选项卡保持打开状态。下一步会用到令牌值令牌名称,而后续步骤会用到令牌 ID

请注意以下几点:

  • 创建验证令牌后,您可以在 72 小时内将该令牌重复用于从 IPAM 预置的多个 BYOIP CIDR。若想在 72 小时后预置更多 CIDR,必须创建新令牌。

  • 最多可创建 100 个令牌。如果令牌数达到上限,请删除过期令牌。

Command line
  • 请求 IPAM 使用 create-ipam-external-resource-verification-token 创建一个可用于配置 DNS 的验证令牌:

    aws ec2 create-ipam-external-resource-verification-token --ipam-id ipam-id

    该指令会返回一个 IpamExternalResourceVerificationTokenId 和带有 TokenNameTokenValue 的令牌,以及该令牌的到期时间 (NotAfter)。

    { "IpamExternalResourceVerificationToken": { "IpamExternalResourceVerificationTokenId": "ipam-ext-res-ver-token-0309ce7f67a768cf0", "IpamId": "ipam-0f9e8725ac3ae5754", "TokenValue": "a34597c3-5317-4238-9ce7-50da5b6e6dc8", "TokenName": "86950620", "NotAfter": "2024-05-19T14:28:15.927000+00:00", "Status": "valid", "Tags": [], "State": "create-in-progress" } }

请注意以下几点:

第 3 步:设置 DNS 区域和 TXT 记录

完成本部分中的步骤,设置好 DNS 域和 TXT 记录。如果未使用 Route53 作为 DNS,则按照 DNS 提供商提供的文档设置好 DNS 区域并添加 TXT 记录。

如果使用的是 Route53,请注意以下几点:

无论使用的是 Route53 还是其他 DNS 提供商,在设置 TXT 记录时,都要注意以下几点:

  • 记录名称应为令牌名称。

  • 记录类型应为 TXT。

  • ResourceRecord 值应为令牌值。

示例:

  • 名称86950620.113.0.203.in-addr.arpa

  • 类型TXT

  • ResourceRecords 值a34597c3-5317-4238-9ce7-50da5b6e6dc8

其中:

  • 86950620 为验证令牌名称。

  • 113.0.203.in-addr.arpa 为反向查找区域的名称。

  • TXT 为记录类型。

  • a34597c3-5317-4238-9ce7-50da5b6e6dc8 为验证令牌值。

注意

根据要通过 BYOIP 引入 IPAM 的前缀大小,必须在 DNS 中创建一条或多条身份验证记录。这些身份验证记录的记录类型为 TXT,且必须放置在前缀本身或其父前缀的反向区域中。

  • 对于 IPv4,身份验证记录需要与构成前缀的八位字节边界的范围保持一致。

    • 示例

    • 对于 198.18.123.0/24(已按八位字节边界对齐),您需要创建一条身份验证记录:

      • token-name.123.18.198.in-addr.arpa. IN TXT “token-value

    • 对于 198.18.12.0/22(本身未按八位字节边界对齐),您需要创建四条身份验证记录。这些记录必须涵盖子网 198.18.12.0/24、198.18.13.0/24、198.18.14.0/24 和 198.18.15.0/24(这些子网均按八位字节边界对齐)。相应的 DNS 条目必须是:

      • token-name.12.18.198.in-addr.arpa. IN TXT “token-value

      • token-name.13.18.198.in-addr.arpa. IN TXT “token-value

      • token-name.14.18.198.in-addr.arpa. IN TXT “token-value

      • token-name.15.18.198.in-addr.arpa. IN TXT “token-value

    • 对于 198.18.0.0/16(已按八位字节边界对齐),您需要创建一条身份验证记录:

      • token-name.18.198.in-addr.arpa. IN TXT “token-value

  • 对于 IPv6,身份验证记录需要与构成前缀的半字节边界的范围保持一致。有效的半字节数值包括 32、36、40、44、48、52、56 和 60。

    • 示例

      • 对于 2001:0db8::/40(已按半字节边界对齐),您需要创建一条身份验证记录:

        • token-name.0.0.8.b.d.0.1.0.0.2.ip6.arpa TXT “token-value

      • 对于 2001:0db8:80::/42(本身未按半字节边界对齐),您需要创建四条身份验证记录。这些记录必须涵盖子网 2001:db8:80::/44、2001:db8:90::/44、2001:db8:a0::/44 和 2001:db8:b0::/44(这些子网均按半字节边界对齐)。相应的 DNS 条目必须是:

        • token-name.8.0.0.8.b.d.0.1.0.0.2.ip6.arpa TXT “token-value

        • token-name.9.0.0.8.b.d.0.1.0.0.2.ip6.arpa TXT “token-value

        • token-name.a.0.0.8.b.d.0.1.0.0.2.ip6.arpa IN TXT “token-value

        • token-name.b.0.0.8.b.d.0.1.0.0.2.ip6.arpa IN TXT “token-value

      • 对于非公开发布范围 2001:db8:0:1000::/54(该范围本身未按半字节边界对齐),您需要创建四条身份验证记录。这些记录必须涵盖子网 2001:db8:0:1000::/56、2001:db8:0:1100::/56、2001:db8:0:1200::/56 和 2001:db8:0:1300::/56(这些子网均按半字节边界对齐)。相应的 DNS 条目必须是:

        • token-name.0.1.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa IN TXT “token-value

        • token-name.1.1.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa IN TXT “token-value

        • token-name.2.1.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa IN TXT “token-value

        • token-name.3.1.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa IN TXT “token-value

    • 要验证 token-nam 和 ip6.arpa 字符串之间十六进制数字的正确数量,请将该数量乘以四。结果应与前缀长度一致。例如,对于 /56 前缀,应有 14 个十六进制数字。

完成上述步骤后,继续使用 Amazon 管理控制台和 Amazon CLI 自带 IP 到 IPAM 中仅使用 Amazon CLI 自带 IP CIDR 到 IPAM 中