注:本文中的系統(tǒng)環(huán)境:Linux Mint 19瞻凤,但由于使用docker和virtualbox(容器與虛擬機(jī)技術(shù))涯竟,本文中的操作理論上在其他系統(tǒng)環(huán)境同樣適用
安裝mininet
推薦使用virtualbox安裝mininet,這也是官方推薦的方式轿腺,具體方法及更多安裝方式請(qǐng)參考mininet download
導(dǎo)入虛擬機(jī)然后啟動(dòng)攻礼,使用用戶名/密碼:mininet/mininet登陸
在終端輸入:sudo mininet
啟動(dòng)mininet
至此肠套,已完成mininet安裝
安裝docker
打開docker-ce download,選擇適合自己的版本并參照指示下載安裝
本文以u(píng)buntu為例進(jìn)行安裝陵像,即選擇Docker Community Edition for Ubuntu湃缎,或直接打開docker-ce ubuntu按照指示完成安裝
在docker中安裝ONOS
打開終端,輸入:docker pull onosproject/onos
蠢壹,等待下載安裝完成嗓违,如果下載較慢,可以將docker鏡像源更換為國(guó)內(nèi)的鏡像源(請(qǐng)自行搜索)
測(cè)試ONOS與mininet
1.創(chuàng)建容器實(shí)例
在終端輸入:docker run -t -d --name onos1 onosproject/onos
啟動(dòng)ONOS(onos1可以替換成自己想要的名字)
2.獲取容器實(shí)例 IP
首先查看容器ID图贸,在終端輸入:docker ps
可以得到類似如下輸出
CONTAINER ID | IMAGE | ...... |
---|---|---|
313a5b1386b9 | onosproject/onos | ...... |
在終端輸入:docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container-ID>
蹂季,其中<container-ID>用獲得的ID代替,在本文中也就是:313a5b1386b9
命令執(zhí)行后疏日,輸出即為容器實(shí)例 IP偿洁,如:172.17.0.2
(注:你還可以將該命令寫成bash函數(shù)放到 .bashrc 中,具體方法請(qǐng)自行搜索“獲取docker實(shí)例ip”沟优,如該函數(shù)名為docker-ip,那便可直接使用 `docker-ip onos1`表示容器實(shí)例的IP涕滋,也就是172.17.0.2)
3.連接ONOS
有兩種方式可以連接進(jìn)入ONOS,分別是使用ssh和使用web圖形界面
a.使用ssh連接ONOS
在終端輸入:ssh -p 8101 karaf@172.17.0.2
挠阁,使用密碼:karaf登陸宾肺,將得到如下歡迎界面
b.使用web圖形界面
打開瀏覽器溯饵,在地址欄輸入:http://172.17.0.2:8181/onos/ui/login.html,使用帳號(hào)/密碼:karaf/karaf進(jìn)行登陸
4.激活openflow和fwd
使用ssh進(jìn)入onos锨用,在終端輸入:
app activate org.onosproject.openflow
(啟用openflow)
和
app activate org.onosproject.fwd
(啟用forward轉(zhuǎn)發(fā)功能)
當(dāng)然也可以在web圖形界面啟用丰刊,點(diǎn)擊界面左上角的圖標(biāo),選擇Applications增拥,搜索以上兩個(gè)應(yīng)用然后啟用即可
5.將mininet連接到ONOS
在mininet中輸入:sudo mn --topo tree,2 --controller remote,ip=172.17.0.2
以創(chuàng)建一個(gè)臨時(shí)網(wǎng)絡(luò)啄巧,然后輸入:pingall
以測(cè)試網(wǎng)路連通性
得到如下輸出:
同時(shí)在ONOS的web界面可以看到該網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),如下圖:
6.總結(jié)
以上便是安裝和測(cè)試ONOS及mininet的全部?jī)?nèi)容掌栅,筆者并沒有在其他操作系統(tǒng)中測(cè)試以上內(nèi)容秩仆,但理論上來說對(duì)其他系統(tǒng)同樣適用,在其他系統(tǒng)環(huán)境(如:windows 10)的同學(xué)或者有興趣的同學(xué)可以自行測(cè)試猾封。
更多相關(guān)信息請(qǐng)轉(zhuǎn)至官網(wǎng)和參照官方文檔:
https://wiki.onosproject.org/
https://docs.docker.com/
https://github.com/mininet/mininet/wiki/Documentation