Repositori ini berisi tentang tutorial yang berkaitan dengan opendaylight. Ada beberapa tutorial yang akan dibahas pada repositori ini.
- Lab akan menggunakan GNS3 dan Docker,
- Minimal 8GB RAM,
- Host OS base on Ubuntu.
- Pengenalan Software Defined Network
- Pengenalan OpenDayLight
- Instalasi OpenDayLight
- Instalasi OpenVSwitch
- Instalasi Docker
- Menghubungkan OpenVSwitch ke OpenDayLight (OpenFlow)
- Menghubungkan perangkat ke OpenDayLight dengan NETCONF
- OpenDayLight Clustering
- OpenDayLight Virtual Tenant Network
OpenDayLight adalah sebuah perangkat lunak sumber terbuka yang berfungsi sebagai controller SDN (Software Defined Network).
OpenDayLight mendukung protokol SDN OpenFlow dan juga protokol SDN terbuka yang lain seperti NetConf ataupun OSVDB.
Software Defined Network atau yang biasa disingkat dengan SDN adalah suatu paradigma baru dalam dunia jaringan dimana secara garis besar dapat memisahkan control plane dan data plane.
Didalam SDN ada yang dinamakan dengan Controller, dimana controller ini berfungsi sebagai control plane untuk setiap forwarding device yang terhubung dengan controller.
Direkomendasikan untuk menginstall OpenDayLight di ubuntu karena tutorial instalasi ini akan dilakukan di Ubuntu, begitu juga images docker OpenDayLight yang akan dipakai.
Tutorial ini tidak berkaitan dengan tutorial yang lain, karena kita akan menggunakan OpenDayLight base on Docker. Tetapi kemampuan instalasi OpenDayLight harus dibutuhkan untuk implementasi di dunia nyata.
- Install Ubuntu
- Install unzip dan Wget
sudo apt-get install unzip wget
- Install Java
sudo apt-get install default-jre-headless
nano ~/.bashrc
tambahkan didalam bashrc
export JAVA_HOME=/usr/lib/jvm/default-java
jalankan
source ~/.bashrc
- Unduh OpenDayLight
wget https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/distribution-karaf/0.5.4-Boron-SR4/distribution-karaf-0.5.4-Boron-SR4.zip
- Unzip OpenDayLight
unzip distribution-karaf-0.5.4-Boron-SR4.zip
- Jalankan OpenDayLight
cd distribution-karaf-0.5.4-Boron-SR4
./bin/karaf
- Install Feature DLUX
DLUX atau OpenDayLight User Interface adalah salah satu fitur penting dimana menyediakan interface atau antarmuka untuk mengkonfigurasi OpenDayLight
Berikut dokumentasi terkait dengan DLUX
feature:install odl-dlux-all
- Buka OpenDayLight dengan Browser
http://<your-opendaylight-ip>:8181/index.html
- Login dengan username : admin dan password : admin
Tutorial ini tidak berkaitan dengan tutorial yang lain, karena kita akan menggunakan OpenVSwitch base on Docker. Tetapi kemampuan instalasi OpenVSwitch harus dibutuhkan untuk implementasi di dunia nyata.
Silahkan lihat repositori saya yang lain untuk instalasi OpenVSwitch.
Docker adalah sebuah teknologi dimana sebuah aplikasi dapat berjalan didalam sebuah container. Container sendiri merupakan cara dimana aplikasi tersebut disimpan dan diikatkan dengan librarynya sehingga dapat berjalan dengan sempurna.
Perbedaan mendasar antara konsep container dengan virtual machine adalah didalam container, kita tidak perlu menginstall seluruh sistem operasi seperti virtual machine.
- Docker pada repositori ini berguna untuk menyimpan container OpenVSwitch dan juga OpenDayLight sehingga tidak perlu menginstallnya didalam sebuah virtual machine. Dimana docker akan dikombinasikan dengan GNS3 sehingga container dapat dimasukan secara langsung kedalam Lab di GNS3.
- Kita akan menginstall docker pada Host OS sehingga tidak diperlukan sebuah GNS3 VM.
- Install apt agar mengizinkan untuk menggunakan repositori melalui https
$ sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
- Tambahkan Repository
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
$ sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
$ sudo apt-get update
$ sudo apt-get install docker-ce
Kita akan melakukan pull docker images OpenDayLight dan OpenVSwitch
$ docker pull zufardhiyaulhaq/opendaylight
$ docker pull gns3/openvswitch
Sampai tahap ini, kita sudah siap untuk melakukan Lab OpenDayLight.
Kasus ini hanyalah contoh bagaimana cara untuk menghubungkan OpenVSwitch ke OpenDayLight.
- Buat sebuah Bridge
$ ovs-vsctl add-br br0
- Masukan interface kedalam Bridge
$ ovs-vsctl add-port br0 eth0
$ ovs-vsctl add-port br0 eth1
$ ovs-vsctl add-port br0 eth2
$ ovs-vsctl add-port br0 eth3
- Set Controller ke OpenDayLight
$ ovs-vsctl set-controller br0 "tcp:192.168.122.254:6633"
- Jalankan OpenDayLight dengan Karaf
$ ./bin/karaf
- Install OpenDayLight DLUX dan L2Switch feature
feature:install odl-dlux-all odl-l2switch-all
Lihat apakah OpenVSwitch terkoneksi dengan Controller
$ ovs-vsctl list controller
_uuid : dd619d79-33f8-4efb-89c6-bda14799b40e
connection_mode : []
controller_burst_limit: []
controller_rate_limit: []
enable_async_messages: []
external_ids : {}
inactivity_probe : []
is_connected : true
local_gateway : []
local_ip : []
local_netmask : []
max_backoff : []
other_config : {}
role : master
status : {last_error="Connection refused", sec_since_connect="11", sec_since_disconnect="19", state=ACTIVE}
target : "tcp:192.168.122.254:6633"
- Jika OpenVSwitch dan OpenDayLight sudah terkoneksi tetapi tidak dapat terhubung ke controller, nyalakan interface bridge pada OpenVSwitch
$ ifconfig br0 up
NETCONF adalah protokol northbound pada SDN (Software Defined Network) yang berfungsi sama seperti OpenFlow.
Kita akan mensimulasikan NETCONF dengan sebuah NETCONF Testtool yang dibuat oleh OpenDayLight. Untuk versi perangkat aslinya, Masih dalam tahap riset.
- Jalankan OpenDayLight
./bin/karaf
- Install Feature OpenDayLight
feature:install odl-netconf-topology odl-restconf
- Jalankan Perangkat NETCONF dan lakukan instalasi wget dan maven (dalam hal ini menggunakan ubuntu).
$ apt-get install maven wget
- Unduh OpenDayLight NETCONF Testtool
$ wget https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/netconf/netconf-testtool/1.1.4-Boron-SR4/netconf-testtool-1.1.4-Boron-SR4-executable.jar
- Jalankan NETCONF Testtool
java -jar netconf-testtool-1.1.4-Boron-SR4-executable.jar
Dengan menggunakan postman, akan lebih mudah memasukan perintah RESTCONF.
- Type : PUT
- URL : http://192.168.122.254:8181/restconf/config/network- topology:network-topology/topology/topology- netconf/node/new-netconf-device
- Payload atau Body :
<node xmlns="urn:TBD:params:xml:ns:yang:network-topology">
<node-id>new-netconf-device</node-id>
<host xmlns="urn:opendaylight:netconf-node-topology">192.168.122.2</host>
<port xmlns="urn:opendaylight:netconf-node-topology">17830</port>
<username xmlns="urn:opendaylight:netconf-node-topology">admin</username>
<password xmlns="urn:opendaylight:netconf-node-topology">admin</password>
<tcp-only xmlns="urn:opendaylight:netconf-node-topology">false</tcp-only>
</node>
Lakukan verifikasi apakah perangakt berhasil terhubung dengan OpenDayLight.
Dengan menggunakan postman.
- Type : GET
- URL :http://192.168.122.254:8181/restconf/operational/network- topology:network-topology/topology/topology- netconf/node/new-netconf-device
Dengan menggunakan postman.
- Type : DELETE
- URL : http://192.168.122.254:8181/restconf/config/network-topology:network-topology/topology/topology- netconf/node/new-netconf-device
Virtual Tenant Network (VTN) adalah sebuah paradigma dimana kita dapat mendesain sebuah jaringan virtual
diatas sebuah jaringan fisik yang asli.
Virtual Tenant Network memisahkan antara jaringan virtual dan jaringan fisiknya, kita dapat mendesain sebuah jaringan virtual tanpa memperhatikan topologi jaringan fisik itu sendiri.
- Pemisahan jaringan virtual dan fisik akan menyembunyikan kompleksnya jaringan fisik tersebut,
- Managemen perangkat yang lebih baik,
- Memilimalisir kesalahan konfigurasi.
Setelah kita mendesain sebuah jaringan virtual didalam VTN, jaringan virtual tersebut akan otomatis termapping kedalam jaringan fisik.