Mininet安装
作者环境
- windows 10
VMware 15.5
Ubuntu 20.04
前置环境
ubuntu20.04已经有python3环境了
root@ubuntu:/opt# python3
Python 3.8.10 (default, Jun 22 2022, 20:18:18)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> exit()
设置软连接即可
sudo ln -s /usr/bin/python3 /usr/bin/python
可直接看本文尾部完美安装部分安装即可,前半部分为踩坑过程
安装
通过仅输入以下命令之一来安装基本 Mininet 包,对应于您正在运行的发行版:
Mininet 2.3.0 on Debian 11: sudo apt-get install mininet
Mininet 2.2.2 on Ubuntu 20.04 LTS: sudo apt-get install mininet
Mininet 2.2.2 on Ubuntu 18.04 LTS: sudo apt-get install mininet
如果不清楚您使用的是哪个 Mininet 版本,您可以尝试:
mn --version
Mininet 支持多个交换机和 OpenFlow 控制器。对于此测试,我们将在桥接/独立模式下使用 Open vSwitch。
测试
sudo mn --switch ovsbr --test pingall
如果 Mininet 出现 Open vSwitch 不工作,请确保它已安装并正在运行:
sudo apt-get install openvswitch-switch
sudo service openvswitch-switch start
如果您希望完整 Mininet ,需要安装其他软件。以下命令
git clone https://github.com/mininet/mininet
mininet/util/install.sh -fw
踩坑
mininet可以正常运行,但是可视化界面无法运行,身为一个Java开发我就想用Mininet的可视化界面进行无脑创建拓扑,所以今天必须解决了可视化界面无法启动的问题
root@ubuntu:/opt/mininet# mn
*** Creating network
*** Adding controller
*** Adding hosts:
h1 h2
*** Adding switches:
s1
*** Adding links:
(h1, s1) (h2, s1)
*** Configuring hosts
h1 h2
*** Starting controller
c0
*** Starting 1 switches
s1 ...
*** Starting CLI:
mininet> exit
*** Stopping 1 controllers
c0
*** Stopping 2 links
..
*** Stopping 1 switches
s1
*** Stopping 2 hosts
h1 h2
*** Done
completed in 2.620 seconds
启动可视化界面
root@ubuntu:/opt# ./mininet/examples/miniedit.py
Traceback (most recent call last):
File "./mininet/examples/miniedit.py", line 27, in <module>
from mininet.log import info, debug, warn, setLogLevel
ModuleNotFoundError: No module named 'mininet'
手动安装mininet模块尝试
pip install mininet
发现又报错
root@ubuntu:/opt# ./mininet/examples/miniedit.py
Traceback (most recent call last):
File "./mininet/examples/miniedit.py", line 54, in <module>
from tkinter import ( Frame, Label, LabelFrame, Entry, OptionMenu,
ModuleNotFoundError: No module named 'tkinter'
网上说如下解决
sudo apt install tk-dev
sudo apt-get install python-tk
安装后依然没有,最后通过官网找到解决方案http://mininet.org/download/#option-3-installation-from-packages
完美安装
指定Python版本重新安装
git clone https://github.com/mininet/mininet
PYTHON=python3 util/install.sh -a
启动Mininet可视化界面就可以成功了