安装一个开源虚拟路由器VPP-20.09

5515937853cdd8f721edfc31d9769b02.gif

首先部署一台CentOS 7的主机,版本是多少无所谓,反正一update就都是最新的了。配置我给了给了8核CPU、8 GB内存、60 GB硬盘,试试效果。

安装过程不多说,可以看到,安装完成的系统版本为7.5.1804。

73752e3928f809268ac10a571753502b.png

使用以下命令更新操作系统。

yum list
yum update -y

查看更新后的操作系统,可以看到系统版本为7.9.2009。

[root@localhost ~]# cat /etc/system-release
CentOS Linux release 7.9.2009 (Core)

然后查找公共YUM仓库有没有vpp软件包。

acd85fc686df36daf24ce34ea284ff86.png

只有一个vpp.pm,显然不是我们想要的,看来还是要配置YUM源。先新建Yum仓库的配置文件,并写入配置文件。

[root@localhost ~]# cat /etc/yum.repos.d/fdio-release.repo
[fdio_release]
name=fdio_release
baseurl=https://packagecloud.io/fdio/release/el/7/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/fdio/release/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

清一下本地的yum缓存,并更新新的yum仓库。

[root@localhost ~]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base extras fdio_release fdio_release-source updates
Cleaning up list of fastest mirrors
[root@localhost ~]# yum -q makecache -y --disablerepo='*' --enablerepo='fdio_release'
Importing GPG key 0x6C37F7CD:
Userid     : "https://packagecloud.io/fdio/release (https://packagecloud.io/docs#gpg_signing) <support@packagecloud.io>"
Fingerprint: 59a8 e0db 0b61 1ca4 71c9 fbde 9e9f e7a4 6c37 f7cd
From       : https://packagecloud.io/fdio/release/gpgkey

运行以下命令以获取当前的版本分支列表。

yum --showduplicates list vpp* | expand

184d524fb9a369eb7c4731f999c0f888.png

或者使用命令yum install -y vpp直接安装最新版本。

6a91825f70823a5f1c77579f077b98b9.png

但是安装的时候提示缺少依赖包mbedtls,而直接安装这个包又会报错。

df6c88c7db83eedee3485b0b11cd212c.png

此时需要先安装epel-release,再安装mbedtls,也可以像颜老师那样一次安装3个,再安装VPP就可以了。

yum install -y epel-release mbedtls python36
yum install -y vpp

c30c788d3e2a6d191b73b6a1154c2353.png

可以看到,安装的版本是x86_64 0:20.09-release,跟列表中看到的最新版本一致。

安装完VPP后,要在 CentOS系统上将VPP作为系统服务运行,使用以下命令启动服务并随系统启动。

systemctl start vpp
systemctl enable vpp

e352c05990942319e5affcfe3f303f38.png

使用vppctl命令进入VPP软件,并查看软件版本和接口信息。

71ff5cba622e4ead8c84d5217eeeaef7.png

发现只有一个local0的本地接口,这是因为VPP接口需要使用DPDK接管内核的网卡来使用,下次接着学习。

bf3e26bc0d8c0117e415b19bf67fb53e.gif

长按二维码
关注我们吧

66db2dcec0081c69e20bb2bd6b8e3772.jpeg

推荐阅读

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-27 18:30:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-27 18:30:04       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-27 18:30:04       82 阅读
  4. Python语言-面向对象

    2023-12-27 18:30:04       91 阅读

热门阅读

  1. 董事会在线审批决策任务都在哪里进行?

    2023-12-27 18:30:04       51 阅读
  2. 提升认识能力,远离诈骗

    2023-12-27 18:30:04       59 阅读
  3. 2312llvm,用匹配器构建clang工具

    2023-12-27 18:30:04       52 阅读
  4. 第33期 | GPTSecurity周报

    2023-12-27 18:30:04       56 阅读
  5. 微信小程序的bindtap和catchtap的区别

    2023-12-27 18:30:04       65 阅读
  6. PHP 处理菜单分级树状结构

    2023-12-27 18:30:04       62 阅读
  7. Centos设置IP地址的方法

    2023-12-27 18:30:04       58 阅读
  8. kotlin by lazy 的使用

    2023-12-27 18:30:04       57 阅读
  9. 第一节(学习HarmonyOS的背景)

    2023-12-27 18:30:04       66 阅读