注:本文中的系统环境:Linux Mint 19,但由于使用docker和virtualbox(容器与虚拟机技术),本文中的操作理论上在其他系统环境同样适用
安装mininet
推荐使用virtualbox安装mininet,这也是官方推荐的方式,具体方法及更多安装方式请参考mininet download
导入虚拟机然后启动,使用用户名/密码:mininet/mininet登陆
在终端输入:sudo mininet
启动mininet
至此,已完成mininet安装
安装docker
打开docker-ce download,选择适合自己的版本并参照指示下载安装
本文以ubuntu为例进行安装,即选择Docker Community Edition for Ubuntu,或直接打开docker-ce ubuntu按照指示完成安装
在docker中安装ONOS
打开终端,输入:docker pull onosproject/onos
,等待下载安装完成,如果下载较慢,可以将docker镜像源更换为国内的镜像源(请自行搜索)
测试ONOS与mininet
1.创建容器实例
在终端输入:docker run -t -d --name onos1 onosproject/onos
启动ONOS(onos1可以替换成自己想要的名字)
2.获取容器实例 IP
首先查看容器ID,在终端输入:docker ps
可以得到类似如下输出
CONTAINER ID | IMAGE | ...... |
---|---|---|
313a5b1386b9 | onosproject/onos | ...... |
在终端输入:docker inspect --format '{{ .NetworkSettings.IPAddress }}' <container-ID>
,其中<container-ID>用获得的ID代替,在本文中也就是:313a5b1386b9
命令执行后,输出即为容器实例 IP,如:172.17.0.2
(注:你还可以将该命令写成bash函数放到 .bashrc 中,具体方法请自行搜索“获取docker实例ip”,如该函数名为docker-ip,那便可直接使用 `docker-ip onos1`表示容器实例的IP,也就是172.17.0.2)
3.连接ONOS
有两种方式可以连接进入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,使用帐号/密码:karaf/karaf进行登陆
4.激活openflow和fwd
使用ssh进入onos,在终端输入:
app activate org.onosproject.openflow
(启用openflow)
和
app activate org.onosproject.fwd
(启用forward转发功能)
当然也可以在web图形界面启用,点击界面左上角的图标,选择Applications,搜索以上两个应用然后启用即可
5.将mininet连接到ONOS
在mininet中输入:sudo mn --topo tree,2 --controller remote,ip=172.17.0.2
以创建一个临时网络,然后输入:pingall
以测试网路连通性
得到如下输出:
同时在ONOS的web界面可以看到该网络拓扑结构,如下图:
Screenshot from 2018-11-18 21-38-19.png
6.总结
以上便是安装和测试ONOS及mininet的全部内容,笔者并没有在其他操作系统中测试以上内容,但理论上来说对其他系统同样适用,在其他系统环境(如:windows 10)的同学或者有兴趣的同学可以自行测试。
更多相关信息请转至官网和参照官方文档:
https://wiki.onosproject.org/
https://docs.docker.com/
https://github.com/mininet/mininet/wiki/Documentation
网友评论