Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével

Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével

Ebben a cikkben megmutatom, hogyan kell beállítani nyílt nappal a hálózati eszközökkel való munkavégzésre, valamint a használatának bemutatására Postás és egyszerű RESTCONF kérésére ez a berendezés vezérelhető. Nem fogunk hardverrel dolgozni, hanem kis virtuális laboratóriumokat telepítünk egyetlen routerrel Vrnetlab felett Ubuntu LTS 20.04.

Először egy router példáján mutatom meg a részletes beállításokat Juniper vMX 20.1R1.11, majd összehasonlítjuk a beállítással Cisco xRV9000 7.0.2.

Tartalom

  • Szükséges tudás
  • Часть 1: röviden megbeszélni OpenDaylight (a továbbiakban távoktatás), Postás и Vrnetlab és miért van szükségünk rájuk
  • Часть 2: a virtuális laboratórium leírása
  • Часть 3: testreszab nyílt nappal
  • Часть 4: testreszab Vrnetlab
  • Часть 5: használva Postás virtuális útválasztó csatlakoztatása (Juniper vMX) Nak nek távoktatás
  • Часть 6: az útválasztó konfigurációjának lekérése és módosítása a segítségével Postás и távoktatás
  • Часть 7: Cisco xRV9000 hozzáadása
  • Következtetés
  • PS
  • Bibliográfia

Szükséges tudás

Annak érdekében, hogy a cikk ne váljon lappá, kihagytam néhány technikai részletet (hivatkozásokkal a szakirodalomra, ahol ezekről olvashat).

Ezzel kapcsolatban olyan témákat ajánlok, amelyeket jó lenne (de szinte nem is szükséges) tudni olvasás előtt:

1. rész: néhány elmélet

Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével

  • Nyílt SDN platform mindenféle hálózat kezelésére és automatizálására, amelyet a Linux Foundation
  • Java belül
  • Modellvezérelt szolgáltatásabsztrakciós szint (MD-SAL) alapján
  • YANG modelleket használ a RESTCONF API-k automatikus generálásához a hálózati eszközökhöz

A hálózatkezelés fő modulja. Ezen keresztül fogunk kommunikálni a csatlakoztatott eszközökkel. Saját API-n keresztül kezelhető.

Az OpenDaylightról bővebben olvashat itt.

Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével

  • API tesztelő eszköz
  • Egyszerű és könnyen használható felület

A mi esetünkben érdekelt minket, hogy REST kéréseket küldjünk az OpenDaylight API-nak. Természetesen manuálisan is elküldheti a kéréseket, de a Postmanban minden nagyon világosnak tűnik, és tökéletesen megfelel a céljainknak.

Az ásni vágyóknak: rengeteg oktatóanyagot írtak rá (például).

Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével

  • Eszköz a virtuális útválasztók Dockerben történő telepítéséhez
  • Támogatja: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR stb.
  • Open Source

Nagyon érdekes, de kevéssé ismert hangszer. Esetünkben a Juniper vMX és a Cisco xRV9000 futtatására fogjuk használni egy normál Ubuntu 20.04 LTS-en.

Bővebben itt olvashatsz róla projekt oldala.

2. rész: Lab

Ebben az oktatóanyagban a következő rendszert állítjuk be:

Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével

Ez hogy működik

  • Juniper vMX felemelkedik Dokkmunkás konténer (eszközzel Vrnetlab) és a leggyakoribb virtuális útválasztóként működik.
  • távoktatás csatlakozik az útválasztóhoz, és lehetővé teszi annak vezérlését.
  • Postás külön gépen elindítva és azon keresztül küldünk parancsokat távoktatás: az útválasztó csatlakoztatásához / eltávolításához, a konfiguráció megváltoztatásához stb.

Kommentár a rendszer eszközéhez

Juniper vMX и távoktatás elég sok erőforrást igényelnek a stabil működésükhöz. Csak egy vMX 6 Gb RAM-ot és 4 magot kér. Ezért úgy döntöttek, hogy az összes "nehézsúlyt" egy külön gépbe helyezik (Heulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). A router persze nem "repül" rajta, de a teljesítmény az apró kísérletekhez elég.

3. rész: Az OpenDaylight beállítása

Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével

Az ODL jelenlegi verziója az írás idején a Magnesium SR1

1) Telepítse Java Open JDK 11 (részletesebb telepítéshez itt)

ubuntu:~$ sudo apt install default-jdk

2) Keresse meg és töltse le a legújabb buildet távoktatás ezért
3) Csomagolja ki a letöltött archívumot
4) Lépjen a kapott könyvtárba
5) Indítsa el ./bin/karaf

Ennél a lépésnél távoktatás el kell indulnia, és a konzolban találjuk magunkat (a kívülről a 8181-es portot használjuk, amit később használunk).

Ezután telepítse ODL funkciókprotokollokkal való együttműködésre tervezték NETCONF и RESTCONF. Ehhez a konzolban távoktatás végrehajtjuk:

opendaylight-user@root> feature:install odl-netconf-topology odl-restconf-all

Ez a legegyszerűbb beállítás. távoktatás elkészült. (További részletekért lásd itt).

4. rész: A Vrnetlab beállítása

Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével

Rendszer előkészítés

Telepítés előtt Vrnetlab telepítenie kell a működéséhez szükséges csomagokat. Mint például Dokkmunkás, csoportos it, sshpass:

ubuntu:~$ sudo apt update
ubuntu:~$ sudo apt -y install python3-bs4 sshpass make
ubuntu:~$ sudo apt -y install git
ubuntu:~$ sudo apt install -y 
    apt-transport-https ca-certificates 
    curl gnupg-agent software-properties-common
ubuntu:~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
ubuntu:~$ sudo add-apt-repository 
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
   $(lsb_release -cs) 
   stable"
ubuntu:~$ sudo apt update
ubuntu:~$ sudo apt install -y docker-ce docker-ce-cli containerd.io

A Vrnetlab telepítése

Telepíteni Vrnetlab klónozza a megfelelő tárolót a githubból:

ubuntu:~$ cd ~
ubuntu:~$ git clone https://github.com/plajjan/vrnetlab.git

Menjen a könyvtárba vrnetlab:

ubuntu:~$ cd ~/vrnetlab

Itt láthatja a futtatáshoz szükséges összes szkriptet. Kérjük, vegye figyelembe, hogy minden típusú útválasztóhoz létrejött egy megfelelő könyvtár:

ubuntu:~/vrnetlab$ ls
CODE_OF_CONDUCT.md  config-engine-lite        openwrt           vr-bgp
CONTRIBUTING.md     csr                       routeros          vr-xcon
LICENSE             git-lfs-repo.sh           sros              vrnetlab.sh
Makefile            makefile-install.include  topology-machine  vrp
README.md           makefile-sanity.include   veos              vsr1000
ci-builder-image    makefile.include          vmx               xrv
common              nxos                      vqfx              xrv9k

Hozzon létre egy képet az útválasztóról

Minden támogatott router Vrnetlab, saját egyedi beállítási eljárással rendelkezik. Amikor Juniper vMX csak fel kell töltenünk a .tgz archívumot a routerrel (letöltheti a hivatalos honlapja) a vmx könyvtárba, és futtassa a parancsot make:

ubuntu:~$ cd ~/vrnetlab/vmx
ubuntu:~$ # Копируем в эту директорию .tgz архив с роутером
ubuntu:~$ sudo make

Kép építése vMX körülbelül 10-20 percet vesz igénybe. Ideje menni kávézni!

Miért ilyen sokáig, kérdezed?

fordítás válasz a kérdés szerzője:

"Ez azért van, mert a VCP (vezérlősík) első indításakor beolvas egy konfigurációs fájlt, amely meghatározza, hogy VRR VCP-ként fog-e futni a vMX-ben. Korábban ez az indítás a Docker indításakor történt, de ez azt jelentette, hogy a VCP mindig újraindult egyszer, mielőtt a virtuális útválasztó elérhető lett volna, ami hosszú rendszerindítási időt (körülbelül 5 percet) eredményezett. Most a VCP első futtatása a Docker lemezkép összeállítása során történik, és mivel a Docker build nem futtatható a - -privileged opció, ez azt jelenti, hogy a qemu KVM hardveres gyorsítás nélkül működik, így a build nagyon hosszú időt vesz igénybe. A folyamat során sok napló kerül kiadásra, így legalább láthatod, hogy mi történik. Szerintem egy hosszú build nem olyan ijesztő, mert egyszer létrehozunk egy képet, de sok mindent elindítunk."

Miután láthatja a routerünk képét Dokkmunkás:

ubuntu:~$ sudo docker image list
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
vrnetlab/vr-vmx     20.1R1.11           b1b2369b453c        3 weeks ago         4.43GB
debian              stretch             614bb74b620e        7 weeks ago         101MB

Indítsa el a vr-vmx tárolót

Kezdjük a következő paranccsal:

ubuntu:~$ sudo docker run -d --privileged --name jun01 b1b2369b453c

Ezután láthatunk információkat az aktív tárolókról:

ubuntu:~$ sudo docker container list
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS                                                 NAMES
120f882c8712        b1b2369b453c        "/launch.py"        2 minutes ago       Up 2 minutes (unhealthy)   22/tcp, 830/tcp, 5000/tcp, 10000-10099/tcp, 161/udp   jun01

Csatlakozás a routerhez

Az útválasztó hálózati interfészének IP-címe a következő paranccsal szerezhető be:

ubuntu:~$ sudo docker inspect --format '{{.NetworkSettings.IPAddress}}' jun01
172.17.0.2

Alapértelmezett, Vrnetlab létrehoz egy felhasználót az útválasztón vrnetlab/VR-netlab9.
Csatlakozás a következővel ssh:

ubuntu:~$ ssh [email protected]
The authenticity of host '172.17.0.2 (172.17.0.2)' can't be established.
ECDSA key fingerprint is SHA256:g9Sfg/k5qGBTOX96WiCWyoJJO9FxjzXYspRoDPv+C0Y.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '172.17.0.2' (ECDSA) to the list of known hosts.
Password:
--- JUNOS 20.1R1.11 Kernel 64-bit  JNPR-11.0-20200219.fb120e7_buil
vrnetlab> show version
Model: vmx
Junos: 20.1R1.11

Ezzel befejeződik a router beállítása.

A különböző gyártók útválasztóinak telepítési javaslatai a következő címen találhatók: github projekt a megfelelő könyvtárakban.

5. rész: Postás – csatlakoztassa az útválasztót az OpenDaylighthoz

Postás telepítés

A telepítéshez csak töltse le az alkalmazást ezért.

Router csatlakoztatása ODL-hez

Alkossunk PUT kérés:

Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével

  1. Lekérdezési karakterlánc:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Kérelem törzse (Törzs lap):
    <node xmlns="urn:TBD:params:xml:ns:yang:network-topology">
    <node-id>jun01</node-id>
    <host xmlns="urn:opendaylight:netconf-node-topology">172.17.0.2</host>
    <port xmlns="urn:opendaylight:netconf-node-topology">22</port>
    <username xmlns="urn:opendaylight:netconf-node-topology">vrnetlab</username>
    <password xmlns="urn:opendaylight:netconf-node-topology">VR-netlab9</password>
    <tcp-only xmlns="urn:opendaylight:netconf-node-topology">false</tcp-only>
    <schema-cache-directory xmlns="urn:opendaylight:netconf-node-topology">jun01_cache</schema-cache-directory>
    </node>
  3. Az Engedélyezés lapon be kell állítani a paramétert Basic Auth és bejelentkezés/jelszó: admin/admin. Ez szükséges az ODL eléréséhez:
    Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével
  4. A Fejlécek lapon két fejlécet kell hozzáadnia:
    • Alkalmazás/xml elfogadása
    • Tartalom-típusú alkalmazás/xml

A kérésünk megtörtént. Küldjük. Ha mindent helyesen konfiguráltunk, akkor a „201 létrehozva” állapotot kell visszaadnunk:

Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével

Mit jelent ez a kérés?

Csomópontot hozunk létre belül távoktatás az elérni kívánt valódi router paramétereivel.

xmlns="urn:TBD:params:xml:ns:yang:network-topology"
xmlns="urn:opendaylight:netconf-node-topology"

Ezek belső névterek XML (XML névtér) távoktatás amely szerint csomópontot hoz létre.

Továbbá, az útválasztó neve csomópont-azonosító, router címe - vendéglátó és így tovább.

A legérdekesebb sor az utolsó. Séma-gyorsítótár-könyvtár létrehoz egy könyvtárat, ahová az összes fájl letöltődik YANG séma csatlakoztatott router. Megtalálhatod őket a $ODL_ROOT/cache/jun01_cache.

A router csatlakozásának ellenőrzése

Alkossunk GET kérés:

  1. Lekérdezési karakterlánc:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. Az Engedélyezés lapon be kell állítani a paramétert Basic Auth és bejelentkezés/jelszó: admin/admin.

Küldjük. Meg kell kapnia a "200 OK" állapotot és az eszköz által támogatott összes listát YANG séma:

Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével

Megjegyzés: Ez utóbbi megtekintéséhez az én esetemben kb 10 percet kellett várni a végrehajtás után PUTmindaddig YANG séma rakd ki távoktatás. Eddig a pontig ennek végrehajtása során GET a lekérdezés a következőket jeleníti meg:

Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével

Törölje a routert

Alkossunk DELETE kérés:

  1. Lekérdezési karakterlánc:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Az Engedélyezés lapon be kell állítani a paramétert Basic Auth és bejelentkezés/jelszó: admin/admin.

6. rész: Módosítsa az útválasztó konfigurációját

A konfiguráció lekérése

Alkossunk GET kérés:

  1. Lekérdezési karakterlánc:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. Az Engedélyezés lapon be kell állítani a paramétert Basic Auth és bejelentkezés/jelszó: admin/admin.

Küldjük. Meg kell kapnia a "200 OK" állapotot és a router konfigurációját:

Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével

Hozzon létre egy konfigurációt

Példaként hozzuk létre a következő konfigurációt, és módosítsuk azt:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

Alkossunk POST kérés:

  1. Lekérdezési karakterlánc:
    POST http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/junos-conf-root:configuration/junos-conf-protocols:protocols
  2. Kérelem törzse (Törzs lap):
    <bgp xmlns="http://yang.juniper.net/junos/conf/protocols">
    <disable/>
    <shutdown>
    </shutdown>
    </bgp>
  3. Az Engedélyezés lapon be kell állítani a paramétert Basic Auth és bejelentkezés/jelszó: admin/admin.
  4. A Fejlécek lapon két fejlécet kell hozzáadnia:
    • Alkalmazás/xml elfogadása
    • Tartalom-típusú alkalmazás/xml

Az elküldést követően a "204 Nincs tartalom" állapotot kell kapniuk

Annak ellenőrzésére, hogy a konfiguráció megváltozott-e, használhatja az előző lekérdezést. De például létrehozunk egy másikat, amely csak az útválasztón konfigurált protokollokról jelenít meg információkat.

Alkossunk GET kérés:

  1. Lekérdezési karakterlánc:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/junos-conf-root:configuration/junos-conf-protocols:protocols
  2. Az Engedélyezés lapon be kell állítani a paramétert Basic Auth és bejelentkezés/jelszó: admin/admin.

A kérés teljesítése után a következőket fogjuk látni:

Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével

Módosítsa a konfigurációt

Változtassuk meg a BGP protokollra vonatkozó információkat. Cselekedeteink után ez így fog kinézni:

protocols {
    bgp {
        disable;
    }
}

Alkossunk PUT kérés:

  1. Lekérdezési karakterlánc:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/junos-conf-root:configuration/junos-conf-protocols:protocols
  2. Kérelem törzse (Törzs lap):
    <protocols xmlns="http://yang.juniper.net/junos/conf/protocols">
    <bgp>
        <disable/>
    </bgp>
    </protocols>
  3. Az Engedélyezés lapon be kell állítani a paramétert Basic Auth és bejelentkezés/jelszó: admin/admin.
  4. A Fejlécek lapon két fejlécet kell hozzáadnia:
    • Alkalmazás/xml elfogadása
    • Tartalom-típusú alkalmazás/xml

Az előző felhasználásával GET kérésére látjuk a változásokat:

Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével

Törölje a konfigurációt

Alkossunk DELETE kérés:

  1. Lekérdezési karakterlánc:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/junos-conf-root:configuration/junos-conf-protocols:protocols
  2. Az Engedélyezés lapon be kell állítani a paramétert Basic Auth és bejelentkezés/jelszó: admin/admin.

Amikor hívják GET A protokollokkal kapcsolatos információkkal kapcsolatban a következőket fogjuk látni:

Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével

kiegészítésére:

A konfiguráció megváltoztatásához nem szükséges a kérés törzsét formátumban elküldeni XML. Ez formátumban is megtehető JSON.

Ehhez például a lekérdezésben PUT a konfiguráció megváltoztatásához cserélje ki a kérés törzsét a következőre:

{
    "junos-conf-protocols:protocols": {
        "bgp": {
            "description" : "Changed in postman" 
        }
    }
}

Ne felejtse el módosítani a fejléceket a Fejlécek lapon a következőkre:

  • Alkalmazás/json elfogadása
  • Tartalom-típusú alkalmazás/json

Elküldés után a következő eredményt kapjuk (A választ a GET kérés):

Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével

7. rész: A Cisco xRV9000 hozzáadása

Mi minden a Juniper, igen Juniper? Beszéljünk a Ciscóról!
Megtaláltam az xRV9000 7.0.2-es verzióját (egy vadállat, amihez 8 Gb RAM és 4 mag kell. Nem elérhető szabadon, ezért vegye fel a kapcsolatot Cisco) - futtassuk le.

Egy konténer működtetése

A Docker konténer létrehozásának folyamata gyakorlatilag nem különbözik a Junipertől. Hasonlóképpen bedobjuk a .qcow2 fájlt a routerrel a nevének megfelelő könyvtárba (jelen esetben xrv9k), és végrehajtjuk a parancsot make docker-image.

Néhány perc múlva látjuk, hogy a kép elkészült:

ubuntu:~$ sudo docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
vrnetlab/vr-xrv9k   7.0.2               54debc7973fc        4 hours ago         1.7GB
vrnetlab/vr-vmx     20.1R1.11           b1b2369b453c        4 weeks ago         4.43GB
debian              stretch             614bb74b620e        7 weeks ago         101MB

Elindítjuk a tartályt:

ubuntu:~$ sudo docker run -d --privileged --name xrv01 54debc7973fc

Egy idő után úgy nézzük, hogy a tároló elindult:

ubuntu:~$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                 PORTS                                                      NAMES
058c5ecddae3        54debc7973fc        "/launch.py"        4 hours ago         Up 4 hours (healthy)   22/tcp, 830/tcp, 5000-5003/tcp, 10000-10099/tcp, 161/udp   xrv01

Csatlakozás ssh-n keresztül:

ubuntu@ubuntu:~$ ssh [email protected]
Password:

RP/0/RP0/CPU0:ios#show version
Mon Jul  6 12:19:28.036 UTC
Cisco IOS XR Software, Version 7.0.2
Copyright (c) 2013-2020 by Cisco Systems, Inc.

Build Information:
 Built By     : ahoang
 Built On     : Fri Mar 13 22:27:54 PDT 2020
 Built Host   : iox-ucs-029
 Workspace    : /auto/srcarchive15/prod/7.0.2/xrv9k/ws
 Version      : 7.0.2
 Location     : /opt/cisco/XR/packages/
 Label        : 7.0.2

cisco IOS-XRv 9000 () processor
System uptime is 3 hours 22 minutes

Az útválasztó csatlakoztatása az OpenDaylighthoz

A hozzáadás teljesen hasonló módon történik a vMX-nél. Csak a neveket kell megváltoztatnunk.
PUT kérés:
Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével

Hívjon egy idő után GET lekérdezés annak ellenőrzésére, hogy minden csatlakoztatva van-e:
Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével

Módosítsa a konfigurációt

Állítsuk be a következő konfigurációt:

!
router ospf LAB
 mpls ldp auto-config
!

Alkossunk POST kérés:

  1. Lekérdezési karakterlánc:
    POST http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/xrv01/yang-ext:mount/Cisco-IOS-XR-ipv4-ospf-cfg:ospf
  2. Kérelem törzse (Törzs lap):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. Az Engedélyezés lapon be kell állítani a paramétert Basic Auth és bejelentkezés/jelszó: admin/admin.
  4. A Fejlécek lapon két fejlécet kell hozzáadnia:
    • Alkalmazás/json elfogadása
    • Tartalom-típusú alkalmazás/json

A végrehajtás után a „204 Nincs tartalom” állapotot kell kapniuk.

Nézzük, mit kaptunk.
Ennek érdekében létrehozzuk GET kérés:

  1. Lekérdezési karakterlánc:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/xrv01/yang-ext:mount/Cisco-IOS-XR-ipv4-ospf-cfg:ospf
  2. Az Engedélyezés lapon be kell állítani a paramétert Basic Auth és bejelentkezés/jelszó: admin/admin.

A végrehajtás után a következőket kell látnia:

Hálózati szolgáltatások automatizálása vagy virtuális laboratórium felépítése OpenDaylight, Postman és Vrnetlab segítségével

A konfiguráció eltávolításához használja DELETE:

  1. Lekérdezési karakterlánc:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/xrv01/yang-ext:mount/Cisco-IOS-XR-ipv4-ospf-cfg:ospf
  2. Az Engedélyezés lapon be kell állítani a paramétert Basic Auth és bejelentkezés/jelszó: admin/admin.

Következtetés

Összességében, amint azt már észrevette, a Cisco és a Juniper OpenDaylighthoz való csatlakoztatásának eljárásai nem különböznek egymástól - ez meglehetősen széles teret nyit a kreativitás számára. Kezdve az összes hálózati összetevő konfigurációkezelésétől és a saját hálózati házirendek létrehozásáig.
Ebben az oktatóanyagban a legegyszerűbb példákat mutattam be arra, hogyan kommunikálhat hálózati eszközökkel az OpenDaylight használatával. Kétségtelen, hogy a fenti példákból származó lekérdezések sokkal összetettebbé tehetők, és egyetlen egérkattintással teljes szolgáltatásokat állíthatnak be - mindennek csak a képzelet szab határt *

Folytatás ...

PS

Ha mindezt hirtelen már tudja, vagy éppen ellenkezőleg, átment és belesüllyedt az ODL lelkébe, akkor azt javaslom, hogy az ODL vezérlőn történő alkalmazások fejlesztése felé forduljon. Elkezdheted ezért.

Sikeres kísérleteket!

Referenciák

  1. Vrnetlab: Hálózatok emulálása KVM és Docker használatával /Brian Linkletter
  2. OpenDaylight Cookbook / Mathieu Lemay, Alexis de Talhouet, et al
  3. Hálózati programozhatóság YANG / Benoît Claise, Loe Clarke, Jan Lindblad segítségével
  4. XML tanulás, második kiadás / Erik T. Ray
  5. Hatékony DevOps / Jennifer Davis, Ryn Daniels

Forrás: will.com

Hozzászólás