使用Bird广播IPv6地址

环境准备

一个带有IPv4且提供BGP服务的实例(此处以Vultr为例)

实例不能用纯 IPv6 的,广播必须有一个 IPv4

安装 epel

由于直接使用 yum 安装 bird6 会出现无法找到包的情况,首先通过 yum 安装 epel

yum install epel-release -y

安装 Bird

根据自己需求安装Bird或Bird6。

yum install bird bird6 -y

安装完成后直接编辑配置文件,配置文件路径为: /etc/bird6.conf

router id [实例IPv4地址]

protocol bgp vultr
{
    local as 自己的ASN号码(开头不带as);
    source address 实例自带的IPv6;
    import none;
    export all;
    graceful restart on;
    multihop 2;
    neighbor 2001:19f0:ffff::1 as 64515;
    password "在申请广播的时候设置的bgp密码";
}

protocol static
{
  route  [待广播v6前缀] via [实例IPv6];
  # route  2001:2333:2333::/48 via 2001:19f0:7001:21a3:5400:00ff:fe60:b0d0;
  # vultr 要求广播的 IPv6 最小 block 为 /48, IPv4 为 /24
}

protocol device {
    scan time 15;
}

然后保存配置文件重启 Bird6(因为此处只广播 IPv6 所以只需要启动 Bird6 即可)

systemctl restart bird6

到这里广播就算完成了, 如果在当前实例使用,还需要创建一个虚拟网卡并设置一个 IPv6

ip link add dev dummy1 type dummy
ip link set dummy1 up
ip addr add dev dummy1 2001:2333:2333::1/128

然后在 brid6.conf 中加入如下配置

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

然后直接重载 Bird6 配置文件即可

systemctl reload bird6

这样 Bird 将查询所有 dummy 开头的网卡的 ip 并宣告这些 ip

查看广播状况

birdc6 show route/birdc6 show proto all

广播成功即可通过上面为虚拟网卡添加的 IPv6 连接实例进行使用!

发表回复