前言
对于大部分BGP Player来说,可以广播自己ip很重要,而大部分支持BGP Session的服务商都比较的昂贵,对大部分个人Player来说并不友好。而Oracle Cloud的免费VPS配合BYOIP与BYOASN功能则可以很好的解决这个问题。零成本播IP,非常适合个人Player。
准备工作
1.一个成功注册并升级的Oracle Cloud账号 这步应该是最难的
甲骨文要求只有升级号才能用BYOIP与BYOASN,即使这些功能不要钱,不太懂为什么
2.自有ASN与IP段,注意IP段需要有对于Oracle Cloud ASN(AS31898)的roa和你自己ASN的roa。
对于Oracle Cloud不同区域的ASN不同,一般对于亚太地区都是AS31898,具体可以自行查询
3.对于IP段与ASN WHOIS的编辑权限(具体地说,可以编辑ASN的descr字段与IP段的remarks字段,可以参考这里)
教程开始~
1.将BYOIP导入Oracle Cloud,开始roa验证
进入Oracle Cloud控制台,选择左上角的导航菜单,选择“网络”,然后选择“BYOIP
点击“导入BYOIP CIDR块/前缀”,并输入你要导入的段子
IPv6最小到/48,IPv4最小到/24,跟在公网上能广播的最小大小一样
接着他会引导你编辑whois,照着提示做,给ip段的descr里面复制加上给你的格式为 OCITOKEN::[IP段]:[一堆字符] 的字符串,保存whois即可
请务必确保这段ip添加了你自己asn和oci asn的roa,不然会导入失败
接着就会进入漫长的验证roa流程,一般为4-7天,耐心等待即可。
如果roa验证无效基本上几分钟就会告诉你结果,加上roa重新开始验证即可
这段时间我们可以顺便导入ASN。
2.导入BYOASN
依旧左上角菜单栏,点击网络,在IP管理的最底下选择“BYOASN”并进入
BYOASN的流程相对BYOIP来说较为简单,点击导入ASN后输入编号,接着把descr字段编辑为 OCITOKEN::[ASN编号]:[一堆字符] 的格式,保存whois即可。
BYOASN的导入很快,几分钟到几小时就完成了,等到状态变为“活动”即可。

3.宣告IP段,更新源ASN
等到BYOIP的状态变为“活动”后,就可以开始宣告ip段了。
等待几天后,进入BYOIP页面,不出意外的话你会看到你的ip段状态变为“活动”,源ASN为31898
点击右边三个点-更新源ASN,把ASN改为你自己的ASN,点击更新即可。

完事之后先别急,再点击那个菜单,点通告就行了。
这个时候bgp.tools上已经可以查到这个段的路由了,长这样:
至此宣告完成。已经成功的完成了使用自己的ASN在OCI上广播了自己的IP段,下一步便是附加IP段到实例上。
4.附加IP到到实例上
随便创建一个实例和他配套的子网,开机确保他给你的v4能连上ssh,然后记住一下他所在的vcn和子网。继续下一步。
首先,我们需要添加我们导入的BYOIP到实例的VCN里。这个过程有点绕,这里我一步一步给大家演示。

例子中我们需要为“instance-20250812-1305”这个实例添加BYOIP。
首先进入网络-虚拟云网络,选择你实例所在的VCN
点击IP管理-CIDR 块/前缀,点击“添加CIDR块/前缀”,弹出菜单中关掉”分配 Oracle 分配的 IPv6 /56 “,BYOIPv6前缀选择你导入的BYOIP,点击添加即可。

接下来,为实例所在的子网分配一个来自 VCN 的 IPv6 CIDR 块。
还是刚才的菜单,点击子网,点进去你实例所在的子网(这里另外两个有了前缀的可以不用管,是我目前导入好的),点击IP管理-IPv6 前缀-添加 IPv6 前缀

接着选择并划分你的前缀。需要把你导入的大段割成/64的子段才能用在子网上。

选择并划分好后,点击添加IPv6前缀即可。
接下来需要配置路由表,允许互联网访问。添加一条路由规则,为子网的所有v6出流量指向oci的互联网网关让他能上网。
返回vcn详情页面,点击路由,选择你那个默认路由表(此处是Default Default Route Table for vcn-20250812-1306),点击路由规则-添加路由规则。
协议版本选择IPv6,目的地CIDR块填写::/0,目标类型选择Internet网关,目标选择你的互联网网关(此处为Internet Gateway vcn-20250812-1306),添加路由规则即可。

接着,编辑一下安全组允许v6流量。
返回vcn详情页面,点击安全,进入你实例所在子网的安全列表(此处为Default Security List for subnet-20250812-1307),

点击安全规则-添加入站规则。自行决定。我这里允许所有地址所有协议所有流量了。
出站规则建议允许所有流量。(目的地::0/0,协议全部)
最后,为实例添加分配的ipv6地址。
依旧左上角菜单,计算-实例,选择目标实例-网络,下滑到附加的VNIC部分,点击实例的主VNIC。

上方菜单栏选择IP管理-IPv6 地址,点击分配 IPv6 地址

前缀选择你刚才添加到子网的那个前缀,IPv6 地址分配随意,建议自动分配,接着点击分配即可。
到此为止,OCI控制台内的操作已经全部完成,可以复制一下被分配的IPv6地址。
5.配置实例内的IPv6地址
SSH进入实例。首先看一眼网口有v6没。
1 | ip a |
看一下你的主网口,一般是eth0或者ens3之类的,看看有没有v6地址。正常情况下这时候你可以看到inet6有一行是你刚才分配的v6地址。

这个时候就已经ok啦,享受吧~
如果没有v6地址,可以重新dhcp一下。
1 | sudo dhclient -6 eth0(注意替换网卡名) |
可以用nexttrace之类的工具确认一下可达性。
1 | curl nxtrace.org/nt |bash |

tata回国,对味了🤮。确实甲骨文播出去了,搞定。