1、下载mininet虚拟机:
http://mininet.org/download/#option-1-mininet-vm-installation-easy-recommended
2、导入并运行虚拟机
用户名/密码:mininet/mininet
3、安装docker
sudo apt-get update sudo apt install curl ssh curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
4、拉取onos镜像
sudo docker pull onosproject/onos
5、运行ones容器
#运行 sudo docker run -t -d -p 8181:8181 --name onos1 onosproject/onos #查看容器运行情况 sudo docker ps
6、连接容器,启用服务
#查看ip地址 sudo docker inspect --format '{{ .NetworkSettings.IPAddress }}' onos1 #ssh连接到容器 ssh -p 8101 karaf@172.17.0.2 #启用OpenFlow Provider Suite app activate org.onosproject.openflow #启用 Reactive Forwarding app activate org.onosproject.fwd #退出 ctrl+d
7、创建网络
#创建临时网络 sudo mn --topo tree,2 --controller remote,ip=172.17.0.2 --switch=ovsk,protocols=OpenFlow13 *** Creating network *** Adding controller Connecting to remote controller at 172.17.0.2:6653 *** Adding hosts: h1 h2 h3 h4 *** Adding switches: s1 s2 s3 *** Adding links: (s1, s2) (s1, s3) (s2, h1) (s2, h2) (s3, h3) (s3, h4) *** Configuring hosts h1 h2 h3 h4 *** Starting controller c0 *** Starting 3 switches s1 s2 s3 ... *** Starting CLI: mininet> nodes available nodes are: c0 h1 h2 h3 h4 s1 s2 s3 mininet> links s1-eth1<->s2-eth3 (OK OK) s1-eth2<->s3-eth3 (OK OK) s2-eth1<->h1-eth0 (OK OK) s2-eth2<->h2-eth0 (OK OK) s3-eth1<->h3-eth0 (OK OK) s3-eth2<->h4-eth0 (OK OK) mininet> net h1 h1-eth0:s2-eth1 h2 h2-eth0:s2-eth2 h3 h3-eth0:s3-eth1 h4 h4-eth0:s3-eth2 s1 lo: s1-eth1:s2-eth3 s1-eth2:s3-eth3 s2 lo: s2-eth1:h1-eth0 s2-eth2:h2-eth0 s2-eth3:s1-eth1 s3 lo: s3-eth1:h3-eth0 s3-eth2:h4-eth0 s3-eth3:s1-eth2 c0 mininet> h1 ping h2 PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data. 64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=43.2 ms mininet> pingall *** Ping: testing ping reachability h1 -> h2 h3 h4 h2 -> h1 h3 h4 h3 -> h1 h2 h4 h4 -> h1 h2 h3 *** Results: 0% dropped (12/12 received) #退出 ctrl+d
8、网络访问
http://172.17.0.2:8181/onos/ui/login.html 账号/密码:karaf/karaf
然后就可以看到拓扑图了