按照愿景,每个自治域都会分配到 172.16.x.0/24 这样的一个网段,因此,DN11 目前设计上最多接纳 255 个主要节点接入。而在接入前注意向管理人进行申请才可进行接入,我们的接入是将自己的子网进行并入,因此也要注意设备保护和配置防火墙,以防老毕登
工具
- Wireguard(wg-quick-op )用于建立隧道
- Bird3用于进行AS的路由(aur库)
arch linux下编译
提供的release无法使用(结构问题),手动编译一下。如果是debian系列linux应该没有问题
|
|
设置peer文件,配置Wireguard
我们需要根据对方所给文件进行peer文件的一个写,格式在BGP组网
,用于建立双方的peer隧道,然后我们在/etc/wireguard/下创建peer文件,运行wg-quick-op up your_interface_name,wg会自动帮你创建好虚拟网口并执行PostUp,并根据分配到的地址和配置文件中写好的端口给到ip,最后与peer端握手连接。之后进行ping <对方的内网ip>校验
ifconfig进行网口查看
wg show查看握手情况
配置bird,进行BGP
配置/etc/bird.conf然后birdc c进行连接测试
BGP组网链接同上,注意配置的时候%后面的接口名称和peer文件要一致,之后birdc s p进行查看即可,established 就是配成功接入dn11了;IDLE一般就是配置出问题了,注意排查
birdc show protocol all 接口查看更为详细的情况
需要注意的是wg-quick-op是基于wg-quick在go开发的,而许多服务器机子上使用的仍然是wg-quick服务,因此在peer失效的时候有时候使用wg-quick down <interface>再重新启动
服务器上搭建
使用的是Debian 12.0 64bit
在策略组添加udp策略打开51820端口,然后在服务器中开放
sudo ncat -lu 51820
连接成功
后续的癔语
如果你的 AS 里有不少子网,这一切还只是折腾 BGP 的开始,在后面还有 BGP Large Community ,BGP confederation ,RR 等内容。
可以通过
traceroute进行一个数据包路由的大调查像一个短的发往中心的包会直接通过柏喵的路径。而我们还有一种更方便的方法就是通过
birdc然后show route查看路由而这也会告诉我们在一个网段的数据包是通过哪个接口发送,并到达哪个AS网关。而放大来看的话网络也就是
- AS——>不同圈子的自治域
- ISP ——>网络提供商和管理员 然后我们的数据从路由器出发,在到达每个ISP的边界后发往不同的ISP边界进行接受和转移,而根据数据包发送的 target host 最后到达指定AS中