> For the complete documentation index, see [llms.txt](https://docs.console.zenlayer.com/welcome/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.console.zenlayer.com/welcome/cn/elastic-compute/get-started/manage-networking/add-your-own-asn.md).

# 接入自有 ASN（BYOASN）

将一个已有的 ASN 接入平台后，Zenlayer 将以该 AS 而非 Zenlayer 的 ASN 宣告您的前缀。该 ASN 不必登记在您名下——向他人租用或以其他方式获授权使用的 ASN 同样可以接入。平台验证的是对该 ASN 的控制权：在 RIR 中为该 ASN 的 `aut-num` 对象添加一条 export 声明即可，无需提交工单，也无需人工审核。

## 前提条件

* 该 ASN 是公有 ASN，且未在平台上被使用。
* 能在管理该 ASN 的 RIR（ARIN、RIPE NCC、APNIC 等）中更新其 `aut-num` 对象。只有该 ASN 的登记方，或对象中列出的维护者（maintainer）才能更新。如果该 ASN 登记在他方名下——例如租用的 ASN，或由母公司、上游运营商持有的 ASN——请将第二步中的 export 声明发给对方，由对方代为添加。

## 操作步骤

### 第一步：获取验证码

1. 进入 **弹性算力** > **IP 地址池** > **ASN**，点击 **+ BYOASN**。
2. 输入 ASN。如有需要，展开 **More Settings** 设置资源组和标签。
3. 点击 **获取验证码**。

如果输入的不是有效的公有 ASN，或该 ASN 已被使用，此时会提示错误。请更换 ASN 后重试。

### 第二步：在 `aut-num` 对象中添加 export 声明

复制弹窗中为您生成的 export 声明。其格式如下：

```
export: to AS62610 action community .= {62610:<验证码>}; announce AS<该 ASN>
```

其中 `AS62610` 和 `62610:` 是 Zenlayer 的 ASN，保持原样；`<验证码>` 和 `<该 ASN>` 以控制台弹窗中显示的为准。请直接复制，不要手工重新输入——只要与控制台生成的内容有任何出入，验证都会失败。

这条声明是标准的 RPSL `export:` 属性，一个 `aut-num` 对象可以有多条。添加它不会替换或影响对象上已有的路由策略。

然后在管理该 ASN 的 RIR 中添加这一行。如果该 ASN 由他方持有，此时就应把这行交给对方——以下操作由持有对象凭据的一方完成。

{% tabs %}
{% tab title="ARIN" %}
ARIN 的 `aut-num` 对象存放在 ARIN 互联网路由注册库（IRR）中，通过 ARIN Online 管理。

1. 使用与该 ASN 所属 Org ID 关联的账号登录 [ARIN Online](https://account.arin.net/)。
2. 在主菜单中选择 **Routing Security** > **Manage IRR**，然后选择该 Org ID。
3. 在导航栏中选择 **aut-num**。
   * 如果该 ASN 已有 `aut-num` 对象，选中后点击 **Edit**。
   * 如果没有，点击 **Create Object**，将 **Maintained By** 设为该 Org ID，并选择该 ASN。一个 `aut-num` 对象只对应一个 ASN。
4. 在 **Export** 字段中，填入声明里 `export:` 之后的全部内容：

   ```
   to AS62610 action community .= {62610:<验证码>}; announce AS<该 ASN>
   ```

   已有的 **Import**、**Export** 等策略条目保持不变。
5. 点击 **Review**，再点击 **Submit**。

ARIN 也支持通过[邮件模板](https://www.arin.net/resources/manage/irr/templates/)和 [IRR RESTful API](https://www.arin.net/resources/manage/irr/irr-restful/) 提交同一对象。
{% endtab %}

{% tab title="RIPE NCC" %}

1. 使用 RIPE NCC Access 账号登录 [RIPE Database Webupdates](https://apps.db.ripe.net/db-web-ui/query)。更新对象还需要其 `mnt-by` 属性所指 `mntner` 的凭据——与该维护者关联的 SSO 账号，或维护者密码。
2. 将对象类型设为 **aut-num**，搜索该 ASN（例如 `AS64500`）。
3. 在查询结果中，点击该对象上的更新按钮，将其在 Webupdates 中打开。
4. 将声明添加为一条 `export:` 属性：
   * 在字段模式下，从可选属性列表中添加 `export`（表单默认只显示必填属性，需要手动添加可选属性），然后粘贴属性值。
   * 或切换到文本框模式，把整行 `export: …` 粘贴进对象。
5. 点击 **Submit**。
   {% endtab %}

{% tab title="APNIC" %}

1. 登录 [MyAPNIC](https://my.apnic.net/)。
2. 进入 **Resources** > **Whois updates**。
3. 打开该 ASN 的 `aut-num` 对象进行编辑。
4. 将整行 `export: …` 添加到对象中，已有的 `import:`、`export:` 行保持不变。
5. 提交对象。

APNIC 会用自己的维护者保护已分配 ASN 的部分属性（`as-name`、`descr`、`country`、`org`），但 `export:` 不在其中，可以自行添加。更新 Whois 对象推荐使用 MyAPNIC，发邮件至 `auto-dbm@apnic.net` 的方式正在逐步停用。
{% endtab %}
{% endtabs %}

如果该 ASN 由其他 RIR（如 LACNIC、AFRINIC）管理，同样在该 RIR 的会员门户中为其 `aut-num` 对象添加这一行 `export:`。

### 第三步：确认验证

返回控制台，点击 **已完成验证**；也可以点击 **Verify later** 并关闭弹窗。

无论选择哪种方式，平台都会在之后 3 天内持续检测该声明。验证不是即时完成的——RIR 的变更需要时间发布，保存对象后立即执行的检测可能还查询不到。

{% hint style="info" %}
验证码 3 天后失效。若届时 ASN 仍未通过验证，需要重新生成验证码，并添加新的 export 声明。
{% endhint %}

## 结果

检测到声明后，该 ASN 即添加到您的账号中，可作为 origin ASN 选用。

如果弹窗提示未检测到声明，说明该行尚未发布或内容不匹配。请对照控制台中的声明检查 `aut-num` 对象，然后点击 **重新验证**。

## 后续操作

[宣告 BYOIP](/welcome/cn/elastic-compute/get-started/manage-networking/advertise-byoip.md) 时，将该 ASN 选作您自有前缀的 origin ASN。

如果持有该 ASN 的一方无法更新 `aut-num` 对象，请联系我们并提供该 ASN 的授权书（LOA）。
