Skip to content
This repository has been archived by the owner on Aug 2, 2019. It is now read-only.

Bambil/SDNFV101

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SDNFV101

Introduction

Steps

Initiation

  1. Install docker on each VM
  2. Install OVS on each VM
sudo apt install openvswitch-switch
sudo apt install ovn-common
  1. Install ONOS on each VM
sudo docker pull onosproject/onos

Connectivity test with containrs on OVS + OpenFlow

based on Open Virtual Networking With Docker.

  1. Create bridge interface
sudo ovs-vsctl add-br ovs-br1
  1. Provide ip address to host ovs-br1 bridge
sudo ifconfig ovs-br1 173.16.1.1 netmask 255.255.255.0 up
  1. Create docker instances
sudo docker run -t -i --name container1 1995parham/ubuntu-network /bin/bash
sudo docker run -t -i --name container2 1995parham/ubuntu-network /bin/bash
  1. Connect them together and VSwitch
sudo ovs-docker add-port ovs-br1 eth1 container1 --ipaddress=173.16.1.2/24
sudo ovs-docker add-port ovs-br1 eth1 container2 --ipaddress=173.16.1.3/24
  1. Turn the OpenFlow on
sudo ovs-vsctl set-controller br0 tcp:`docker-ip onos-1`:6653

Let's build tunnels between OVSs

based on Configuring VXLAN and GRE Tunnels on OpenvSwitch

  1. Create bridge interface
sudo ovs-vsctl add-br ovs-br1
  1. Create tunnels 😂
sudo ovs-vsctl add-port ovs-br1 vx1 -- set interface vx1 type=vxlan options:remote_ip=?

ONOS cluster

based on Running the published Docker ONOS images.

  1. Run your docker image
$ sudo docker run  -t -d --name onos1 onosproject/onos
<cid>
$ sudo docker run  -t -d --name onos2 onosproject/onos
<cid>
$ sudo docker run  -t -d --name onos3 onosproject/onos
<cid>
  1. Cluster-ize your instances
# Forms ONOS cluster using REST API of each separate instance.
wget https://raw.githubusercontent.com/opennetworkinglab/onos/master/tools/package/bin/onos-form-cluster

chmod u+x onos-form-cluster

./onos-form-cluster -u karaf -p karaf `docker-ip onos1` `docker-ip onos2` `docker-ip onos3`
  1. Connect to your ONOS !
ssh -p 8101 karaf@`docekr-ip onso3`
Protocol Port
SSH 8101
HTTP 8181

Service chaining based on docker

We want to create 3 containers that thier network chains together.

  1. Create docker network if necessary
sudo docker netowrk create --driver=bridge bridge-name
  1. Create a normal container in each subnet
sudo docker run -ti --rm --name=c1 ubuntu
sudo docker run -ti --rm --name=c3 --network=bridge ubuntu
  1. Create middlebox container
sudo docker build --no-cache -t middlebox containers/middlebox
sudo docker run -ti --rm --name=c2 middlebox eth0

About

Having fun with SDN in chain of NFV with some Docker ! 🙉

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages