环境准备
一个带有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 连接实例进行使用!