RIPE申请注册ASN及实名上网指北
RIPE申请注册ASN及实名上网指北
前言
本文纯教程,没有过多的理论介绍,更多的是实操。
本教程并非Noob指引,公网也并非儿戏,请具备相关系统、网络知识再尝试食用本教程,最好先去DN42体验一下。
教程是以个人方式申请32 bit的ASN和/48 IPv6 ,系统使用Debian12
不想看啰嗦,最快速的教程,请移步 [Drcai’s Noob BGPlayer in 1hour 绝赞速成班 逃 ~] (https://www.91yunbbs.com/discussion/641)
价格
- 假设你不成为各大IRR的大会员,最便宜的ASN注册费用为300-500元人民币。
- 虽然注册ASN时候LIR通常都会给你一个免费的/48的块,但每年还得花费15-20瑞士法郎给LIR续命你的IPv6块。
- 你在哪宣告?无非就是几家厂商,Vultr、BuyVM之类的。Vultr为例 最少也得5刀一个月。
- 某些LIR提供一次性购买ASN和IPv6块,可能收费要更贵。(但要提防LIR跑路)
如果你是年付几十美金的小鸡都还在犹豫的人,我觉得你不适合注册ASN。
ASN注册
走流程
我注册的是RIPE的ASN,找的是 freetransit.ch 作为LIR。当然你不想用英文交流可以找 Soha大佬。
首先先去RIPE注册一个帐号,创建好个人信息,此部份参考 https://web.archive.org/web/20190227042014/https://www.ykhut.com/archives/72/ (这边建议使用自己域名的邮箱去注册,之后的宣告地址、认证等需要用到。qq或者gmail这种公共邮箱可能在某些地方不受支持
还需要提供证明你在欧洲地区有网络设备和两个准备peer的对象,咋们普通人最简单的话就是在vultr开一台欧洲地区的vps即可,即满足欧洲地区网络设备,又有peer对象。剩下的一个可以把LIR作为一个peer对象。准备好以上东西后只需保存好Vultr的发票还有机器控制台的截图(记得把敏感信息打码,密码等)
创建好个人信息之后准备 钱 + 身份证明 + RIPE个人信息 + 欧洲地区网络设备证明。这边建议使用有效护照扫描件作为身份证明。然后找到LIR,发邮件去咨询好价格和流程。之后按照LIR要求提供你所注册的RIPE信息,还有身份证明。通常RIPE那边只要2-5天就会把你的信息验证完毕并且下发ASN和IP块。
我找的freetransit大概耗费了一个月时间才把所有流程走完,可能是因为时差和邮件效率关系(也有可能他们就是那么慢
注册完之后,正常是可以在 https://apps.db.ripe.net/db-web-ui/fulltextsearch 搜索出来自己的所有信息。也可以在 https://bgp.tools/ 搜索到自己的AS信息之后要去 https://apps.db.ripe.net/db-web-ui/webupdates/select 新建一个route6,第一行写上批下来的地址块,第二行写上自己的AS,保存之后就可以进行下一步操作了。
RPKI ROA认证
ASN和地址块下来后就最好做好ROA认证,LIR给的v6地址块大多数都是PA类型,所以我们要骚扰LIR让他帮我们加上RPKI ROA认证即可,如果是PI类型的地址,我们可以手动自己去 https://my.ripe.net/#/rpki 添加好认证。
服务商申请权限
我这边选择在Vultr给IP安家,Vultr的服务配置比较方便且快。也可以在其他支持BGP Session的机器进行宣告。
先去 https://my.vultr.com/bgp/setup/ 去申请许可。这边选项很直观明了,填写完对应信息后上传LOA授权书即可。
LOA授权书模板: https://docs.vultr.com/example-letter-of-authorization-for-bgp-announcements
(模板可多次使用,之后在其他服务商可用,改一改日期和对方信息即可)
提交申请之后会有几封验证邮件发到你在RIPE注册留存的邮箱中认证ASN和地址块所有权。如果你在下午或者晚上申请,基本上半小时左右就把流程走完,然后就能在 https://my.vultr.com/network/#network-bgp 页面看见你的地址块,这时候你就留意一下页面显示的RPKI Status是不是绿色的Valid,如果不是请回到RPKI ROA认证那步骚扰LIR添加认证或者自行添加。
如果Vultr申请后再添加RPKI,完成后可能要在Vultr重新添加一次该地址块,邮件认证之后即可刷新RPKI状态
宣告IP
首先先在Vultr 欧洲地区开一台VPS,假设你做证明时候已经开好了。接下来装一个bird2用来宣告,如果需要RouteOS的教程请移步Drcai’s Noob BGPlayer in 1hour 绝赞速成班 逃 ~ 或者 RouterOSv7 泥头车与酒驾 BGP 。
安装一个bird2apt install bird2
然后vim /etc/bird/bird.conf
编辑一波BGP配置,首先先d9999d掉所有的配置,然后手写一下配置
这是我提供的模板,请替换相关信息后使用(包括[ ])
1 |
|
接下来编辑好配置后,应用一下 birdc c
,如果birdc c之后出现错误,请检查配置。
1 |
|
然后设置一个dummy虚拟网卡
1 |
|
去看看bgp状态 birdc s p
,正常是established,如果不是检查一下配置和连通性。
1 |
|
最后看看地址有没有宣告出去,被对方路由接受 birdc s p a
1 |
|
可以看到最底下 Export updates 的 accepted 有 7,那就证明对方接受了 7 条更新。(这边我连接了比较久且中途断开过几次所以被接受了多次更新,正常刚开始只会有1或者2)
验证
因为bgp需要时间传播,通常要24小时或者更多才可以传播到全球大部份地方。但是配置完十几分钟后,某些地域比较近或同一上游的路由已经接受到更新了,那就意味着可以ping通。
这时候我们可以去 ping.pe 去验证一下。如果出现了一两个节点能够ping通,那大概率是宣告成功了,接下来只需要等待同步全球即可。
实名上网 启动
我相信你们想使用自己的ip去实名上网,但是国内几大运营商或者主机商几乎是不支持私人宣告地址的。
但我们有一件很擅长的事情,可以利用这点去使用自己的ip。
接下来各种千奇百怪的方法连通到Vultr的机器。完成之后去whatismyip之类的看看自己地址是否正确,还有 https://test-ipv6.com/ 测试一波ipv6有没有通。
隧道好了之后设置一下v6默认路由,首先先看一下默认路由长啥样,然后再去变更
以下IP等信息需要自行更改后使用,请勿无脑cp,vps掉网等事故概不负责
1 |
|
更改一下默认路由最后加上一个src 自己宣告的地址
1 |
|
测试一下本机v6能不能通
1 |
|
最后,可以去自己机器再次访问 https://test-ipv6.com/ 检查一下是否变成自己宣告的地址了。如果不是?确认试一下全局?
https://test-ipv6.com/ 甚至还会显示你的AS name,达到真正意义上的实名上网了。
小问题
如果你的小鸡是1c512m或者1c1g的,不知道你有没有发现内存占用了很多,甚至已经爆了swap也只有一半了。
这是因为接收的路由条目太多了,v6可能是十几万条,如果再加上v4有差不多九十多万条,足以给你的小鸡boom了。
这时候我们需要给接收的条目过滤掉,毕竟也用不上 不如丢进垃圾桶。
去 vim /etc/bird/bird.conf
找到这一段 import accept;
改为 import none;
1 |
|
然后 birdc c
确认配置后, 再去 birdc s p a
确认一下
1 |
|
操作后就能看见被过滤掉了,如果还是占用很厉害,估计得重启一下bird服务。
感谢一下几位大佬的文章,解答了我很多疑惑
Drcai’s Noob BGPlayer in 1hour 绝赞速成班 逃 ~
RouterOSv7 泥头车与酒驾 BGP
在 Linux 下通过 BIRD 广播自己的 IPv6
BGP新手的教程