Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab

Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab

V tem članku vam bom pokazal, kako nastavite odprta dnevna svetloba za delo z omrežno opremo in tudi pokazati, kako uporabljati Poštar in preprosto RESTCONF zahteve, je to opremo mogoče nadzorovati. Ne bomo delali s strojno opremo, temveč bomo postavili majhne virtualne laboratorije z enim samim usmerjevalnikom Vrnetlab čez Ubuntu LTS 20.04.

Najprej bom prikazal podrobne nastavitve na primeru usmerjevalnika Juniper vMX 20.1R1.11, nato pa ga primerjamo z nastavitvijo Cisco xRV9000 7.0.2.

Vsebina

  • Potrebno znanje
  • Часть 1: na kratko razpravljajte OpenDaylight (v nadaljevanju ODL), Poštar и Vrnetlab in zakaj jih potrebujemo
  • Часть 2: opis virtualnega laboratorija
  • Часть 3: prilagoditi odprta dnevna svetloba
  • Часть 4: prilagoditi Vrnetlab
  • Часть 5: z uporabo Poštar povežite virtualni usmerjevalnik (Juniper vMX) Za ODL
  • Часть 6: dobite in spremenite konfiguracijo usmerjevalnika z uporabo Poštar и ODL
  • Часть 7: dodajte Cisco xRV9000
  • Zaključek
  • PS
  • Bibliografija

Potrebno znanje

Da se članek ne bi spremenil v list, sem izpustil nekaj tehničnih podrobnosti (s povezavami do literature, kjer si lahko preberete o njih).

V zvezi s tem vam ponujam teme, ki bi jih bilo dobro (skoraj ne nujno) poznati pred branjem:

1. del: nekaj teorije

Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab

  • Odprta platforma SDN za upravljanje in avtomatizacijo vseh vrst omrežij, ki jo podpira Linux Foundation
  • Java znotraj
  • Na podlagi modela usmerjene ravni abstrakcije storitve (MD-SAL)
  • Uporablja modele YANG za samodejno ustvarjanje API-jev RESTCONF za omrežne naprave

Glavni modul za upravljanje omrežja. Preko njega bomo komunicirali s povezanimi napravami. Upravlja se prek lastnega API-ja.

Več o OpenDaylight lahko preberete tukaj.

Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab

  • Orodje za testiranje API
  • Enostaven in enostaven za uporabo vmesnik

V našem primeru nas zanima kot sredstvo za pošiljanje REST zahtev API-ju OpenDaylight. Seveda lahko zahteve pošiljate ročno, vendar je v Postmanu vse videti zelo jasno in popolnoma ustreza našim namenom.

Za tiste, ki želijo kopati: na njem je napisanih veliko gradiva za usposabljanje (na primer).

Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab

  • Orodje za uvajanje virtualnih usmerjevalnikov v Docker
  • Podpira: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR itd.
  • open Source

Zelo zanimiv, a malo poznan instrument. V našem primeru ga bomo uporabili za zagon Juniper vMX in Cisco xRV9000 na običajnem Ubuntu 20.04 LTS.

Več o tem si lahko preberete na stran projekta.

2. del: Lab

V tej vadnici bomo nastavili naslednji sistem:

Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab

Kako to deluje

  • Juniper vMX vstane Lučki delavec posoda (s pomočjo Vrnetlab) in deluje kot najpogostejši virtualni usmerjevalnik.
  • ODL povezan z usmerjevalnikom in omogoča nadzor nad njim.
  • Poštar zaženemo na ločenem stroju in prek njega pošiljamo ukaze ODL: za povezavo/odstranitev usmerjevalnika, spreminjanje konfiguracije itd.

Komentar o napravi sistema

Juniper vMX и ODL zahtevajo precej sredstev za svoje stabilno delovanje. Eno samo vMX zahteva 6 Gb RAM-a in 4 jedra. Zato je bilo odločeno, da se vse "težke kategorije" premaknejo v ločen stroj (Heulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). Usmerjevalnik seveda ne "leti" na njem, vendar je zmogljivost dovolj za majhne poskuse.

3. del: Nastavite OpenDaylight

Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab

Trenutna različica ODL v času tega pisanja je Magnesium SR1

1) Namestitev Java Open JDK 11 (za podrobnejšo namestitev tukaj)

ubuntu:~$ sudo apt install default-jdk

2) Poiščite in prenesite najnovejšo gradnjo ODL zato
3) Razpakirajte preneseni arhiv
4) Pojdite v nastali imenik
5) Zagon ./bin/karaf

Na tem koraku ODL se mora zagnati in znašli se bomo v konzoli (vrata 8181 se uporabljajo za dostop od zunaj, ki jih bomo uporabili kasneje).

Nato namestite Funkcije ODLzasnovan za delo s protokoli NETCONF и RESTCONF. Če želite to narediti v konzoli ODL izvajamo:

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

To je najpreprostejša postavitev. ODL dokončana. (Za več podrobnosti glejte tukaj).

4. del: Postavitev Vrnetlaba

Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab

Priprava sistema

Pred namestitvijo Vrnetlab morate namestiti pakete, potrebne za njegovo delovanje. Kot naprimer Lučki delavec, git, 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

Namestitev Vrnetlaba

Za namestitev Vrnetlab klonirajte ustrezno skladišče iz githuba:

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

Pojdi v imenik vrnetlab:

ubuntu:~$ cd ~/vrnetlab

Tukaj si lahko ogledate vse skripte, potrebne za izvajanje. Upoštevajte, da je bil za vsako vrsto usmerjevalnika narejen ustrezen imenik:

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

Ustvarite sliko usmerjevalnika

Vsak usmerjevalnik, ki je podprt Vrnetlab, ima svoj edinstven postopek nastavitve. Kdaj Juniper vMX z usmerjevalnikom moramo samo naložiti arhiv .tgz (lahko ga prenesete iz uradna spletna stran) v imenik vmx in zaženite ukaz make:

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

Grajenje podobe vMX bo trajalo približno 10-20 minut. Čas je, da gremo na kavo!

Zakaj tako dolgo, se sprašujete?

Prevod odgovor avtor na to vprašanje:

"To je zato, ker ob prvem zagonu VCP (Control Plane) prebere konfiguracijsko datoteko, ki določa, ali se bo izvajal kot VRR VCP v vMX. Prej je bil ta zagon opravljen med zagonom Dockerja, vendar je to pomenilo, da VCP je bil vedno znova zagnan enkrat, preden je navidezni usmerjevalnik postal na voljo, kar je povzročilo dolg čas zagona (približno 5 minut). Zdaj se prvi zagon VCP izvede med gradnjo slike Docker in ker gradnje Dockerja ni mogoče zagnati z - -privilegirana možnost, to pomeni, da qemu deluje brez pospeševanja strojne opreme KVM in zato gradnja traja zelo dolgo. Med tem postopkom se izpiše veliko dnevnikov, tako da lahko vsaj vidite, kaj se dogaja. Mislim, da je dolga gradnja ni tako strašljivo, ker podobo ustvarimo enkrat, lansiramo pa veliko."

Potem si lahko ogledate sliko našega usmerjevalnika Lučki delavec:

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

Zaženi vsebnik vr-vmx

Začnemo z ukazom:

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

Nato lahko vidimo informacije o aktivnih vsebnikih:

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

Povezovanje z usmerjevalnikom

Naslov IP omrežnega vmesnika usmerjevalnika lahko dobite z naslednjim ukazom:

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

privzeto, Vrnetlab ustvari uporabnika na usmerjevalniku vrnetlab/VR-netlab9.
Povezovanje z 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

S tem je nastavitev usmerjevalnika končana.

Priporočila za namestitev usmerjevalnikov različnih proizvajalcev najdete na projekt github v ustreznih imenikih.

5. del: Poštar - povežite usmerjevalnik z OpenDaylight

Montaža poštarja

Za namestitev preprosto prenesite aplikacijo zato.

Povezovanje usmerjevalnika z ODL

Ustvarjajmo PUT prošnja:

Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab

  1. Niz poizvedbe:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Telo zahteve (zavihek Telo):
    <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. Na zavihku Pooblastilo morate nastaviti parameter Basic Auth in prijava/geslo: admin/admin. To je potrebno za dostop do ODL:
    Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab
  4. Na zavihku Glave morate dodati dve glavi:
    • Sprejmi aplikacijo/xml
    • Aplikacija Content-Type/xml

Naša zahteva je bila podana. Pošiljamo. Če je bilo vse pravilno konfigurirano, bi morali vrniti status "201 ustvarjeno":

Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab

Kaj naredi ta zahteva?

V notranjosti ustvarimo vozlišče ODL s parametri pravega usmerjevalnika, do katerega želimo dostopati.

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

To so notranji imenski prostori XML (Imenski prostor XML) za ODL po kateri ustvari vozlišče.

Nadalje je ime usmerjevalnika vozlišče-id, naslov usmerjevalnika - gostitelj in tako naprej.

Najbolj zanimiva vrstica je zadnja. Imenik predpomnilnika sheme ustvari imenik, kamor se prenesejo vse datoteke Shema YANG povezan usmerjevalnik. Najdete jih v $ODL_ROOT/cache/jun01_cache.

Preverjanje povezave usmerjevalnika

Ustvarjajmo GET prošnja:

  1. Niz poizvedbe:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. Na zavihku Pooblastilo morate nastaviti parameter Basic Auth in prijava/geslo: admin/admin.

Pošiljamo. Prejeti mora status "200 OK" in seznam vseh, ki jih naprava podpira Shema YANG:

Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab

Komentar: Za ogled slednjega je bilo v mojem primeru treba počakati približno 10 minut po izvedbi PUTdokler vse shema YANG raztovoriti naprej ODL. Do te točke, ko izvajate to GET poizvedba bo prikazala naslednje:

Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab

Izbrišite usmerjevalnik

Ustvarjajmo DELETE prošnja:

  1. Niz poizvedbe:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Na zavihku Pooblastilo morate nastaviti parameter Basic Auth in prijava/geslo: admin/admin.

6. del: Spremenite konfiguracijo usmerjevalnika

Pridobivanje konfiguracije

Ustvarjajmo GET prošnja:

  1. Niz poizvedbe:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. Na zavihku Pooblastilo morate nastaviti parameter Basic Auth in prijava/geslo: admin/admin.

Pošiljamo. Prejeti mora status "200 OK" in konfiguracijo usmerjevalnika:

Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab

Ustvarite konfiguracijo

Za primer ustvarimo naslednjo konfiguracijo in jo spremenimo:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

Ustvarjajmo POST prošnja:

  1. Niz poizvedbe:
    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. Telo zahteve (zavihek Telo):
    <bgp xmlns="http://yang.juniper.net/junos/conf/protocols">
    <disable/>
    <shutdown>
    </shutdown>
    </bgp>
  3. Na zavihku Pooblastilo morate nastaviti parameter Basic Auth in prijava/geslo: admin/admin.
  4. Na zavihku Glave morate dodati dve glavi:
    • Sprejmi aplikacijo/xml
    • Aplikacija Content-Type/xml

Po pošiljanju bi morali prejeti status "204 Brez vsebine"

Če želite preveriti, ali se je konfiguracija spremenila, lahko uporabite prejšnjo poizvedbo. Ampak na primer, ustvarili bomo drugega, ki bo prikazoval informacije samo o protokolih, konfiguriranih na usmerjevalniku.

Ustvarjajmo GET prošnja:

  1. Niz poizvedbe:
    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. Na zavihku Pooblastilo morate nastaviti parameter Basic Auth in prijava/geslo: admin/admin.

Po izvedbi zahteve bomo videli naslednje:

Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab

Spremenite konfiguracijo

Spremenimo podatke o protokolu BGP. Po naših dejanjih bo videti takole:

protocols {
    bgp {
        disable;
    }
}

Ustvarjajmo PUT prošnja:

  1. Niz poizvedbe:
    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. Telo zahteve (zavihek Telo):
    <protocols xmlns="http://yang.juniper.net/junos/conf/protocols">
    <bgp>
        <disable/>
    </bgp>
    </protocols>
  3. Na zavihku Pooblastilo morate nastaviti parameter Basic Auth in prijava/geslo: admin/admin.
  4. Na zavihku Glave morate dodati dve glavi:
    • Sprejmi aplikacijo/xml
    • Aplikacija Content-Type/xml

Z uporabo prejšnjega GET zahteva, vidimo spremembe:

Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab

Izbrišite konfiguracijo

Ustvarjajmo DELETE prošnja:

  1. Niz poizvedbe:
    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. Na zavihku Pooblastilo morate nastaviti parameter Basic Auth in prijava/geslo: admin/admin.

Ob klicu GET zahtevo z informacijami o protokolih, bomo videli naslednje:

Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab

Dodatek:

Če želite spremeniti konfiguracijo, ni potrebno poslati telesa zahteve v formatu XML. To je mogoče storiti tudi v formatu JSON.

Če želite to narediti, na primer v poizvedbi PUT če želite spremeniti konfiguracijo, zamenjajte telo zahteve z:

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

Ne pozabite spremeniti glav na zavihku Glave v:

  • Sprejmi aplikacijo/json
  • Aplikacija Content-Type/json

Po pošiljanju bomo dobili naslednji rezultat (odgovor pogledamo z uporabo GET prošnja):

Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab

7. del: Dodajanje Cisco xRV9000

Kaj vse smo o Juniperju, ja Juniperju? Pogovorimo se o Ciscu!
Našel sem xRV9000 različice 7.0.2 (zver, ki potrebuje 8 Gb RAM-a in 4 jedra. Ni prosto dostopen, zato kontaktirajte Cisco) - zaženimo ga.

Vodenje kontejnerja

Postopek ustvarjanja vsebnika Docker se praktično ne razlikuje od Juniperja. Podobno spustimo datoteko .qcow2 z usmerjevalnikom v imenik, ki ustreza njegovemu imenu (v tem primeru xrv9k) in izvedemo ukaz make docker-image.

Po nekaj minutah vidimo, da je slika ustvarjena:

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

Zaženemo posodo:

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

Čez nekaj časa vidimo, da se je vsebnik začel:

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

Povežite se prek ssh:

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

Povezovanje usmerjevalnika z OpenDaylight

Dodajanje poteka na popolnoma podoben način z vMX. Samo imena moramo spremeniti.
PUT prošnja:
Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab

Pokliči čez nekaj časa GET poizvedba za preverjanje, ali je vse povezano:
Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab

Spremenite konfiguracijo

Nastavimo naslednjo konfiguracijo:

!
router ospf LAB
 mpls ldp auto-config
!

Ustvarjajmo POST prošnja:

  1. Niz poizvedbe:
    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. Telo zahteve (zavihek Telo):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. Na zavihku Pooblastilo morate nastaviti parameter Basic Auth in prijava/geslo: admin/admin.
  4. Na zavihku Glave morate dodati dve glavi:
    • Sprejmi aplikacijo/json
    • Aplikacija Content-Type/json

Po njegovi izvedbi bi morali prejeti status "204 Brez vsebine".

Preverimo, kaj imamo.
Da bi to naredili, bomo ustvarili GET prošnja:

  1. Niz poizvedbe:
    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. Na zavihku Pooblastilo morate nastaviti parameter Basic Auth in prijava/geslo: admin/admin.

Po izvedbi bi morali videti naslednje:

Avtomatizacija omrežnih storitev ali kako zgraditi virtualni laboratorij z uporabo OpenDaylight, Postman in Vrnetlab

Za odstranitev konfiguracije uporabite DELETE:

  1. Niz poizvedbe:
    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. Na zavihku Pooblastilo morate nastaviti parameter Basic Auth in prijava/geslo: admin/admin.

Zaključek

Kot ste morda opazili, se postopki za povezovanje Cisco in Juniper z OpenDaylight ne razlikujejo - to odpira precej širok prostor za ustvarjalnost. Začenši z upravljanjem konfiguracije vseh omrežnih komponent in konča z ustvarjanjem lastnih omrežnih politik.
V tej vadnici sem podal najpreprostejše primere, kako lahko komunicirate z omrežno opremo z uporabo OpenDaylight. Nedvomno je mogoče poizvedbe iz zgornjih primerov narediti veliko bolj kompleksne in nastaviti celotne storitve z enim klikom miške - vse je omejeno le z vašo domišljijo *

Se nadaljuje ...

PS

Če nenadoma že veste vse to ali ste, nasprotno, šli skozi in potonili v dušo ODL, potem priporočam, da si ogledate razvoj aplikacij na krmilniku ODL. Lahko začnete zato.

Uspešni poskusi!

Reference

  1. Vrnetlab: Emulirajte omrežja z uporabo KVM in Docker /Brian Linkletter
  2. OpenDaylight Cookbook / Mathieu Lemay, Alexis de Talhouet, et al
  3. Programiranje omrežja z YANG / Benoît Claise, Loe Clarke, Jan Lindblad
  4. Učenje XML, druga izdaja / Erik T. Ray
  5. Učinkovit DevOps / Jennifer Davis, Ryn Daniels

Vir: www.habr.com

Dodaj komentar