SRv6实验

摘要:本文基于Linux SRv6功能,结合Mininet、Quagga、Python等工具,验证SRv6的一系列功能,包括VPN、流量工程、服务链等。

准备工作

  • Linux (推荐Ubuntu20.04)
  • 最新版Mininet
  • Quagga(在Mininet虚拟拓扑下,提供路由器的静态路由/OSPF/BGP等路由协议支持)
  • Python(通过脚本建立测试拓扑及初试配置)

安装

Quagga安装

下载地址

https://src.fedoraproject.org/repo/pkgs/quagga/

下载Quagga1.2.4版本

1
wget https://src.fedoraproject.org/repo/pkgs/quagga/quagga-1.2.4.tar.gz/sha512/3e72440bcccfd3c1a449a62b7ff8623441256399a2bee0a39fa0a19694a5a78ac909c5c2128a24735bc034ea8b0811827293b480a2584a3a4c8ae36be9cf1fcd/quagga-1.2.4.tar.gz

image-20231031193027677

安装命令1

1
./configure --enable-vtysh --enable-user=root --enable-group=root --enable-vty-group=root

报错

image-20231031193527408

解决方案:

1
sudo apt-get install gawk

重复执行安装命令,继续报错,再来解决

image-20231031194106531

1
sudo apt-get install libreadline6-dev

重复执行安装命令,继续报错,缺少相应的cares资源文件,再来解决

image-20231031194011218

下载文件包:

1
wget https://c-ares.org/download/c-ares-1.12.0.tar.gz

下载好之后解压缩

1
tar -zxvf ./c-ares-1.12.0.tar.gz

进入文件夹:

1
2
cd c-ares-1.12.0
./configure

编译

1
2
3
4
5
6
make
make install
cp libcares.pc /usr/local/lib/pkgconfig
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
# 用第三方库,就少不了要使用到第三方的头文件和库文件。我们在编译、链接的时候,必须要指定这些头文件和库文件的位置。

再次执行命令1,安装无误

image-20231031195401751

在Quagga目录下执行:

1
make install

image-20231031195522998

iproute2安装

参考Reference