0


Ubuntu22.04安装mininet和ryu

前言

本篇博客是自己亲身实践所得。安装过程中会遇到很多问题,搜一搜试一试基本都能解决,感谢各位大佬的博客。作为入门小白,才疏学浅,文中难免有误,还望各位大佬在评论区不吝赐教。

有可能把Ubuntu搞崩溃,所以建议每到一个阶段给虚拟机拍一个快照(下面有具体方法)

一,VMware虚拟机安装

较为简单,可参考其他博客

二,Ubuntu22.04安装

1.Ubuntu系统下载官方链接:Ubuntu系统下载

2.打开虚拟机,点击创建新的虚拟机

以下几步仅供参考,像命名,文件目录等根据自己需要设置,也可参考其他博客。

之后步骤按照博客

VMware虚拟机安装Ubuntu20.04详细图文教程_vmware ubuntu-CSDN博客

虚拟机拍快照方法

快照是对虚拟机当下状态的存储,如果之后把系统搞崩了可以再回到快照时的状态,避免重装系统浪费时间,建议到关键阶段且之前的操作没有问题就拍一个。

注意左下角会有进度,需要等待。

以下是我拍的一些快照(该命令在上图的快照管理中)

三,Ubuntu安装Mininet

首先提醒一下大家在运行代码时一定要注意是否该有空格,!!!多一个或少一个都可能会出错。

同时很多命令有sudo,sudo具体什么意思可以搜一下,部分命令加上sudo就可运行。

代码建议逐条运行。

我提供的方法是用源码安装,也可采用其他方法,首先打开终端

1.安装git

更新apt

sudo apt-get update
sudo apt-get upgrade

安装git(在安装时选择y,不要选择n,否则会安装失败,自己感觉y是yes,n是no)

sudo apt-get install git

如果不知道安装是否成功可以通过这个代码查询,如果出现版本就是成功了,没有则是失败

git --version

2.获取源码

git clone https://gitclone.com/github.com/mininet/mininet
cd mininet
git tag
git checkout -b mininet-2.3.0
cd ..
mininet/util/install.sh -a

等待,出问题

(正克隆到 'openflow'...fatal: 无法访问 'https://github.com/mininet/openflow/':Failed to connect to github.com port 443 after 21288 ms: 拒绝连接)

git config --global url.https://github.com/.insteadOf git://github.com/
mininet/util/install.sh -a

执行后(正克隆到 'openflow'...

fatal: 无法访问 'https://github.com/mininet/openflow/':Failed to connect to github.com port 443 after 21075 ms: 拒绝连接)

检测

sudo mn --switch ovsbr --test pingall

sudo apt-get install mininet
sudo mn#验证

成功

四,安装ryu

1.我出过的一些其他问题(可先忽略不看)

E: 无法定位软件包

暂时不能解析域名

root使用,设密码

虚拟机联网

等,搜一搜试一试都已解决。

2.概述

我安装ryu用的是Ubuntu22.04.3版本自带python3(3.10)(不能删除,删除了系统图形化界面会崩溃)

参考的是Ubuntu22.04.3 TLS安装部署mininet,ryu_ubuntu22.04.3怎么用-CSDN博客

中的ryu的安装步骤,但不完全一样。其他方法可参考其他博客。

3.步骤

(1)python自带的查询版本命令。

可能会提示需要下载某个包,直接下载即可。

python3 --version    //python3版本查询

(2)更新apt,安装pip3

    首先在下载软件之前更新下apt以及下载更新pip,避免因为版本引起的报错(建议普通用户加上sudo,否则在更新的时候有些文件无法访问)
sudo apt-get update
sudo apt-get upgrade 
sudo apt install python3-pip

(3)安装ryu以及依赖

首先获取ryu源码使用与之前mininet相同的方法

git clone https://gitclone.com/github.com/osrg/ryu

之后,使用该命令下载ryu

pip3 install ryu

获取成功之后,我们就需要进入ryu的文件夹下,安装相关依赖文件工具

cd ryu
sudo pip3 install -r tools/pip-requires

执行命令,安装

sudo python3 setup.py install

(4)检测ryu安装是否成功

若未报错,就是安装成功,若报错,根据报错内容进行更改

sudo ryu-manager

(5)出现问题和对应问题的解决方案

问题1

eventlet文件版本过低,这就是版本问题,我们可以将原本的eventlet删除,之后安装最新版本,之后问题就解决了

sudo pip uninstall eventlet
sudo pip install eventlet==0.33.3
问题2

AttributeError: module 'collections' has no attribute 'MutableMapping'

我参考了一篇博客AttributeError: module ‘collections‘ has no attribute ‘MutableMapping‘_attributeerror: module 'collections' has no attrib-CSDN博客

方法略有不同,我是打开文件改完后保存的,这样可能存在一个问题是没有权限,可以搜索一下如何获取编辑文件的权限类似的博客。

解决完问题后继续运行

sudo ryu-manager

出现

是成功,如果有问题继续搜一搜。

五,Ryu GUI安装

Ryu GUI是一个用于创建图形用户界面(GUI)的Python库。

参考博客Mininet+Ryu安装教程_ubuntu安装mininet和ryu最新csdn-CSDN博客

中该部分但不完全一样。(此安装可以参考上述博客)

Ryu GUI所需要的webob和routes库已经在下面的命令中安装完毕:

pip install -r tools/pip-requires

测试Ryu的GUI,注意,你的路径和我的不一样!!!

添加路径然后开启界面

cd /usr/local/lib/python3.10/dist-packages/ryu/app/gui_topology
sudo ryu-manager --observe-links --verbose gui_topology.py

鼠标指到该网址按Ctrl并点击。

这里我解释一下:

Ryu GUI安装我是参考了那篇博客,首次运行时我运行完我这篇博客上面的步骤后只有一个空的框,也就是框里没有三个网络图标。(我之所以这样我猜测是我没有完全删除之前的操作,但不确定,具体原因还望诸位大佬在评论区指教)

三个图标是我运行完以下步骤才有的

即要实现

Mininet和Ryu联动

继续在上面的路径里,运行openflow1.3的交换机:

新建一个终端窗口

cd /usr/local/lib/python3.10/dist-packages/ryu/app/gui_topology
sudo ryu-manager --observe-links /home/ubuntu/ryu/ryu/app/gui_topology/gui_topology.py /home/ubuntu/ryu/ryu/app/simple_switch_13.py
#中间隔一个空格,左右是两个地址。

另外新建一个终端窗口,输入Mininet的语句:

sudo mn --controller remote,ip=127.0.0.1 --topo linear,3 --mac --switch ovsk --link tc

刷新一下浏览器,看到类似以下界面就大功告成。

以上是我的安装过程,希望大家批评指正。


本文转载自: https://blog.csdn.net/2301_76203161/article/details/135979942
版权归原作者 对代码不怎么感兴趣的追逐者 所有, 如有侵权,请联系我们删除。

“Ubuntu22.04安装mininet和ryu”的评论:

还没有评论