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.
Pingback: mininet ve ONOS ile örnek uygulama | SevketKeser.Net