Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab

Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab

V tomto článku sa dozviete, ako nastaviť OpenDaylight na prácu so sieťovým zariadením, a tiež ukážem, ako pomocou Postman a jednoduchých RESTCONF požiadaviek možno týmto zariadením spravovať. Na práci s hardvérom sa nezameriame, namiesto toho rozbehneme malé virtuálne laboratórie s jedným jediným routerom pomocou Vrnetlab povrchem Ubuntu 20.04 LTS.

Podrobnú konfiguráciu najprv ukážem na príklade routera Juniper vMX 20.1R1.11, potom ju porovnáme s konfiguráciou Cisco xRV9000 7.0.2.

Obsah

  • Požadované znalosti
  • Časť 1: stručne diskutujeme o OpenDaylight (ďalej v texte ODL), Postman a Vrnetlab a prečo ich potrebujeme
  • Časť 2: opis virtuálnej laboratória
  • Časť 3: nastavujeme OpenDaylight
  • Časť 4: nastavujeme Vrnetlab
  • Časť 5: pomocou Postman pripojíme virtuálny router (Juniper vMX) k ODL
  • Časť 6: získavame a meníme konfiguráciu routera pomocou Postman a ODL
  • Časť 7: pridávame Cisco xRV9000
  • Záver
  • P.S.
  • Zoznam literatúry

Požadované znalosti

Aby sa článok nepretransformoval na jednu veľkú objasňujúcu stránku, niektoré technické podrobnosti som preskočil (s odkazmi na literatúru, kde si o nich môžete prečítať).

V súvislosti s tým navrhujem témy, ktoré by bolo dobré (ale nie úplne nevyhnutné) poznať pred čítaním:

Časť 1: trochu teórie

Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab

  • Otvorená SDN platforma pre riadenie a automatizáciu rôznych sietí, podporovaná Linux Foundation
  • Java inside
  • Založené na Model-Driven Service Abstraction Level (MD-SAL)
  • Využíva YANG modely na automatické vytváranie RESTCONF API sieťových zariadení

Hlavný modul na správu siete. Práve cez neho budeme komunikovať s pripojenými zariadeniami. Spravuje sa cez svoj vlastný API.

Podrobnejšie o OpenDaylight sa dá prečítať tu.

Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab

  • Nástroj na testovanie API
  • Jednoduché a pohodlné na používanie rozhranie

V našom prípade je pre nás zaujímavý ako prostriedok na posielanie REST požiadaviek na API OpenDaylight. Samozrejme, je možné požiadavky posielať aj manuálne, ale v Postman všetko vyzerá veľmi prehľadne a pre naše účely je to ideálne.

Pre tých, ktorí sa chcú ponoriť hlbšie: existuje množstvo školeniam orientovaných materiálov o tom (napríklad).

Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab

  • Nástroj na nasadzovanie virtuálnych routerov v Dockeri
  • Podporuje: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR a ďalšie.
  • Open Source

Veľmi zaujímavý, ale málo známy nástroj. V našom prípade s jeho pomocou spustíme Juniper vMX a Cisco xRV9000 na bežnej Ubuntu 20.04 LTS.

O ňom sa dá prečítať viac na stránke projektu.

Časť 2: laboratórna práca

V rámci tohto tutoriálu budeme nastavovať nasledujúci systém:

Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab

Ako to funguje

  • Juniper vMX bude sa zdvíhať v Docker v kontejnery (prostredníctvom Vrnetlab) a funguje ako úplne obyčajný virtuálny router.
  • ODL pripojený k routeru a umožňuje jeho správu.
  • Postman spustený na samostatnom zariadení a cez neho posielame príkazy ODL: na pripojenie/odpojenie routera, zmenu konfigurácie a pod.

Komentár k zariadeniu systému

Juniper vMX a ODL vyžadujú celkom veľa zdrojov pre svoju stabilnú prácu. Iba vMX žiada 6 Gb operačnej pamäte a 4 jadrá. Preto bolo prijaté rozhodnutie presunúť všetkých "ťažkých hráčov" na samostatné zariadenie (Heulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). Router, samozrejme, na nej ne"letí", ale pre malé experimenty výkon stačí.

Časť 3: nastavujeme OpenDaylight

Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab

Aktuálna verzia ODL v čase písania článku — Magnesium SR1

1) Nainštalujeme Java OpenJDK 11 (pre podrobnejšiu inštaláciu sem)

ubuntu:~$ sudo apt install default-jdk

2) Nájdeme a stiahneme čerstvú verziu ODL odtiaľto
3) Rozbalíme stiahnutý archív
4) Prejdeme do získaného adresára
5) Spustíme .\/bin\/karaf

V tomto kroku ODL by mal nabehnúť a ocitneme sa v konzole (Na prístup zvonku sa používa port 8181, čím sa využijeme neskôr).

Ďalej nainštalujeme ODL Funkcie, určené na prácu s protokolmi NETCONF a RESTCONF. Na to v konzole ODL vykonáme:

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

Na tomto je najjednoduchšie nastavenie ODL ukončené. (Podrobnejšie sa dá prečítať tu).

Časť 4: nastavujeme Vrnetlab

Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab

Príprava systému

Pred inštaláciou Vrnetlab je potrebné nainštalovať potrebné balíky na jeho fungovanie. Také ako Docker, 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 -
ubunt:~$ 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

Inštalácia Vrnetlab

Na inštaláciu Vrnetlab klonujeme príslušný repozitár z githubu:

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

Prejdite do adresára vrnetlab:

ubuntu:~$ cd ~\/vrnetlab

Tu môžete vidieť všetky skripty potrebné na spustenie. Všimnite si, že pre každý typ routera bola vytvorená príslušná zložka:

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

Vytvárame obraz smerovača

Každý smerovač, ktorý je podporovaný Vrnetlab, má svoju jedinečnú procedúru nastavenia. V prípade Juniper vMX nám stačí vložiť .tgz archív so smerovačom (stiahnuť ho môžete z oficiálnej stránky) do adresára vmx a vykonať príkaz make:

ubuntu:~$ cd ~\/vrnetlab\/vmx
ubuntu:~$ # Skopírujeme do tejto zložky .tgz archív so smerovačom
ubuntu:~$ sudo make

Zostavenie obrazu vMX bude trvať približne 10-20 minút. Je čas ísť si uvariť kávu!

Prečo to trvá tak dlho, opýtate sa?

Preklad odpoveď autora na túto otázku:

"Je to spôsobené tým, že pri prvom spustení VCP (Control Plane) sa číta konfiguračný súbor, ktorý určuje, či bude fungovať ako VRR VCP vo vMX. Predtým sa toto spúšťanie vykonávalo počas spúšťania Dockera, ale to znamenalo, že VCP sa vždy reštartoval raz, predtým než virtuálny smerovač bol dostupný, čo spôsobovalo dlhý čas načítania (asi 5 minút). Teraz sa prvé spustenie VCP vykonáva počas zostavovania obrazu Docker, a pretože zostavovanie Dockeru nemôže byť spustené s parameter —privileged, to znamená, že qemu funguje bez hardvérovej akcelerácie KVM a preto zostavovanie trvá veľmi dlhý čas. Počas tohto procesu sa vypisuje veľa logov, takže aspoň uvidíte, čo sa deje. Myslím si, že dlhé zostavovanie nie je také strašné, pretože obraz vytvárame iba raz a spúšťame ho viackrát."

Následne bude možné vidieť obraz nášho smerovača v Docker:

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

Spúšťame kontajner vr-vmx

Spúšťame príkazom:

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

Ďalej môžeme zhliadnuť informácie o aktívnych kontajneroch:

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

Pripojujeme sa k smerovaču

IP adresa sieťového rozhrania smerovača sa dá získať nasledujúcim príkazom:

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

Predvolene, Vrnetlab vytvára používateľského smerovača vrnetlab/VR-netlab9.
Pripojujeme sa pomocou ssh:

ubuntu:~$ ssh vrnetlab@172.17.0.2
Autenticita hostiteľskej stanice '172.17.0.2 (172.17.0.2)' nemôže byť overená.
ECDSA kľúčová kontrolná suma je SHA256:g9Sfg/k5qGBTOX96WiCWyoJJO9FxjzXYspRoDPv+C0Y.
Ste si istý, že chcete pokračovať v pripojení (áno/nie/[kontrolná suma])? áno
Upozornenie: '172.17.0.2' (ECDSA) bolo trvalo pridané do zoznamu známych hostiteľov.
Heslo:
--- JUNOS 20.1R1.11 Jadro 64-bit JNPR-11.0-20200219.fb120e7_buil
vrnetlab> show version
Model: vmx
Junos: 20.1R1.11

Týmto je konfigurácia smerovača dokončená.

Odporúčania na inštaláciu pre smerovače rôznych dodávateľov nájdete na github projekte v príslušných adresároch.

Časť 5: Postman — pripojenie smerovača k OpenDaylight

Inštalácia Postman

Na inštaláciu stačí stiahnuť aplikáciu odtiaľto.

Pripojenie smerovača k ODL

Vytvoríme PUT žiadosti:

Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab

  1. Riadok žiadosti:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Telo žiadosti (záložka Body):
    jun01
    172.17.0.2
    22
    vrnetlab
    VR-netlab9
    false
    jun01_cache
  3. Na záložke Authorization je potrebné nastaviť parameter Basic Auth a prihlasovacie údaje: admin/admin. Toto je potrebné pre prístup k ODL:
    Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab
  4. Na záložke Headers je potrebné pridať dva hlavičky:
    • Accept application/xml
    • Content-Type application/xml

Naša žiadosť je vytvorená. Odosielame ju. Ak bolo všetko správne nastavené, mali by sme dostať stav "201 Created":

Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab

Čo táto žiadosť robí?

Vytvárame node vnútri ODL s parametrami skutočného smerovača, ku ktorému chceme získať prístup.

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

Toto sú vnútorné menné priestory filestream (XML namespace) podľa ktorých vytvára node. ODL Potom, logicky, názov smerovača je

node-id , adresa smerovača jea tak ďalej. host Najzaujímavejšia časť je posledná.

Schema-cache-directory vytvára adresár, do ktorého sa sťahujú všetky súbory YANG Schema pripojeného smerovača. Nájdete ich v $ODL_ROOT/cache/jun01_cache Kontrolujeme pripojenie smerovača.

GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/

Vytvoríme GET žiadosti:

  1. Riadok žiadosti:
    a prihlasovacie údaje: admin/admin.
  2. Na záložke Authorization je potrebné nastaviť parameter Basic Auth Odosielame. Mali by sme dostať stav "200 OK" a zoznam všetkých podporovaných zariadení.

Odosielame. Mali by sme dostať stav "200 OK" a zoznam všetkých podporovaných zariadení. pripojeného smerovača. Nájdete ich v:

Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab

Komentár: Aby ste videli posledné, v mojom prípade bolo potrebné počkať približne 10 minút po vykonaní PUT, kým sa všetky YANG schéma naexportujú do ODL. Do tejto doby pri vykonávaní tohto GET žiadosti sa zobrazí nasledujúce:

Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab

Odstránenie routera

Vytvoríme DELETE žiadosti:

  1. Riadok žiadosti:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Na záložke Authorization je potrebné nastaviť parameter Basic Auth Odosielame. Mali by sme dostať stav "200 OK" a zoznam všetkých podporovaných zariadení.

Časť 6: Zmeníme konfiguráciu routera

Získavame konfiguráciu

Vytvoríme GET žiadosti:

  1. Riadok žiadosti:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. Na záložke Authorization je potrebné nastaviť parameter Basic Auth Odosielame. Mali by sme dostať stav "200 OK" a zoznam všetkých podporovaných zariadení.

Odosielame. Mali by sme získať stav "200 OK" a konfiguráciu routera:

Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab

Vytvárame konfiguráciu

Ako príklad vytvoríme nasledujúcu konfiguráciu a upravíme ju:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

Vytvoríme POST žiadosti:

  1. Riadok žiadosti:
    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 žiadosti (záložka Body):
  3. Na záložke Authorization je potrebné nastaviť parameter Basic Auth Odosielame. Mali by sme dostať stav "200 OK" a zoznam všetkých podporovaných zariadení.
  4. Na záložke Headers je potrebné pridať dva hlavičky:
    • Accept application/xml
    • Content-Type application/xml

Po odoslaní by sme mali získať stav "204 No Content"

Aby sme skontrolovali, že konfigurácia sa zmenila, môžeme využiť predchádzajúcu žiadosť. Ale pre ilustráciu vytvoríme ešte jednu, ktorá nám zobrazí iba informácie o protokoloch nakonfigurovaných na routeri.

Vytvoríme GET žiadosti:

  1. Riadok žiadosti:
    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 záložke Authorization je potrebné nastaviť parameter Basic Auth Odosielame. Mali by sme dostať stav "200 OK" a zoznam všetkých podporovaných zariadení.

Po vykonaní žiadosti uvidíme nasledujúce:

Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab

Zmeníme konfiguráciu

Zmeníme informácie o protokole BGP. Po našich úpravách bude vyzerať nasledovne:

protocols {
    bgp {
        disable;
    }
}

Vytvoríme PUT žiadosti:

  1. Riadok žiadosti:
    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 žiadosti (záložka Body):
  3. Na záložke Authorization je potrebné nastaviť parameter Basic Auth Odosielame. Mali by sme dostať stav "200 OK" a zoznam všetkých podporovaných zariadení.
  4. Na záložke Headers je potrebné pridať dva hlavičky:
    • Accept application/xml
    • Content-Type application/xml

Používajúc predchádzajúcu GET žiadosť, vidíme zmeny:

Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab

Odstránenie konfigurácie

Vytvoríme DELETE žiadosti:

  1. Riadok žiadosti:
    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 záložke Authorization je potrebné nastaviť parameter Basic Auth Odosielame. Mali by sme dostať stav "200 OK" a zoznam všetkých podporovaných zariadení.

Pri volaní GET v žiadosti s informáciami o protokoloch uvidíme nasledujúce:

Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab

Doplnenie:

Aby sme zmenili konfiguráciu, nie je nevyhnutné zasielať telo žiadosti vo formáte filestream. Môžeme to urobiť aj vo formáte JSON.

Na tento účel napríklad v žiadosti PUT o zmene konfigurácie zmeníme telo žiadosti na:

{
    "junos-conf-protocols:protocols": {
        "bgp": {
            "description" : "Zmenené v postman" 
        }
    }
}

Nezabudnite na karte Hlavičky zmeniť hlavičky na:

  • Accept application/json
  • Content-Type application/json

Po odoslaní získame nasledujúci výsledok (Odpoveď sledujeme pomocou GET žiadosť):

Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab

Časť 7: pridávame Cisco xRV9000

Prečo sa všetci rozprávajú o Juniperi? Poďme sa porozprávať o Cisce!
Našiel som xRV9000 verzie 7.0.2 (monštrum, ktoré potrebuje 8Gb RAM a 4 jadrá. Nie je vo voľnom prístupe, takže sa obráťte na Cisco) — a spustíme ho.

Spustenie kontajnera

Proces vytvárania Docker kontajnera sa zásadne nelíši od Juniperu. Rovnako ako predtým, umiestnime .qcow2 súbor s routerom do adresára, ktorý zodpovedá jeho názvu (v tomto prípade xrv9k) a vykonáme príkaz make docker-image.

O niekoľko minút vidíme, že obraz bol vytvorený:

ubuntu:~$ sudo docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
vrnetlab/vr-xrv9k   7.0.2               54debc7973fc        pred 4 hodinami         1.7GB
vrnetlab/vr-vmx     20.1R1.11           b1b2369b453c        pred 4 týždňami         4.43GB
debian              stretch             614bb74b620e        pred 7 týždňami         101MB

Spúšťame kontajner:

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

Po chvíli vidíme, že kontajner je spustený:

ubuntu:~$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                 PORTS                                                      NAMES
058c5ecddae3        54debc7973fc        "/launch.py"        pred 4 hodinami         Beží 4 hodiny (zdravý)   22/tcp, 830/tcp, 5000-5003/tcp, 10000-10099/tcp, 161/udp   xrv01

Pripojíme sa cez ssh:

ubuntu@ubuntu:~$ ssh vrnetlab@172.17.0.2
Heslo:

RP/0/RP0/CPU0:ios#show version
Pondelok 6. júl 12:19:28.036 UTC
Cisco IOS XR Software, Version 7.0.2
Autorská práva (c) 2013-2020 spoločnosti Cisco Systems, Inc.

Informácie o zostavení:
 Vytvoril     : ahoang
 Vytvorené     : Pi 13. mar 22:27:54 PDT 2020
 Hostiteľ   : iox-ucs-029
 Pracovný priestor    : /auto/srcarchive15/prod/7.0.2/xrv9k/ws
 Verzia      : 7.0.2
 Miesto     : /opt/cisco/XR/packages/
 Označenie        : 7.0.2

cisco IOS-XRv 9000 () procesor
Systém má uptime 3 hodiny 22 minút

Pripojíme router k OpenDaylight

Pridanie prebieha veľmi podobne ako pri obraze vMX. Je potrebné len zmeniť názvy.
PUT žiadosti:
Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab

Po niekoľkých minútach spustíme GET žiadosť, aby sme overili, že všetko je pripojené:
Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab

Zmeníme konfiguráciu

Nastavíme nasledujúcu konfiguráciu:

!
router ospf LAB
 mpls ldp auto-config
!

Vytvoríme POST žiadosti:

  1. Riadok žiadosti:
    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 žiadosti (záložka Body):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. Na záložke Authorization je potrebné nastaviť parameter Basic Auth Odosielame. Mali by sme dostať stav "200 OK" a zoznam všetkých podporovaných zariadení.
  4. Na záložke Headers je potrebné pridať dva hlavičky:
    • Accept application/json
    • Content-Type application/json

Po jeho vykonaní by sme mali získať stav "204 No Content".

Skontrolujeme, čo sme dosiahli.
Za týmto účelom vytvoríme GET žiadosti:

  1. Riadok žiadosti:
    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 záložke Authorization je potrebné nastaviť parameter Basic Auth Odosielame. Mali by sme dostať stav "200 OK" a zoznam všetkých podporovaných zariadení.

Po vykonaní by sme mali vidieť nasledovné:

Automatizácia sieťových služieb alebo ako zostaviť virtuálnu laboratórium pomocou OpenDaylight, Postman a Vrnetlab

Na odstránenie konfigurácie používame DELETE:

  1. Riadok žiadosti:
    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 záložke Authorization je potrebné nastaviť parameter Basic Auth Odosielame. Mali by sme dostať stav "200 OK" a zoznam všetkých podporovaných zariadení.

Záver

Celkom, ako ste si mohli všimnúť, postupy pripojenia Cisco a Juniper k OpenDaylight sa nelíšia — to otvára celkom široký priestor pre kreativitu. Od správy konfigurácií všetkých komponentov siete až po vytváranie vlastných sieťových politík.
V tomto tutoriále som uviedol najjednoduchšie príklady interakcie so sieťovým zariadením pomocou OpenDaylight. Bezpochyby môžu byť požiadavky z uvedených príkladov oveľa zložitejšie a dajú sa nakonfigurovať celé služby jedným kliknutím — všetko je obmedzené len vašou fantáziou.

Pokračování následuje…

P.S.

Ak to všetko už náhodou poznáte alebo, naopak, vás ODL zaujalo, odporúčam pozrieť sa na vývoj aplikácií na ODL kontroleri. Môžete začať. odtiaľto.

Úspešné experimenty!

Zoznam literatúry

  1. Vrnetlab: Emulácia sietí pomocou KVM a Docker / Brian Linkletter
  2. OpenDaylight Cookbook / Mathieu Lemay, Alexis de Talhouet, Et al
  3. Programovateľnosť siete pomocou YANG / Benoît Claise, Loe Clarke, Jan Lindblad
  4. Učenie XML, druhé vydanie / Erik T. Ray
  5. Účinnejší DevOps / Jennifer Davis, Ryn Daniels

Zdroj: habr.com

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster