Debian Üzerine mininet ve ONOS Kurulumu

Debian kurulumu için buraya tıklayın.


Windows ortamından MobaXterm programıyla Debian makineye ssh ile bağlanın ve kurulma başlayın.

mininet Kurulumu

mininet kurulumu için gerekli komutları karşılarında açıklamalarıyla birlikte aşağıdaki şekilde verilmiştir.

 

Komut

Açıklama

root@debian-test:~# cd /opt/

opt dizinine git.

root@debian-test:/opt# apt install sudo

sudo paketinin kurulumu

root@debian-test:/opt# apt install wireshark

Wireshark’ı kur

root@debian-test:/opt# apt install git

git’i kur

root@debian-test:/opt# mkdir mininet

Mininet adlı dizin oluştur

root@debian-test:/opt# cd mininet/

Mininet diznine gir.

root@debian-test:/opt/mininet# git clone git://github.com/mininet/mininet

github’dan mininneti indir.

root@debian-test:/opt/mininet# cd mininet/

mininet dizinine gir.

root@debian-test:/opt/mininet/mininet# git tag

tag’ları listele

root@debian-test:/opt/mininet/mininet# git checkout -b 2.3.0d6

2.3.0d6 branch’ını seç.

root@debian-test:/opt/mininet/mininet# util/install.sh -a

mininet tam kurulum yap

Enjoy Mininet!

 

Mininet kurulumunun test edilmesi

root@debian-test:/opt/mininet/mininet# mn –test pingall

*** Creating network

*** Adding controller

*** Adding hosts:

h1 h2

*** Adding switches:

s1

*** Adding links:

(h1, s1) (h2, s1)

*** Configuring hosts

h1 h2

*** Starting controller

c0

*** Starting 1 switches

s1 …

*** Waiting for switches to connect

s1

*** Ping: testing ping reachability

h1 -> h2

h2 -> h1

*** Results: 0% dropped (2/2 received)

*** Stopping 1 controllers

c0

*** Stopping 2 links

..

*** Stopping 1 switches

s1

*** Stopping 2 hosts

h1 h2

*** Done

completed in 5.609 seconds

 

ONOS Kurulumu

ONOS kurulumu için gerekli komutları karşılarında açıklamalarıyla birlikte aşağıdaki şekilde verilmiştir.

Not : debian’ın dhcp’den alacağı ip adresleri rezerve edilmedir. Debian her restart olduğunda erthernet interface’leri dhcp rezervasyonu ile aynı ip adresini almaldır. Aksi durumda onos servisi start olurken hata alınır.

// curl , wget ve openjdk-11-jdk paketlerinin kurulumları

root@debian-test:/opt# apt install curl

root@debian-test:/opt# apt install wget

root@debian-test:/opt# apt install openjdk-11-jdk

 

root@debian-test:/opt# cat /etc/environment  // environment dosyasının görüntülenmesi.

 

// environment dosyası içerisine JAVA_HOME ve JRE_HOME değişkenlerinin eklenmesi.

// bu ayar onos’un tam çalışması için önemlidir.

root@debian-test:/opt# cat >> /etc/environment <<EOL

> JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

> JRE_HOME=/usr/lib/jvm/java-11-openjdk-amd64/jre

> EOL

 

root@debian-test:/opt# cat /etc/environment // environment ekleme işleminin kontrolü.

JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64

JRE_HOME=/usr/lib/jvm/java-11-openjdk-amd64/jre

 

// onos’un indirilmesi, güncel dosyayı

// https://wiki.onosproject.org/display/ONOS/Downloads adesinden kontrol edin.

root@debian-test:/opt# wget -c https://repo1.maven.org/maven2/org/onosproject/onos-releases/2.5.0/onos-2.5.0.tar.gz

 

root@debian-test:/opt# tar -xzvf onos-2.5.0.tar.gz  // arşiv dosyasının açılması.

 

root@debian-test:/opt# mv onos-2.5.0 onos  // dizinin taşınması.

 

root@debian-test:/opt# cd onos/  // onos dizinin içine girilmesi.

 

root@debian-test:/opt/onos# ls

 

root@debian-test:/opt/onos# cd bin/  // bin dizinin içine girilmesi.

 

// onos servisinin başlatılması. Açık olan terminali kapatmayın.

root@debian-test:/opt/onos/bin# ./onos-service start

 

ONOS Kurulumun test edilmesi.

Yukarıdaki gibi onos servisini başlattıktan sonra hedef makine üzerinde başka bir ssh oturumu açıp aşağıdaki portların LISTEN durumda olduğunu kontrol edin.

# netstat -tulpn | grep LISTEN

Komutun çıktısı olarak aşağıdaki portların LISTEN durumda olduğunu görmemiz gerekli

    8181    for REST API and GUI

    8101    to access the ONOS CLI

    9876    for intra-cluster communication (communication between target machines)

    6653    optional, for OpenFlow  // hariç

    6640    optional, for OVSDB // hariç.

6653 ve 6640 hariç ! bu portlar ilgili onos modüller aktif edildikten sonra LISTEN durumuna geçecektir. Bu şekilde mininet onos’a bağlanamaz.

Gerekli konfigürasonları tamamlamak için çalıştırılan onos servisine iki şekilde erişebiliriz.

1.Web arabirimi : http://192.168.2.61:8181/onos/ui/login.html  user: onos pass : rocks

2.CLİ komut satırı. Komut satırı erişimini MobaXterm kullanarak aşağıdaki bilgilerle sağlıyoruz.
Host: 192.168.2.61
user : karaf
password : karaf
Port : 8101

Şekil 1 : MobaXterm ile Windows makineden onos cli erişimi için ssh bağlantı parametreleri

ONOS Modüllerinin Yüklenmesi

mininet’in onos’a openflow protokolünü kullanarak bağlanması ve mininet içerisinde ping komutunun çalışması için aşağıdaki onos modüllerinin aktifleştirilmesi gerekmektedir. Bu işlemi gui üzerinden yapabileceğiniz gibi cli üzerinden de yapabiliriz. Aşağıda komut satırı üzerinden paket aktivasyonun nasıl yapılacağı açıklanmıştır.

Onos ilk başlatıldığında aktif olan modüller.

karaf@root > apps -s -a

*  12 org.onosproject.drivers              2.5.0    Default Drivers

* 107 org.onosproject.gui2                 2.5.0    ONOS GUI2


Komut satırı üzerinden gerekli modüllerin yüklenmesi.

karaf@root > app activate org.onosproject.openflow

karaf@root > app activate org.onosproject.fwd

karaf@root > app activate org.onosproject.ofagent

karaf@root > app activate org.onosproject.workflow

karaf@root > app activate org.onosproject.ovsdb

karaf@root > app activate org.onosproject.openflow-message

karaf@root > app activate org.onosproject.drivers.ovsdb

karaf@root > app activate org.onosproject.mfwd

karaf@root > app activate org.onosproject.workflow.ofoverlay

 

Yüklü modüllerin listesi

karaf@root > apps -s -a

*  12 org.onosproject.drivers              2.5.0    Default Drivers

*  28 org.onosproject.optical-model        2.5.0    Optical Network Model

*  32 org.onosproject.lldpprovider         2.5.0    LLDP Link Provider

*  47 org.onosproject.tunnel               2.5.0    Tunnel Subsystem

*  48 org.onosproject.virtual              2.5.0    Virtual Network Subsystem

*  49 org.onosproject.ofagent              2.5.0    OpenFlow Agent

*  64 org.onosproject.ovsdb-base           2.5.0    OVSDB Provider

*  65 org.onosproject.drivers.ovsdb        2.5.0    Generic OVSDB Drivers

*  72 org.onosproject.ovsdbhostprovider    2.5.0    OVSDB host Provider

*  73 org.onosproject.ovsdb                2.5.0    OVSDB Southbound Meta

*  91 org.onosproject.workflow             2.5.0    Workflow

* 102 org.onosproject.openflow-base        2.5.0    OpenFlow Base Provider

* 103 org.onosproject.hostprovider         2.5.0    Host Location Provider

* 107 org.onosproject.gui2                 2.5.0    ONOS GUI2

* 115 org.onosproject.openflow             2.5.0    OpenFlow Provider Suite

* 119 org.onosproject.fwd                  2.5.0    Reactive Forwarding

* 132 org.onosproject.openflow-message     2.5.0    Control Message Stats Provider

* 159 org.onosproject.workflow.ofoverlay   2.5.0    Openflow overlay

* 166 org.onosproject.mfwd                 2.5.0    Multicast Forwarding

 

Bu işlemi GUI üzerinden de yapabiliriz. Şimdi onos’u başlattığımız ssh oturuma dönelim ve Ctrl+C ile servisi durduralım ve yeniden başlatalım.

^C     // servisi Ctrl+C ile durduruyoruz.

root@debian-test:/opt# onos/bin/onos-service start // yeniden başlatıyoruz.


LISTEN durumdaki portlara yeniden bakalım;

# netstat -tulpn | grep LISTEN


Komutun çıktısı olarak aşağıdaki portların LISTEN durumda olduğunu görmemiz gerekli.

    8181    for REST API and GUI

    8101    to access the ONOS CLI

    9876    for intra-cluster communication (communication between target machines)

    6653    optional, for OpenFlow  // bu kez dahil.

    6640    optional, for OVSDB // bu kez dahil.

 


Modül aktivasyonlarından sonra  6653 ve 6640 portlarında LISTEN durumda olduğunu görmemiz gerekli. Artık mininet openflow protokolü ile onos’a bağlanmaya hazır.

mininet üzerinden ONOS’a bağlanmak.

Yeni bir ssh oturumu açıyoruz ve aşağıdaki komutla mininet üzerinden onos’a bağlanıyoruz, ve sonuçları gui arabirimden gözlemliyoruz.

 

root@debian-test:~# mn –topo single,3 –mac –switch ovsk –controller remote,ip=192.168.2.2

*** Creating network

*** Adding controller

Connecting to remote controller at 192.168.2.61:6653

*** Adding hosts:

h1 h2 h3

*** Adding switches:

s1

*** Adding links:

(h1, s1) (h2, s1) (h3, s1)

*** Configuring hosts

h1 h2 h3

*** Starting controller

c0

*** Starting 1 switches

s1 …

*** Starting CLI:

mininet> pingall

*** Ping: testing ping reachability

h1 -> h2 h3

h2 -> h1 h3

h3 -> h1 h2

*** Results: 0% dropped (6/6 received)

mininet>

Şekil 2 : ONOS ekranı

NOT : hostların görüntülmesi için, pingall dedikten sonra klavyeden H tuşuna basın.

Aşağıdaki komutla minineti kapıyoruz.

mininet> exit

*** Stopping 1 controllers

c0

*** Stopping 3 links

*** Stopping 1 switches

s1

*** Stopping 3 hosts

h1 h2 h3

*** Done

completed in 321.877 seconds

root@debian-test:~# mn -c


Ardından onos-cli üzerinden gui ekranını temizliyoruz.

karaf@root > wipe-out please

Kurulum videosunu aşağıdan izleyebilirsiniz.

One thought on “Debian Üzerine mininet ve ONOS Kurulumu

  1. Pingback: mininet ve ONOS ile örnek uygulama | SevketKeser.Net

Bir yanıt yazın

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.