我的心里除了露娜大人已经装不下其他女人了

在 Linux 下通过 BIRD 广播自己的 IPv6

准备工作

ASN 以及 IP Block

首先你得拥有一个属于自己的 ASN 以及一个不小于 /48 的 IPv6 Block

注册 ASN 的一般流程是寻找 APNIC 等互联网注册管理机构注册会员然后申请,由于一般人不太可能注册这些机构的会员,加上注册这些会员的入会费也十分的昂贵

所以就需要寻求 LIR 来帮忙申请 ASN 了

Local Internet registry (LIR) is an organization that has been allocated a block of IP addresses by a RIR, and that assigns most parts of this block to its own customers.

各大 LIR 的价格不等,但一般不会超过 300CNY

这里推荐几个有 LIR 服务的商家:AperNetHostUS(链接含有 aff)

在 LIR 处购买 ASN 后一般会赠送一个 /48 的 IPv6 Block

如果你想自己成为 LIR 可以看一看这篇文章<存档>

寻找一个支持 BGP Sessions 的主机商

这里推荐 Vultr(链接含有 aff)

通过 aff 链接注册后可以获得首月 100 美元的赠金

关于如何在 Vultr 开启 BGP 可以查看官方教程或通过 Google 等搜索引擎寻找相关教程

在提交了你的 ASN 和 IP Block 后,Vultr 会向你 Whois 中的邮箱发一封验证邮件,点击第一个链接就可以了。

开始广播自己的 IP

首先你需要部署一台同时拥有 IPv4 和 IPv6 的 VPS

在 Linux 下你可以使用 BIRD,Quagga 等软件来配置 BGP

当然,你也可以选择使用 RouterOS

我这里选择的是 Debian11 以及 BIRD2 来广播

目前 BIRD 1.x 和 2.x 同时在维护,区别是 1.x 中 IPv4 和 IPv6 协议是分开的(bird 和 bird6),而 2.x 将两部分代码合并在了一起且引入了更多功能。但是 1.x 本身也是落后技术终将被淘汰,所以我推荐使用 BIRD 2.x。两个版本的语法并无差别,无非就是 2.x 在和路由表相关的操作的时候,需要指定特别的协议,如 ipv4; ipv6;

安装 BIRD2

在 Debian11 下安装 BIRD2 很简单,你只需要一行代码就行了

apt install bird2 -y

修改 /etc/bird/bird.conf的配置文件

安装 BIRD2 后在/etc/bird/下会有个官方的示例文件,我们这里可以直接删除。

新建一个bird.conf

router id 你主机的IPv4;

define BOGON_ASNS = [
    0,
    23456,
    64496..64511,
    64512..65534,
    65535,
    65536..65551,
    65552..131071,
    4200000000..4294967294,
    4294967295
];

filter sample_import
int set reject_private_asn; {
    if bgp_path ~ BOGON_ASNS then reject;
    accept;
}

protocol bgp vultr {
    local as 你的ASN(只需要数字);
    source address 你主机的IPv6;
    multihop 2;        #修改为服务商提供的信息,如果是vultr这里不用修改
    neighbor 2001:19f0:ffff::1 as 64515;    #修改为服务商提供的neighbor信息,如果是vultr这里不用修改
    password "你设置的密码";
    ipv6 {
        import filter sample_import;
        export all;
        graceful restart on;
    };
}

protocol static {
    ipv6;
    route 你的IPv6 Block via 你主机的IPv6;
}

protocol device {
    scan time 5;
}

protocol direct {
    interface "dummy*";
    ipv6 {
        import all;
    };
}

由于这是一个完全面向新手的教程,所以就不写关于 BIRD2 的教程了,如果你想更加深入的学习 BIRD 相关的知识可以看Soha大佬的教程<存档>。

配置虚拟网卡以及 IP 地址

ip link add dev dummy1 type dummy # 添加虚拟网卡
ip link set dummy1 up
ip addr add dev dummy1 前缀内的任意一个地址 # 添加地址

重启 BIRD2

systemctl restart bird

当你完成以上步骤后,你可以使用birdc s p来查看是否广播成功,如果显示为 Established,则说明广播成功了

将虚拟网卡的 IPv6 设置为默认出口

获取默认的网关

ip -6 r

如图,最后一行中我们可以得知默认的网关

修改默认出口

ip -6 route change default via 默认网关 dev 默认网卡 proto ra metric 1024 pref medium src 虚拟网卡的IP

接下来就可以通过 curl ip.sb 来查看自己的 IP 了

在 Linux 下通过 BIRD 广播自己的 IPv6

https://www.9bingyin.com/archives/broadcast-your-own-ipv6-through-bird-on-linux.html

作者

bingyin

发布时间

2021-11-11

许可协议

CC BY 4.0

添加新评论