實驗結果速閱: >>>截圖一覽鏈接<<<
環境准備
1.老師給的材料
- virtual box6.1(虛擬機)
- 選擇,正常安裝
- 右鍵,導入虛擬電腦 - ubantu18.04.ova
- 密碼:123456
2.增強工具實現全屏
- 在【菜單欄】選擇,設備——>安裝增強工具
- ubantu桌面會有磁盤印象文件,彈出之后才能重新下載
3.更換源
鏈接:
【Linux教程】Ubuntu Linux 更換源教程
- gedit警告,並非錯誤
詳見鏈接
實驗開始——終端操作
1.Mininet的源碼安裝
- 創建文件夾
- 安裝git
- git克隆mininet
mkdir sdn
sudo apt-get install git
cd sdn
git clone git://github.com/mininet/mininet
cd mininet
sudo util/install.sh -a
sudo mn --version
sudo mn --test pingall
2.安裝網絡工具
- 如果執行上述命令提示:“Cannot find required executable ifconfig.”執行下
面的命令安裝網絡工具 net-tools。
sudo apt install net-tools
3.使用miniedit可視化拓撲生成工具
(1)
- 進入到mininet文件夾中,才可以執行
cd sdn/mininet
sudo ./mininet/examples/miniedit.py
(2)
-
運行miniedit.py時報錯————ImportError: No module named mininet.log
-
解決:詳見鏈接
sudo cp -r /usr/local/lib/python3.6/dist-packages/ /usr/local/lib/python2.7/
(3)
- 拓撲生成並確認無誤之后,可以點擊 miniedit 左上角的 File 菜單,選擇 Export
Level 2 Script,將拓撲保存為 Python 腳本,方便之后執行腳本一鍵生成。 - 打叉關閉可視化工具,然后退出mininet
quit/exit
4.使用python腳本運行拓撲
- 第一次sudo授權需要密碼:123456
cd sdn
sudo python miniedittopo2.py
pingall
exit
- 圖形化界面修改文件夾名稱:找到Files圖標,打開——>找到要修改的文件夾,右鍵——>rename
5.其它問題
(1)miniedit圖形化界面操作不當
NOTE: PLEASE REMEMBER TO EXIT THE CLI BEFORE YOU PRESS THE STOP BUTTON. Not exiting will prevent MiniEdit from quitting and will prevent you from starting the network again during this sessoin.
- 先行stop,后續報錯
RuntimeError: can't re-enter readline - 出現Runtime Error的一般原因
- 數組越界。
- 數組開太大,棧溢出
- 出現了除以0的錯誤
- 遞歸層次太深
- 指針越界
- 使用了已釋放的空間
(2)mininet默認會建立一個【兩個主機連接着一個交換機】的網絡
- mininet常用命令
mininet>
help 查看幫助說明
nodes 查看節點狀態
net 查看鏈路link狀態
dump 各個節點的信息
exit 退出
- 在非mininet終端下,執行該命令,可以clear上一次topo所遺留的文件
sudo mn -c
mininet命令操作學習參考1
mininet命令操作學習參考2
(3)Ubantu常用操作
- 粘貼ctrl+shift+v
- 拷貝ctrl+shift+c
- 休眠后,按esc喚醒輸入密碼
- 退出終端:exit
- 返回上一目錄:cd ..
- virtualbox中ubantu休眠后如何啟動?(待系統解決)
6.知識拓展
-
認識Ubantu
Ubuntu是一個以桌面應用為主的Linux操作系統,其名稱來自非洲南部祖魯語或豪薩語的“ubuntu"一詞,意思是“人性”“我的存在是因為大家的存在",是非洲傳統的一種價值觀。
從前人們認為Linux難以安裝、難以使用,在Ubuntu出現后這些都成為了歷史。 -
認識miniedit
Mininet 2.2.0之后的版本內置了一個mininet可視化工具miniedit,使用Mininet可視化界面方便了用戶自定義拓撲創建,為不熟悉python腳本的使用者創造了更簡單的環境,界面直觀,可操作性強。
總之就是比寫Python腳本簡單,降低了SDN入門的門檻 -
有關miniedit參考資料:
mininet之miniedit可視化操作
基於miniedit的mininet可視化操作
SDN零基礎入門-可視化工具Miniedit