SDN实验---使用git安装Mininet
0:补充Ubuntu截屏
截全屏 printscreen 截取当前窗口 alt + printscreen 截取任意矩形 shift + printscreen 截取全屏到剪切板 ctrl + printscreen
截取当前窗口到剪切板 ctrl + alt +printscreen 自己尝试组合其他方案
注意:如果不是截屏到剪切板,那么可以去用户图片目录下找到截图
一:什么是mininet
Mininet是一个进程虚拟化网络仿真器
可以创建由一些虚拟的主机、交换机、控制器和链路的虚拟网络,其交换机支持OpenFlow协议
它采用轻量级的虚拟化技术使得系统可以和真实网络相媲美。
二:mininet功能
Mininet可以很方便地创建一个支持SDN的网络:
host就像真实的电脑一样工作,可以使用ssh登录,启动应用程序,程序可以向以太网端口发送数据包,数据包会被交换机、路由器接收并处理。
有了这个网络,就可以灵活地为网络添加新的功能并进行相关测试,然后轻松部署到真实的硬件环境中(可移植到真实环境)
三:Mininet优点
四:mininet安装
(一)推文:
1.了解Git和Github入门
2.Mininet使用源码安装(详细)
(二)使用git命令从github中获取minitnet源码
git clone git://github.com/mininet/mininet //默认下载在/home/用户/目录下---当前用户目录下
或者使用https进行git clone
git clone https://github.com/mininet/mininet.git
cat ./INSTALL //查看INSTALL(不是安装文件),可以知道当前Mininet的安装版本 --- 注意:先要进入mininet目录下
(三)安装mininet时,所需要的参数
进入~/mininet/util中找到安装文件install.sh ./install.sh -h 可以查看所有的参数帮助
-n : 直接安装Mininet的核心文件和依赖文件
-3 :直接安装OpenFlow的1.3协议(包含支持1.0版本协议)
-V :是指在安转Open vSwitch时,可以选择Open vSwitch的版本(一定要加),如果 -v 或者 不设置 版本,那么默认安装版本较低
Open vSwitch版本查看:http://www.openvswitch.org//download/
(四)安装和测试
njzy@njzy-Inspiron-5493:~/mininet/util$ ./install.sh -n3V 2.11.0 安装,十分耗时
sudo mn --test pingall 测试
卡死了,Ubuntu18.04出问题,缺少libopenvswitch依赖包....
安装2.5.0函数调用出错。 于是我搭了梯子,学了Docker安装了Ubuntu16.04发现还是这个问题,2.5.0出现了缺少内核头问题....
(五)问题解决---libopenvswitch
经过学长的指导,去github上查找Mininet中的issue问题,搜索libopenvswitch
https://github.com/mininet/mininet/issues?utf8=%E2%9C%93&q=libopenvswitch
找到相似问题,第一个
https://github.com/mininet/mininet/issues/779
说道:我们需要向install.sh文件中加入 echo "Installing library" $pkginst libopenvswitch_$OVS_RELEASE*.deb 这两行代码 代码位置: cd $BUILD_DIR/openvswitch/openvswitch-$OVS_RELEASE DEB_BUILD_OPTIONS='parallel=$parallel nocheck' fakeroot debian/rules binary cd .. echo "Installing library" $pkginst libopenvswitch_$OVS_RELEASE*.deb for pkg in common datapath-dkms pki switch; do pkg=openvswitch-${pkg}_$OVS_RELEASE*.deb echo "Installing $pkg"
(六)解决环境依赖问题--后续安装可能会出现
sudo apt-get install zlib1g-dev libelf-dev
sudo apt-get install libelf-dev
补充:若是出现以下问题
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
则通过以下命令解决
sudo rm /var/lib/dpkg/lock sudo dpkg --configure -a sudo apt update