安装mininet坑
1.连接不上git clone git://github.com/mininet/mininet
网络问题,挂上蓝灯代理依然不行
解决方案:直接从github上下载
github.com/mininet/mininet
修改mininet-master文件名为mininet
1 | cd mininet |
此后可能出现问题openflow连接失败,见下一条
2.openflow
多尝试几次在mininet文件下
1 | util/install.sh -0 #安装openflow1.0 |
此后会出现问题pox连接不上
3.pox
需要使用sudo权限
尝试只安装pox
1 | sudo util/install.sh -p |
后缀为p代表只安装pox
执行install.sh脚本
后缀分别有
1 | -a 默认全部安装 |
4.install ryu
安装其他版本python
本人安装python3.10.2
并指定优先级(除anaconda3中的3.7外)
步骤:
1、在Python官网下载想要安装Python版本的压缩包:https://www.python.org/
2、解压压缩包:
1 | tar -xzvf Python-3.10.2.tgz |
3、指定安装路径
1 | cd Python-3.10.2 |
设置默认Python版本
update-alternatives系列命令对一个候选列表进行操作。
在这个候选列表中,我们可以:(1)添加候选Python版本;(2) 删除列表中已有的Python版本。
通过这个列表,我们可以:(1)手动为系统指定默认Python版本;(2)通过配置权重自动指定默认Python版本。
以root权限操作:
查看候选列表中已有的Python版本:
1 | update-alternatives --list python |
1
添加候选Python版本:
1 | update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 |
语法:–install <链接> <名称> <路径> <优先级>,<链接> 需保持一致。优先级数字越大越高。
删除列表中已有的Python版本:
1 | update-alternatives --remove python /usr/bin/python2.7 |
查看目前列表中每个Python版本的配置情况:
1 | update-alternatives --config python |
1 | 有 3 个候选项可用于替换 python (提供 /usr/bin/python)。 |
选择0,自动以优先级数字最大的为默认python版本,选择其他则手动指定版本。
此后,使用
1 | pip3 install ryu |
即可安装ryu
推测原因:ubuntu16自带的python出现了包的抵触
5. testbed无法运行run.sh
bad for loop variable
1 | cd testbed |
失败,显示bad for loop variable
解决方法
加上#!/bin/bash
10461挂起 sudo:python找不到命令
https://blog.csdn.net/weixin_41907774/article/details/120185557
缺少pbr
补充:mininet使用
3.启动Mininet
安装完成后,通过sudo mn命令启动mininet,更多相关主要命令参考如下:
1. 主要网络构建启动命令
–topo 制定拓扑类型或文件
–custom 自建拓扑
–switch 设置交换机类型
–controller 设置控制器类型
–mac 自动设置主机mac
-–
2. 内部交互主要命令
dump 输出节点信息
net 查看网络拓扑信息
nodes 查看全部节点信息
dpctl 操作datapath
iperf 制定节点之间的tcp
h1 ping h2 测试主机的连通性
4.Mininet简单示例
\1. 单一拓扑
sudo mn –topo=single,3
其中3为主机数目的设定参数,可更换其他。
\2. 线形拓扑
sudo mn –topo=linear,4
对于线性拓扑,数字代表交换机数目和主机数目。
\3. 树形拓扑
sudo mn –topo=tree,depth=2,fanout=2
depth代表深度,fanout代表扇出,即深度代表交换机的深度,扇出代表每个交换机下挂载主机数目。
\4. 自定义拓扑
sudo mn –custom file.py –topo mytopo
file.py代表自己编写的拓扑脚本文件