接上篇BGP,这个时候已经拿下了自己ASN和IP,在RIPE中可以查询到,并且也添加了 Route6
对象,接下来就把自己的IP广播出去….
在广播之前,需要寻找一家能为你做广播的电信运营商….Emm至少在国内是不可能了,不过还可以选择云服务器,Vultr 提供了广播BGP的服务,还有 he.net 家的BGP隧道..
参考:
https://blog.yuzu.im/marchives/133
https://blog.ni-co.moe/public/559.html
开通Vultr的BGP广播服务
由于下面的过程博主没都截图,所以…只好文字描述下了..
- 将
I have my own IP
和I have my own ASN
修改为YES My ASN
填入ASN号码BGP Password
中填入自己想要的密码IP Prefixes
填入前缀- LOA文件可参考下图
瞎编一个
Routes
选择Full Table
- 然后点击
Setup
接下来注意ASN和IP Prefixes Whois留下的邮箱,Vultr会发送邮件到邮箱,然后让你选择同意和不同意.
接下来就是等待客服人工开通了
Vultr下广播的的配置
关于Linux的版本,博主选择的是CentOS 7
首先
- 安装
bird6
yum install bird6 -y
- 停止服务
service bird6 stop
- 修改
/etc/bird6.conf
的配置文件 - 修改配置中的
router id
改为自己的IPv4地址
router id 198.51.100.1;
- 在文件的最后添加上
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; #这个是Vultr服务器的ip
password "在申请广播的时候设置的bgp密码";
}
- 寻找到
protocol static
protocol static
{
route [v6前缀] via [实例的IPv6];
#route 2001:2333:2333::/48 via 4096:4096:4096:338:5400:01ff:fecf:596c;
}
vultr要求广播的ipv6最小block为/48,ipv4为/24
- 找到
protocol direct
protocol direct
{
interface "dummy*";
import all;
}
- 保存配置
- 配置虚拟网卡以及ip地址
ip link add dev dummy1 type dummy # 添加虚拟网卡
ip link set dummy1 up
ip addr add dev dummy1 [前缀内的任意一个地址] # 添加地址
- 启动
bird6
service bird6 restart
- 查看状态
birdc6 show route
/birdc6 show proto all
- 完
在 https://tools.ipip.net/traceroute.php?v=6 中可以看traceroute
he.net 的BGP隧道
该填写的还是类似上面Vultr中的内容
然后就是等待客服验证你的ASN和IP前缀
建议先在Vultr做好广播后再找 he.net 开通隧道,博主和 he.net 的客服为了验证我的ASN是我的ASN,我的前缀IRR验证了这些问题扯皮了很久..
至于服务器,如果是在中国大陆境内的服务器不建议选择香港,博主在深圳ping HK的服务器延迟比JP的还高..
等待客服批准,就可以开始配置了(
配置BGP隧道广播
总体来说,其实和上面的配置差不多,只不过要加一个建立隧道的过程(
当经过客服通过后,会看到下面的状态
状态变成 Available
点击 Example Configurations
复制一段 net-tools
的配置到服务器,建立隧道
由于博主是在阿里云上的CentOS7,默认IPv6是关闭的,还需要开启下系统的IPv6,编辑
/etc/sysctl.conf
(需要Root权限)
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0
保存,再运行 sysctl -p 的命令
类似
ifconfig sit0 up
ifconfig sit0 inet6 tunnel ::216.218.221.2
ifconfig sit1 up
ifconfig sit1 inet6 add 2001:470:17:10e::2/64
route -A inet6 add ::/0 dev sit1
当隧道建立好后,sit1
中可以看到建立隧道后自己的ip地址
尝试 curl ipv6.ip.sb,若能访问则有了公网IPv6
然后开始配置bird6,广播IP段
编辑/etc/bird6.conf
嘛,博主直接贴出自己的配置…
protocol bgp he
{
local as 208191;
source address 2001:470:17:10e::2;
import none;
export all;
graceful restart on;
multihop 2;
neighbor 2001:470:17:10e::1 as 6939;
}
source address
修改为 he.net 分配给的客户端ip
neighbor
修改为 he.ne 给的服务器ip
然后就可以跳到上面Vultr protocol static
内容了(
之后就一样了,检查配置,配置好后就能ping通自己的地址了
END
BGP坑就到这里,线路boy太难当了,之后再了解如何做Peer吧
This blog is under a CC BY-NC-SA 3.0 Unported License
Link to this article: https://hex.moe/p/d6a20b99/
1 个评论
Joehom
#!/bin/bash
# 安装bird6
apt-get update
apt-get install bird6 -y
# 停止bird6服务
systemctl stop bird6
# 修改/etc/bird6.conf配置文件
YOUR_IPV4=”198.51.100.1″
YOUR_ASN=”你的asn(开头不带as)”
YOUR_IPV6=”实例的ipv6″
BGP_PASSWORD=”在申请广播的时候设置的bgp密码”
HE_SOURCE_ADDRESS=”2001:470:17:10e::2″
HE_NEIGHBOR=”2001:470:17:10e::1″
cat > /etc/bird6.conf <> /etc/bird6.conf
done < "$IPV6_LIST_FILE"
# 配置虚拟网卡和IP地址
ip link add dev dummy1 type dummy
ip link set dummy1 up
ip addr add dev dummy1 [前缀内的任意一个地址]
# 启动bird6服务
systemctl restart bird6
# 检查状态
birdc6 show route
birdc6 show proto all
echo "脚本执行完毕。"