我用了兩臺機子,一臺裝了mininet,一臺裝了onos。
這兩臺都是空白新開的機子,剛裝上ubuntu系統。
Mininet(命令行基本來自於官網)
沒有git的話,先安裝git:
sudo apt-get install git
然後clone mininet項目到本地:
git clone git://github.com/mininet/mininet
然後進入mininet目錄下,選擇自己想要的版本
cd mininet
git tag # 顯示所有版本
git checkout -b 2.2.1 2.2.1 # 選擇版本2.2.1, 你也可以選別的版本
cd ..
然後輸入如下命令安裝:
mininet/util/install.sh -a
後面輸入-a是安裝mininet和其他一些相關的應用。還可以選擇不-a,改成-nfv,是部分安裝。
在-a之前加入-s mydir,是指定安裝目錄。
ONOS安裝
onos的安裝很簡單。
安裝java是必須的:
sudo apt-get install openjdk-8-jdk
然後進入/opt文件夾下:
cd /opt
從這個頁面https://wiki.onosproject.org/display/ONOS/Downloads下載心儀(合適的)的版本。我當時下載了好幾個版本都有問題,要不就是和mininet 的version不匹配,要不就是根本安裝不成功。如果遇見問題,可以換個版本試一試。
解壓,然後修改目錄(方便訪問):
tar -xzvf onos-1.13.10.tar
mv onos-1.13.10 onos
在如下文件中添加java home:
vim onos/apache-karaf*/bin/setenv #*號換成你電腦對應的文件夾
添加如下內容:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-arm64/
先看看安裝osos這臺電腦的ip地址:
ifconfig
我的電腦地址爲192.168.10.88
然後就可以啓動onos了:
sudo /opt/onos/bin/onos-service start
啓動成功之後,就可以使用ui界面訪問了。
http://192.168.1.88:8181/onos/ui/login.html
默認賬號爲onos,密碼爲rocks
Mininet創建網絡,用onos做controller
在安裝mininet的電腦上輸入以下命令:
sudo mn --topo=tree,2,3 --mac --controller=remote,ip=192.168.1.88,port=6633
然後在onos的ui界面上應該就能看到剛剛建立的網絡了。
然後在mininet端輸入:
pinball
ping通之後,links也能在ui上看到了。
遇見的問題
onos啓動了,ui也能看到,但是mininet不能連接上controller,表現爲onos的ui界面上什麼都不顯示。
如果是因爲6633端口沒起來,解決辦法:在onos端輸入
apps -a -s
看看裏面有沒有:
org.onosproject.openflow
沒有的話,輸入如下命令啓動openflow這個app:
app activate org.onosproject.openflow
這樣重新在mininet端輸入:
sudo mn --topo=tree,2,3 --mac --controller=remote,ip=192.168.1.88,port=6633
就可以連接上onos了。
pingall顯示全部失敗
同樣是有一些app沒啓動,主要是fwd。但是還有一些依賴的app。
所以建議按照上面的命令,確保如下app都啓動了
apps -s -a
* 16 org.onosproject.proxyarp 1.13.10 Proxy ARP/NDP
* 18 org.onosproject.optical-model 1.13.10 Optical Network Model
* 19 org.onosproject.drivers 1.13.10 Default Drivers
* 24 org.onosproject.hostprovider 1.13.10 Host Location Provider
* 25 org.onosproject.lldpprovider 1.13.10 LLDP Link Provider
* 26 org.onosproject.openflow-base 1.13.10 OpenFlow Base Provider
* 27 org.onosproject.openflow 1.13.10 OpenFlow Provider Suite
* 113 org.onosproject.fwd 1.13.10 Reactive Forwarding
啓動之後,pingall應該就能成功了。
如果還是不成功,嘗試在onos端輸入:
onos>log:exception-display
如果裏面說version不對啥的。就重新換一個onos的版本弄吧。
如何退出mininet和onos
mininet端輸入:exit
onos端,按ctrl+D
參考資料:
官網tutorial: http://mininet.org/walkthrough/ 很有用,但是需要一些網絡基礎
mininet命令詳解: https://www.jianshu.com/p/6dac992ba5be
https://www.cnblogs.com/cing/p/8025239.html
WireShark詳細教程: https://www.cnblogs.com/moonbaby/p/10528401.html
onos安裝使用:https://blog.csdn.net/u010558281/article/details/78419321
https://www.cnblogs.com/cocowool/p/wireshark_tcp_http.html