MENU

IP 广播: 使用bird广播(组播)ipv6

vultr的广播ip的申请通过了,开始自己的广播了,可以用于广播的工具有bird,frrouting,quagga

最先尝试使用frrouting进行广播但是配置失败了,之后换了bird,折腾了2天终于解决.

环境准备

  • 一个已经通过bgp申请的vultr账户

  • 一个带有ipv4的实例

  • ubuntu16.04

  • 一个大脑

实例不能用纯ipv6的,广播必须有一个ipv4才可以

安装bird

ubuntu16的bird版本比较旧,这里使用了第三方仓库,安装了新版本


add-apt-repository ppa:cz.nic-labs/bird

apt-get update

apt-get install bird -y


安装之后配置文件在/etc/bird目录内

开始配置

首先需要先停止bird和bird6


service bird stop

service bird6 stop

然后编辑配置文件/etc/bird/bird6.conf

找到router id 198.51.100.1;将的198.51.100.1改为实例的ipv4

然后在文件的最后面添加如下配置(在实例信息页面中的bgp选项卡点击下面那句话的BGP configuration会给出配置示例,里面信息会自动替换好,可以直接用)


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 device那行的上面添加如下配置


protocol static

{

    route  2001:2333:2333::/48 via 4096:4096:4096:338:5400:01ff:fecf:596c;

}

其中2001:2333:2333::/48是需要广播的ip block后面的4096:4096:4096:338:5400:01ff:fecf:596c是实例的ipv6

vultr要求广播的ipv6最小block为/48,ipv4为/24

然后保存配置文件启动bird6(这里我们只广播了ipv6所以只需要启动bird6即可)


service brid6 start

到这里广播就算完成了,下面我们要为当前实例创建一个虚拟网卡并设置一个ip


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


service bird6 restart

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

然后可以通过birdc6 show route查看广播状况

也可以通过上面为虚拟网卡添加的ipv6链接实例了

添加新评论

已有 5 条评论
  1. 小沨
    博主, 在ubuntu 18使用 add-apt-repository ppa:cz.nic-labs/bird 提示 does not have a Release file. N: Updating from such a repository can't be done securely, and is therefore disabled by default. N: See apt-secure(8) manpage for repository creation and user configuration details. 错误 但是bird安装成功,是什么问题导致了求教
    1. shirakun
      ubuntu18应该自带新版本,那个问题是因为第三方软件源不存在对应的Release
  2. IP 广播 : CentOS 7 使用 bird6 广播 IPv6 R11; LiCEO
    [...]IP 广播 : CentOS 7 使用 bird6 广播 IPv6 – LiCEO img#wpstats{display:none} LiCEO 首页生活 笔记 日记技术 C/C++ Java PHP HTML Python JS Other关于 Search 登录 主页 技术Other 正文 [...]
  3. B4a
    你好,想问一下,我已经可以从外部访问这个IPv6地址了,但是似乎无法从这个IPv6地址访问外部设备?  ̄﹃ ̄
    1. shirakun
      检查本地路由是否正确