@EggGump
2020-07-03T16:52:31.000000Z
字数 1772
阅读 1030
mininet,ryu安装和一些基本命令
SDNExp
2020-6-24
基本命令
- uname -a:查看系统多少位
- cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.6 LTS"
- 源:源位置
安装Mininet
- 先对ubuntu updata和upgrade,若自带源不行就使用中科大源
- git clone git://github.com/mininet/mininet
- git tag//查看所有的版本号
- git checkout -b 2.2.2//切换版本号
- 使用新的install.sh安装,命令为:/util/install.sh -n3V 2.11.1 //-n:安装核心组建;-3:安装OF1.3;-V 2.11.1:制定OVS版本,官网上搜了最新版本号。
install.sh的地址
- 中间好像有个依赖问题,需要apt -f install可解决依赖问题后重新安装一次即可。
若依赖问题如下:
我与不知道怎么办,只能换vmware版本,换ubuntu版本再试一下了,成功的一版是:vmware14,ubuntu16.04,,vmware15,ubuntu18.04(vmware15本身有bug,所以不用);不成功的一版是vmware14,ubuntu18
when above problem happened(i have used old install.sh),I use new install.sh and installed again,then following problem happened:
then I use "sudo apt -f install",and using new install.sh to install it again,luckily succeed!
- ubuntu 18中没有ifconfig,所以虽然mininet安装完成也无法运行,需要安装net-tools,即:sudo apt install net-tools
- ubuntu 18装在vmware中会出现屏幕太小问题,重装vmware tools,在 查看->自动调整窗口->自动适应窗口
安装ryu
- sudo apt install python3-pip //安装pip3
- apt install gcc python-dev libffi-dev libssl-dev libxml2-dev libxslt1-dev zlib1g-dev //先安装依赖
- sudo pip3 install virtualenv //安装virtualenv
- virtualenv env
- source env/bin/activate
- git clone https://github.com/faucetsdn/ryu.git//下载ryu,cd ryu
- pip install -r tools/pip-requires //安装ryu然依赖
python3 ./setup.py install//安装ryu,以下是安装好后的返回信息
Installing ryu-manager script to /home/neu/sdn/env/bin
Installing ryu script to /home/neu/sdn/env/bin
ryu-manager yourapp.py//使用ryu运行你的app.
查看版本
- mn --version//2.3.0d6
- sudo ovs-vstcl show //2.11.1
- 在sdn目录下:source env/bin/activate 再输入命令:ryu --version//4.34,因为ryu实在virtualenv里面安装的。
一些命令:
- deactive//退出virtualenv
- dump:查看所有节点相关信息
- node:查看所有节点
- net:查看链接
- h1 ifconfig:
- h1 ping -c 4 h2
- xterm h1/gterm h1
- ping all
- link s1 h1 down(up)
- iperf
- iperf h1 h2
- dpctl show//查看交换机信息
- dpctl dump-flow 查看具体流表信息
- dpctl add-flow //添加流表
- dpctl help
- py,ls辅助执行外部命令, py h1.IP();sh ls;
- help//mininet的help 命令。