Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab

Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab

I den hÀr artikeln kommer jag att berÀtta hur man konfigurerar OpenDaylight för arbete med nÀtverksutrustning, samt visa hur man med hjÀlp av Postman och enkla RESTCONF förfrÄgningar kan hantera denna utrustning. Vi kommer inte att arbeta med hÄrdvara, utan istÀllet kommer vi att skapa smÄ virtuella labb med en enda router med hjÀlp av Vrnetlab ovanpÄ Ubuntu 20.04 LTS.

Jag kommer att visa en detaljerad konfiguration först med hjÀlp av router Juniper vMX 20.1R1.11, och sedan kommer vi att jÀmföra det med konfigurationen av Cisco xRV9000 7.0.2.

InnehÄll

  • NödvĂ€ndiga kunskaper
  • Del 1: vi diskuterar kort OpenDaylight (hĂ€danefter ODL), Postman och Vrnetlab och varför vi behöver den
  • Del 2: beskrivning av det virtuella labbet
  • Del 3: stĂ€ller in OpenDaylight
  • Del 4: stĂ€ller in Vrnetlab
  • Del 5: med hjĂ€lp av Postman ansluter vi den virtuella routern (Juniper vMX) till ODL
  • Del 6: fĂ„r och Ă€ndrar routerkonfigurationen med hjĂ€lp av Postman och ODL
  • Del 7: lĂ€gger till Cisco xRV9000
  • Slutsats
  • P.S.
  • Referenslista

NödvÀndiga kunskaper

För att artikeln inte ska bli för lÄng har jag utelÀmnat vissa tekniska detaljer (med referenser till litteratur dÀr man kan lÀsa om dem).

DÀrför föreslÄr jag Àmnen som det Àr bra att (men nÀstan inte obligatoriskt) kÀnna till innan lÀsningen:

Del 1: lite teori

Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab

  • Öppen SDN-plattform för styrning och automatisering av olika nĂ€tverk, stöds av Linux Foundation
  • Java inuti
  • Baseras pĂ„ Model-Driven Service Abstraction Level (MD-SAL)
  • AnvĂ€nder YANG-modeller för automatisk skapelse av RESTCONF API för nĂ€tverksenheter

Huvudmodul för nÀtverkshantering. Precis genom den kommer vi att kommunicera med de anslutna enheterna. Styrs via sin egen API.

Mer om OpenDaylight kan man lÀsa hÀr.

Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab

  • Verktyg för API-testning
  • Enkelt och anvĂ€ndarvĂ€nligt grĂ€nssnitt

I vÄrt fall Àr det intressant som ett medel för att skicka REST-förfrÄgningar till OpenDaylights API. Man kan visserligen ocksÄ skicka förfrÄgningar manuellt, men i Postman ser allt vÀldigt klart ut och passar vÄra syften som ingen annan.

För de som vill grÀva djupare: det finns mÄnga utbildningsmaterial skrivet om det (for example).

Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab

  • Verktyg för att distribuera virtuella routrar i Docker
  • Stöder: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR etc.
  • Öppen kĂ€llkod

Ett mycket intressant men lite kÀnt verktyg. I vÄrt fall kommer vi att köra Juniper vMX och Cisco xRV9000 pÄ vanlig Ubuntu 20.04 LTS.

LÀs mer om det pÄ projektets sida.

Del 2: laboratoriearbete

Inom ramen för denna handledning kommer vi att konfigurera följande system:

Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab

Hur det fungerar

  • Juniper vMX stiger upp i Docker i containern (genom Vrnetlab) och fungerar som en helt vanlig virtuell router.
  • ODL kopplad till routern och möjliggör hantering av den.
  • Postman körs pĂ„ en separat maskin och genom den skickar vi kommandon ODL: för att ansluta/diskonnektera routern, Ă€ndra konfiguration och sĂ„ vidare.

Kommentar till systemets enhet

Juniper vMX och ODL krÀver ganska mycket resurser för sin stabila drift. Bara vMX begÀr 6 Gb RAM och 4 kÀrnor. DÀrför har beslutet fattats att flytta alla "tunga" till en separat maskin (Heulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). Routern fungerar förstÄs inte "sÀrskilt snabbt", men för mindre experiment rÀcker prestandan.

Del 3: stÀller in OpenDaylight

Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab

Den aktuella versionen av ODL vid skrivandet av artikeln Àr - Magnesium SR1

1) Installerar Java OpenJDK 11 (för mer detaljerad installation hit)

ubuntu:~$ sudo apt install default-jdk

2) Hittar och laddar ner den senaste byggnaden ODL hÀrifrÄn
3) Packar upp den nedladdade arkivet
4) GÄr till den erhÄllna katalogen
5) Startar ./bin/karaf

Vid detta steg ODL ska startas och vi hamnar i konsolen (För Ätkomst utifrÄn anvÀnds port 8181, vilket vi kommer att dra nytta av senare).

Vidare installerar vi ODL-funktioner, avsedda för arbete med protokoll NETCONF och RESTCONF. För detta i konsolen ODL utför vi:

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

HÀr Àr den enklaste instÀllningen ODL slutförd. (Mer detaljerad information kan lÀsas hÀr).

Del 4: stÀller in Vrnetlab

Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab

Förberedelse av systemet

Innan installationen Vrnetlab mÄste nödvÀndiga paket installeras för detsamma. SÄdana som 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 -
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

Installation av Vrnetlab

För installation Vrnetlab klonar det relevanta förrÄdet frÄn github:

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

GÄr till katalogen vrnetlab:

ubuntu:~$ cd ~/vrnetlab

HÀr kan du se alla skript som behövs för att köra. Observera att för varje typ av router har en motsvarande katalog skapats:

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

Skapar en image av routern

Varje router som stöds Vrnetlab, har sin unika konfigurationsprocedur. I vÄrt fall Juniper vMX behöver vi bara lÀgga .tgz-arkivet med routern (kan laddas ner frÄn den officiella sidan) i vmx-katalogen och köra kommandot make:

ubuntu:~$ cd ~\/vrnetlab\/vmx
ubuntu:~$ # Kopiera .tgz-arkivet med routern till denna katalog
ubuntu:~$ sudo make

Samla avbilden vMX tar ungefÀr 10-20 minuter. Perfekt tid att brygga en kopp kaffe!

Varför tar det sÄ lÄng tid, undrar ni?

ÖversĂ€ttning svar frĂ„n författaren pĂ„ denna frĂ„ga:

"Det beror pĂ„ att vid första körningen lĂ€ser VCP (Control Plane) konfigurationsfilen, som bestĂ€mmer om den ska fungera som VRR VCP i vMX. Tidigare gjordes denna start vid Docker-start, men det innebar att VCP alltid startades om en gĂ„ng innan den virtuella routern blev tillgĂ€nglig, vilket resulterade i lĂ„ng boot-tid (ungefĂ€r 5 minuter). Nu sker den första starten av VCP under byggandet av Docker-image, och eftersom Docker-byggandet inte kan köras med parametern —privileged, innebĂ€r det att qemu körs utan hĂ„rdvaruaccelerering KVM och att byggnaden dĂ€rför tar mycket tid. Under denna process skrivs mĂ„nga loggar, sĂ„ att du Ă„tminstone kan se vad som hĂ€nder. Jag tycker att den lĂ„nga byggtiden inte Ă€r sĂ„ hemsk, eftersom vi skapar imagen en gĂ„ng men kör den mĂ„nga gĂ„nger."

Efter det kommer vi att kunna se imagen av vÄr router i 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

Kör containern vr-vmx

Kör med kommandot:

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

DĂ€refter kan vi se information om aktiva containrar:

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

Ansluter till routern

IP-adressen till routerns nÀtverksgrÀnssnitt kan erhÄllas med följande kommando:

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

Som standard, Vrnetlab skapar en anvÀndarrouter vrnetlab/VR-netlab9.
Ansluter med ssh:

ubuntu:~$ ssh vrnetlab@172.17.0.2
Authenticiteten för vÀrden '172.17.0.2 (172.17.0.2)' kan inte faststÀllas.
ECDSA nyckelavtryck Àr SHA256:g9Sfg/k5qGBTOX96WiCWyoJJO9FxjzXYspRoDPv+C0Y.
Är du sĂ€ker pĂ„ att du vill fortsĂ€tta ansluta (ja/nej/[fingeravtryck])? ja
Varning: Permanently added '172.17.0.2' (ECDSA) to the list of known hosts.
Lösenord:
--- JUNOS 20.1R1.11 Kernel 64-bit JNPR-11.0-20200219.fb120e7_buil
vrnetlab> show version
Modell: vmx
Junos: 20.1R1.11

Nu Àr routerinstÀllningen klar.

Installationsrekommendationer för routrar frÄn olika tillverkare finns pÄ github-projektet i motsvarande kataloger.

Del 5: Postman — koppla routern till OpenDaylight

Installera Postman

För installationen rÀcker det att ladda ner applikationen hÀrifrÄn.

Ansluta routern till ODL

Vi skapar PUT förfrÄgan:

Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab

  1. BegÀrningsrad:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. BegÀrningens kropp (fliken Body):
    jun01
    172.17.0.2
    22
    vrnetlab
    VR-netlab9
    false
    jun01_cache
  3. PÄ fliken Authorization mÄste parametern stÀllas in pÄ Basic Auth och anvÀndarnamn/lösenord: admin/admin. Detta Àr nödvÀndigt för Ätkomst till ODL:
    Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab
  4. PÄ fliken Headers mÄste tvÄ rubriker lÀggas till:
    • Accept application/xml
    • Content-Type application/xml

VÄr förfrÄgan Àr formulerad. Vi skickar. Om allt har konfigurerats korrekt bör vi fÄ tillbaka status "201 Created":

Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab

Vad gör denna förfrÄgan?

Vi skapar en node inom ODL med parametrar för den verkliga routern som vi vill fÄ Ätkomst till.

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

Detta Àr interna namnrymder XML (XML-namnrymd) för ODL enligt vilket den skapar en node.

DĂ€refter, motsvarande, namnet pĂ„ routern — det Ă€r node-id, routerns adress — host och sĂ„ vidare.

Den mest intressanta raden — den sista. Schema-cache-directory skapar en katalog dĂ€r alla filer YANG Schema för den anslutna routern laddas ner. Du kan hitta dem i $ODL_ROOT/cache/jun01_cache.

Kontrollerar routerns anslutning

Vi skapar GET förfrÄgan:

  1. BegÀrningsrad:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. PÄ fliken Authorization mÄste parametern stÀllas in pÄ Basic Auth och anvÀndarnamn/lösenord: admin/admin.

Vi skickar. Vi bör fÄ status "200 OK" och en lista över alla stödjda enheter. YANG Schema:

Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab

Kommentar: För att se det senaste, i mitt fall var jag tvungen att vÀnta ungefÀr 10 minuter efter att ha genomfört det PUT, medan allt YANG-schema laddas ner pÄ ODL. Fram till dess, nÀr denna GET begÀran görs, kommer följande att visas:

Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab

Tar bort routern

Vi skapar TA BORT förfrÄgan:

  1. BegÀrningsrad:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. PÄ fliken Authorization mÄste parametern stÀllas in pÄ Basic Auth och anvÀndarnamn/lösenord: admin/admin.

Del 6: Ändrar routerns konfiguration

HĂ€mtar konfigurationen

Vi skapar GET förfrÄgan:

  1. BegÀrningsrad:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. PÄ fliken Authorization mÄste parametern stÀllas in pÄ Basic Auth och anvÀndarnamn/lösenord: admin/admin.

Skickar. Vi bör fÄ status "200 OK" och routerns konfiguration:

Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab

Skapar konfiguration

Som exempel kommer vi att skapa följande konfiguration och Àndra den:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

Vi skapar POST förfrÄgan:

  1. BegÀrningsrad:
    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. BegÀrningens kropp (fliken Body):
  3. PÄ fliken Authorization mÄste parametern stÀllas in pÄ Basic Auth och anvÀndarnamn/lösenord: admin/admin.
  4. PÄ fliken Headers mÄste tvÄ rubriker lÀggas till:
    • Accept application/xml
    • Content-Type application/xml

Efter att ha skickat bör vi fÄ status "204 No Content"

För att kontrollera att konfigurationen har Àndrats kan vi anvÀnda den tidigare begÀran. Men för exemplet kommer vi att skapa en till som bara ger oss information om de protokoll som Àr konfigurerade pÄ routern.

Vi skapar GET förfrÄgan:

  1. BegÀrningsrad:
    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. PÄ fliken Authorization mÄste parametern stÀllas in pÄ Basic Auth och anvÀndarnamn/lösenord: admin/admin.

Efter att ha utfört begÀran kommer vi att se följande:

Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab

Ändrar konfigurationen

Vi kommer att Àndra informationen om BGP-protokollet. Efter vÄra ÄtgÀrder kommer det att se ut sÄ hÀr:

protocols {
    bgp {
        disable;
    }
}

Vi skapar PUT förfrÄgan:

  1. BegÀrningsrad:
    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. BegÀrningens kropp (fliken Body):
  3. PÄ fliken Authorization mÄste parametern stÀllas in pÄ Basic Auth och anvÀndarnamn/lösenord: admin/admin.
  4. PÄ fliken Headers mÄste tvÄ rubriker lÀggas till:
    • Accept application/xml
    • Content-Type application/xml

Genom att anvÀnda den tidigare GET begÀran ser vi Àndringarna:

Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab

Tar bort konfigurationen

Vi skapar TA BORT förfrÄgan:

  1. BegÀrningsrad:
    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. PÄ fliken Authorization mÄste parametern stÀllas in pÄ Basic Auth och anvÀndarnamn/lösenord: admin/admin.

Vid anrop av GET frÄn begÀran med information om protokollen ser vi följande:

Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab

TillÀgg:

För att Àndra konfigurationen Àr det inte nödvÀndigt att skicka begÀrans kropp i formatet XML. Det kan göras i formatet JSON.

Till exempel, i begÀran PUT för att Àndra konfigurationen byter vi ut begÀrans kropp till:

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

Glöm inte att Àndra pÄ fliken Headers till:

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

Efter att ha skickat fÄr vi följande resultat (se svaret med hjÀlp av GET förfrÄgan):

Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab

Del 7: lÀgger till Cisco xRV9000

Vad pratar vi om nÀr vi pratar om Juniper? LÄt oss prata om Cisco!
Jag har en xRV9000 version 7.0.2 (ett monster som krĂ€ver 8Gb RAM och 4 kĂ€rnor. Den Ă€r inte fritt tillgĂ€nglig, sĂ„ kontakta Cisco) — vi ska starta den.

Starta containern

Processen för att skapa en Docker-container skiljer sig inte nÀmnvÀrt frÄn Juniper. PÄ samma sÀtt lÀgger vi in .qcow2-filen med routern i katalogen som motsvarar dess namn, (i det hÀr fallet xrv9k) och kör kommandot make docker-image.

Efter nÄgra minuter ser vi att bilden har skapats:

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

Vi kör containern:

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

Efter en stund ser vi att containern har startat:

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

Vi ansluter via ssh:

ubuntu@ubuntu:~$ ssh vrnetlab@172.17.0.2
Lösenord:

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 av Cisco Systems, Inc.

Bygginformation:
 Byggd av     : ahoang
 Byggd den     : Fri Mar 13 22:27:54 PDT 2020
 Byggd vÀrd   : iox-ucs-029
 Arbetsyta    : /auto/srcarchive15/prod/7.0.2/xrv9k/ws
 Version      : 7.0.2
 Plats        : /opt/cisco/XR/packages/
 Etikett      : 7.0.2

cisco IOS-XRv 9000 () processor
Systemdriftstid Àr 3 timmar 22 minuter

Vi ansluter routern till OpenDaylight

TillÀgget sker pÄ exakt samma sÀtt som med vMX-bilden. Vi behöver bara byta namn.
PUT förfrÄgan:
Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab

Efter en stund kallar vi pÄ GET förfrÄgan för att kontrollera att allt har anslutits:
Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab

Ändrar konfigurationen

Vi konfigurerar följande instÀllning:

!
router ospf LAB
 mpls ldp auto-config
!

Vi skapar POST förfrÄgan:

  1. BegÀrningsrad:
    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. BegÀrningens kropp (fliken Body):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. PÄ fliken Authorization mÄste parametern stÀllas in pÄ Basic Auth och anvÀndarnamn/lösenord: admin/admin.
  4. PÄ fliken Headers mÄste tvÄ rubriker lÀggas till:
    • Accept application/json
    • Content-Type application/json

Efter att ha utfört detta bör vi fÄ status "204 No Content".

Vi kontrollerar vad vi fÄtt.
För detta skapar vi GET förfrÄgan:

  1. BegÀrningsrad:
    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. PÄ fliken Authorization mÄste parametern stÀllas in pÄ Basic Auth och anvÀndarnamn/lösenord: admin/admin.

Efter att ha slutfört bör du se följande:

Automatisering av nÀtverksservicer eller hur man bygger ett virtuellt laboratorium med hjÀlp av OpenDaylight, Postman och Vrnetlab

För att ta bort konfigurationen anvÀnder vi TA BORT:

  1. BegÀrningsrad:
    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. PÄ fliken Authorization mÄste parametern stÀllas in pÄ Basic Auth och anvÀndarnamn/lösenord: admin/admin.

Slutsats

Som du kanske har mĂ€rkt, Ă€r procedurerna för att ansluta Cisco och Juniper till OpenDaylight ganska lika – detta öppnar en ganska stor möjlighet för kreativitet. FrĂ„n hantering av konfigurationer av alla nĂ€tverkskomponenter till att skapa egna nĂ€tverkspolicyer.
I denna handledning har jag gett enkla exempel pĂ„ hur man kan interagera med nĂ€tverksutrustning via OpenDaylight. Utan tvekan kan förfrĂ„gningarna i de givna exemplen göras mycket mer komplexa, och hela tjĂ€nster kan konfigureras med ett enda musklick – allt begrĂ€nsas bara av din fantasi*

FortsĂ€ttning följer


P.S.

Om du redan kÀnner till allt detta, eller om du tvÀrtom har blivit fascinerad av ODL, sÄ rekommenderar jag att du tittar pÄ apputveckling pÄ ODL-kontrollern. Du kan börja hÀrifrÄn.

Lycka till med experimenten!

Referenslista

  1. Vrnetlab: Emulera nÀtverk med KVM och Docker / Brian Linkletter
  2. OpenDaylight Cookbook / Mathieu Lemay, Alexis de Talhouet, Et al
  3. NĂ€tverksprogrammering med YANG / BenoĂźt Claise, Loe Clarke, Jan Lindblad
  4. LĂ€ra sig XML, andra upplagan / Erik T. Ray
  5. Effektiv DevOps / Jennifer Davis, Ryn Daniels

KĂ€lla: habr.com

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster