自己在家开运营商 Part.1 - 注册一个 ASN

 

前言

AS & BGP

在计算机网络的课程中, 我们都知道当今的 Internet 实际上是由多个自治系统 (Autonomous system) 通过 BGP (边界网关协议) 相互连接形成的. 每个 AS 有一个编号, 被称为 ASN. 每个 AS 里会包含一些 IP 段, 而每个 IP 也必须在某个 AS 内被宣告才能接入互联网.

例如南京大学在校内部分网络可能被分配 114.212.0.0/16 段下的公网 IP 地址, 使用 IPinfo 网页查询可知, 该 IP 段属于 AS4538 China Education and Research Network Center.

意外发现

之前也未在此深究, 我的所有 IP 地址来源都是 ISP (家里的宽带) 和云服务厂商 (阿里云, GCP, Azure,…)

对 IP 地址和 ASN 的刻板印象就是 - 价格昂贵, 购买繁琐且困难, 个人不友好

但最近上网冲浪时发现, 原来个人申请 ASN 及 IP 段的价格和时间完全是可以接受的, 并且已经有一部分爱好者形成了社区.

所以就有了此系列文章, 以记录我在个人 ASN 上进行的一些实验.

注册流程

目前地球上直接负责管理 IP 地址和 ASN 分配的机构是区域互联网注册管理机构 - Regional Internet registry, RIR. RIR 由 IANA 管理, IANA 又由 ICANN 管理.(好乱)

根据 Wikipedia, RIR 目前有 ARIN, RIPE NCC, APNIC, LACNIC, AfriNIC 这五家. 根据目前网络上的资料, 其中对个人申请最友好的是 RIPE NCC, 其次比较友好的是 ARIN 和 APNIC. 以下申请流程以 RIPE NCC 为例, 其他几家可能会有区别.

选择一个 LIR

如果你需要直接向 RIPE NCC 申请资源的话, 需要先成为 RIPE NCC 的 member, 每年缴纳 €1,550 的会员费. 这对大多数人来说显然太贵了, 但 RIPE NCC 允许自己的 member 代他人申请, 此时 member 又被称为 Local Internet registry, LIR. 我们可以直接找一个交了会员费的 LIR, 请他帮我们申请需要的 ASN 和 IP 地址段.

所以我们要申请 ASN 的第一步就是找一个靠谱的 LIR, 你也可以自己 Google 搜索 LIR Services.
目前, RIPE NCC 的 PI 资源费用标准为 €50/年, 也就是说, 正常情况下 LIR 就得给 RIPE NCC 每年交 €50 费用, 所以你需要为你的 ASN 给 LIR 至少支付 €50/年的年费 + LIR 的服务费用, 具体价格咨询你选定的 LIR.

这一步, 我选择了 NodeSeek 上搜到的目前比较便宜的灵车Infiniroute: https://www.nodeseek.com/post-83455-1
LowEndTalk 上也有个 LIR 的列表, 虽然很多价格都没及时更新, 仅供参考: https://lowendtalk.com/discussion/160162/the-aio-ip-related-thread-ipv4-ipv6-asn-only-providers-are-allowed-to-post-offers-2

准备资料

TL;DR: 你至少需要以下材料:

  1. 个人身份证或公司注册文件 (身份证后续需要在 iDenfy 在线验证)
  2. 近期欧洲范围内支持 BGP 的服务商的发票一份 (BuyVM / Vultr 买台虚拟机即可)
  3. 联系邮箱及通信地址 (联系邮箱还挺重要的, 之后很多验证会用到, 地址应该无所谓)
  4. 两个你的上游 ASN (可以随便写欧洲范围内支持 BGP 的服务商, 其中之一可能要和你提供的发票一致)

有些 LIR 提供懒人包办服务: 他会一步步指导你提供需要的信息, 他帮你完成信息的填写和注册, 还打包出售 BGP Session 作为你的上游. 但有些 LIR 就需要你自己完成注册步骤, 他只负责 sponsor 相关资源. 我选择的 Infiniroute 就属于后者.

如果你遇到了后者, 可以参考这里自己去 RIPE NCC 注册账号和填写信息: https://lir.zhnet.co.uk/asn-setup-zhcn
就算 LIR 帮你完成了信息的填写, 你也可以看看上面的连接, 熟悉下 RIPE NCC Access 的页面操作.

付钱&等待

LIR 应该会指导你完成剩余的步骤, LIR 还可能赠送你一个 IPv6 的 IP 段, 没有赠送的话购买一段 IPv6 价格也不贵(IPv4 就比较贵). 一般注册流程可能需要 3-5 天, 成功后登录 RIPE NCC Access 就能看到自己的资源了.

最后, 你可以自己在 RIPE NCC Access 管理你的 ASN 和 IPv6 地址: https://apps.db.ripe.net/db-web-ui/myresources/overview

在 RIPE NCC Access 管理自己的资源在 RIPE NCC Access 管理自己的资源

RPKI

得到 ASN 和 IP 地址段之后还有一个步骤: 设置 RPKI 和 ROA.

RPKI 是什么请参考这篇 Cloudflare 的文章, 简单来说是资源公钥基础设施, 通过证书来验证 IP 地址的使用权.

你需要通过 RPKI 上的 ROA (路由源授权) 来将你的 IP 段授权给你的 AS 使用.
目前, 部分上游已经开始强制要求基于 RPKI 的验证, 所以我们现在就来完成这一步, 避免之后的麻烦.

你得到的 IP 资源分为 PA (Provider Aggregatable) 和 PI (Provider Independent) 两种. 对于 LIR 赠送的或者你主动购买的 IP 地址资源, 它一般属于 PA 资源, 因为 PI 资源要额外付费比较贵, PA 资源要修改 RPKI 的话, 直接联系 LIR 即可.

所以直接联系 LIR 说明: 为 xxx IP 段添加一个 ASxxxx 的 ROA, LIR 应该就会帮你设置好了.

之后如果有多个 ASN / IP 段的话, 需要修改 ROA 也要联系 LIR.

route6

和 RPKI 类似的, route6 也是 AS 和 IP 段之间的对应关系, 有些上游会要求. 这个需要我们自己在 RIPE Database 中创建.

登陆 RIPE Database, 选择 Create an Object, 类型选择 route6, 直接填入自己的 AS 和 IP 段即可.

创建需要的 route6 对象创建需要的 route6 对象

创建完成后, 自己的 IPv6 资源旁边可以看到绿色的 IRR 标签创建完成后, 自己的 IPv6 资源旁边可以看到绿色的 IRR 标签

小结

完成了万里长征的第一步

如果看着 RIPE Database 还是眼花缭乱, 可以参考一下官方文档.

欲知后事如何, 且听下回分解

本文采用 CC BY-NC-SA 4.0 许可协议发布.

作者: lyc8503, 文章链接: https://blog.lyc8503.net/post/asn-1-asn-registration/
如果本文给你带来了帮助或让你觉得有趣, 可以考虑赞助我¬_¬