如何疑難排解 VPC 中常見的 BYOIP 組態錯誤?

3 分的閱讀內容
0

我想為 Amazon Virtual Private Cloud (Amazon VPC) 設定自備 IP (BYOIP)。

簡短說明

以下是您在 VPC 中設定 BYOIP 時發生的常見錯誤:

  • 路由來源授權 (ROA) 無效,或是找不到適用於 CIDR 和自治系統編號 (ASN) 的路由來源授權。
  • 在 WHOIS 備註中找不到 X509 憑證。
  • 在相關聯網際網路登錄機構中,IP 範圍不是可接受的分配類型。
  • 無法使用區域網際網路登錄機構 (RIR) 記錄中的 X509 憑證來驗證 CidrAuthorizationContext 簽章。
  • 您的 IP 地址卡在待佈建狀態。

解決方法

錯誤: ROA 無效或找不到適用於 CIDR 和 Amazon ASN 的 ROA

**注意:**如果在執行 AWS Command Line Interface (AWS CLI) 指令時收到錯誤訊息,請確定您使用的是最新版本的 AWS CLI

建立 ROA 以授權 Amazon ASN 16509 和 14618 公告您的地址範圍。ROA 最多可能需要 24 小時,才能將 ASN 提供給 Amazon。

若要確認 ROA 建立和 ASN 映射,請使用 RIPE 的 rpki-validator。使用瀏覽器或命令列中的 curl 來完成確認。

瀏覽器範例

https://rpki-validator.ripe.net/json?select-prefix=X.X.X.X/{prefix-length}

**注意:**在上面的範例中,將 X.X.X.X/{prefix-length} 替換為您的地址範圍。

命令列範例

curl https://rpki-validator.ripe.net/json?select-prefix=X.X.X.X/{prefix-length}

**注意:**在上面的範例中,將 X.X.X.X/{prefix-length} 替換為您的地址範圍。

有效輸出範例:

{
  "metadata": {
  "generated": 1685008213,
    "generatedTime": "2023-05-25T09:50:13Z"
  },
  "roas": [
    { "asn": "AS14618", "prefix": "X.X.X.X/{prefix-length}", "maxLength": X, "ta": "arin" },
    { "asn": "AS16509", "prefix": "X.X.X.X/{prefix-length}", "maxLength": X, "ta": "arin" }
  ]
}

無效輸出範例:

{
  "metadata": {
  "generated": 1685008305,
    "generatedTime": "2023-05-25T09:51:45Z"
  },
  "roas": [

  ]
}

若要避免此錯誤,請完成下列任務:

  • 在使用期間內,ROA 必須對兩個 ASN 都有效。它也必須專用於您加入到 AWS 的地址範圍。如需詳細資訊,請參閱自備 IP (BYOIP) 簡介中的「準備您的 IP 地址範圍」一節。
  • 建立 ROA 後,請等待 24 小時,然後再重新佈建。

錯誤: 在 WHOIS 備註中找不到 X509 憑證

此錯誤的常見原因包括:

  • RIR 的 RDAP 記錄中沒有憑證。
  • 憑證中有新行字元。
  • 憑證無效。
  • 憑證不是從有效的金鑰對產生。

確保正確建立和上傳憑證。如需詳細資訊,請參閱建立 AWS 身分驗證的金鑰對

若要疑難排解此錯誤,請確認上傳的憑證是否有效。使用 WHOIS 檢查 RIR 中網路範圍的記錄。

針對 ARIN:

whois -a <Public IP>

檢查 NetRange (網路範圍) 的註解區段。將憑證新增至地址範圍的公開註解區段。

針對 RIPE:

whois -r <Public IP>

在 WHOIS 顯示畫面中,檢查 inetnum 物件 (網路範圍) 的 descr 部分。將憑證新增至地址範圍的 desc 欄位。

針對 APNIC:

whois -A <Public IP>

在 WHOIS 顯示畫面中,檢查 inetnum 物件 (網路範圍) 的 remarks 部分。確認憑證在您地址範圍的 remarks 欄位中。

完成檢查之後,請完成下列任務:

  1. 如果沒有憑證,請建立新憑證。然後,按照本文「解決方法」一節中概述的步驟進行上傳。
    如果有憑證,請確保沒有新行。如果有任何新行,請移除這些行,如下列範例所示:

    openssl req -new -x509 -key private.key -days 365 | tr -d "\n" > publickey.cer
  2. 確認憑證有效。若要執行此操作,請將憑證內容複製至新檔案中,然後執行以下命令:

    openssl x509 -in example.crt -text -noout

    如果您收到無法載入憑證錯誤,請在 BEGIN CERTIFICATE 之後新增一行,並在 END CERTIFICATE 之前新增另一行。

  3. 如果以上都不適用,則表示憑證是使用不正確的金鑰對所產生。

錯誤: 在相關聯網際網路登錄機構中,IP 範圍不是可接受的分配類型

以下是導致此錯誤的原因:

  • 地址範圍的 RIR 分配類型錯誤。
  • 不支援該登錄機構。

有五個區域網際網路登錄機構 (RIR): AFRINIC、ARIN、APNIC、LACNIC 和 RIPE。AWS 支援 ARIN、RIPE 和 APNIC 註冊的前綴。

若要驗證 RIR,請使用 WHOIS:

whois <public ip>

針對 RIPE: 確認狀態ALLOCATED PALEGACYASSIGNED PI

針對 ARIN: 確認 NetTypeDirect AllocationDirect Assignment

針對 APNIC: 確認狀態ALLOCATED PORTABLEASSIGNED PORTABLE

注意:某些註解可能指出此區塊中的地址不可移植。此註釋進一步確認 RIR 無法佈建該地址範圍。

發生上述錯誤的原因如下:

  • 狀態 (適用於 RIPE 和 APNIC) 或 NetType (適用於 ARIN) 不是上一節中列出的任何狀態。
  • 不支援該登錄機構。

錯誤: 無法使用 RIR 記錄中的 X509 憑證來驗證 CidrAuthorizationContext 簽章

佈建地址範圍時,AWS 必須驗證 API 調用的簽章。AWS 使用從憑證衍生的公有金鑰來驗證 aws ec2 provision-byoip-cidr API 調用中的簽章。此錯誤表示無法加密驗證簽章。

造成此錯誤的常見原因如下:

  • 佈建時,您沒有使用正確的簽章。
  • 您使用錯誤的私有金鑰簽署訊息。
  • 您上傳了 RIR 的 RDAP 記錄中的錯誤憑證

錯誤: 您的 IP 地址卡在「待佈建」狀態

最長需要一週時間,才能完成可公開公告範圍的佈建程序。如下列範例所示,請使用 describe-byoip-cidrs 命令來監控進度:

aws ec2 describe-byoip-cidrs --max-results 5 --region us-east-1

如果狀態變更為 failed-provision,請在解決問題後再次執行 provision-byoip-cidr 命令

如需詳細資訊,請參閱在 AWS 中佈建公開公告的地址範圍

相關資訊

在 Amazon Elastic Compute Cloud (Amazon EC2) 中自備 IP 地址 (BYOIP)

自備 IP

AWS 官方
AWS 官方已更新 1 年前