Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab

Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab

Në këtë artikull do të tregoj se si të konfigurosh OpenDaylight për të punuar me pajisjet rrjetësore, si dhe do të tregoj se si me anë të Postman dhe thjesht RESTCONF kërkesave mund të menaxhojmë këtë pajisje. Ne nuk do të punojmë me harduerin, por në vend të kësaj do të zhvillojmë laboratorë virtualë të vegjël me një router të vetëm duke përdorur VrnetlabUbuntu 20.04 LTS.

Konfigurimin e detajuar do ta tregoj fillimisht në shembullin e routerit Juniper vMX 20.1R1.11, pastaj do ta krahasojmë atë me konfigurimin e Cisco xRV9000 7.0.2.

Përmbajtja

  • Dija e nevojshme
  • Pjesa 1: diskutojmë shkurtimisht OpenDaylight (në vijim ODL), Postman dhe Vrnetlab dhe pse na nevojiten
  • Pjesa 2: përshkrimi i laboratorit virtual
  • Pjesa 3: konfigurimi OpenDaylight
  • Pjesa 4: konfigurimi Vrnetlab
  • Pjesa 5: me ndihmën e Postman lidhi routerin virtual (Juniper vMX) me ODL
  • Pjesa 6: marrim dhe ndryshojmë konfigurimin e routerit me anë të Postman dhe ODL
  • Pjesa 7: shtojmë Cisco xRV9000
  • Përfundim
  • P.S.
  • Lista e Literaturës

Dija e nevojshme

Për të mos u shndërruar artikulli në një përrallë të gjatë, disa detaje teknike i kam lënë jashtë (me lidhje nga literatura ku mund të lexoni për to).

Prandaj, ju propozoj temat që do të ishte mirë (por pothuajse jo domosdoshmërish) të njihni para leximit:

Pjesa 1: pak teori

Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab

  • Platforma e hapur SDN për menaxhimin dhe automatizimin e të gjitha llojeve të rrjeteve, e mbështetur nga Fondacioni Linux
  • Java brenda
  • E ndërtuar mbi Model-Driven Service Abstraction Level (MD-SAL)
  • Përdor modele YANG për krijimin automatik të API-ve RESTCONF për pajisjet rrjetësore

Moduli kryesor për menaxhimin e rrjetit. Pikërisht përmes tij ne do të komunikojmë me pajisjet e lidhura. Menaxhohet përmes API-së së tij.

Më shumë informacion për OpenDaylight mund të lexoni këtu.

Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab

  • Instrumenti për testimin e API
  • Një ndërfaqe e thjeshtë dhe e lehtë për t’u përdorur

Në rastin tonë, ai na intereson si mjet për dërgimin e kërkesave REST në API-në e OpenDaylight. Natyrisht, mund të dërgoni kërkesat manualisht, por në Postman gjithçka duket shumë vizualisht dhe për qëllimet tona është më se e përshtatshme.

Për ata që duan të zhbirilojnë: për të janë shkruar shumë materiale mësimore (për shembull).

Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab

  • Instrumenti për zhvillimin e routerëve virtualë në Docker
  • Mbështet: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR dhe të tjera.
  • Open Source

Një mjet shumë interesant, por shumë pak i njohur. Në rastin tonë, me ndihmën e tij do të nisnim Juniper vMX dhe Cisco xRV9000 në një Ubuntu 20.04 LTS të zakonshëm.

Lexo më shumë për të në faqen e projektit.

Pjesa 2: laboratori

Në këtë tutorial do të konfigurojmë sistemin e mëposhtëm:

Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab

Si funksionon kjo

  • Juniper vMX ngrihet në Docker kontejner (me ndihmën e Vrnetlab) dhe funksionon si një ruter virtual i zakonshëm.
  • ODL është i lidhur me routerin dhe lejon menaxhimin e tij.
  • Postman në një makinë të veçantë dhe nëpërmjet tij dërgojmë komandat ODL: për lidhjen/çlirimin e routerit, ndryshimin e konfigurimit etj.

Koment për pajisjen e sistemit

Juniper vMX dhe ODL kërkojnë një sasi të konsiderueshme burimesh për funksionimin e tij të qëndrueshëm. Një vetëm vMX kë kërkon 6 Gb RAM dhe 4 bërthama. Pra, u mor vendimi për të nxjerrë të gjithë "të rëndët" në një makinë të veçantë (Heulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). R routeri, sigurisht, nuk "fluturon" aty, por për eksperimente të vogla është mjaftueshëm i fuqishëm.

Pjesa 3: konfigurimi i OpenDaylight

Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab

Versioni aktual i ODL në momentin e shkruar është - Magnesium SR1

1) Instalojmë Java OpenJDK 11 (për instalimin më të detajuar këtu)

ubuntu:~$ sudo apt install default-jdk

2) Gjejmë dhe shkarkojmë ndërtimin e fundit ODL këtu
3) Ç'dekompresojmë arkivin e shkarkuar
4) Shkoni në dosjen e marrë
5) Lansojë . /bin/karaf

Në këtë hap ODL duhet të iniciohet dhe ne do të jemi në konsolë (për qasje nga jashtë përdoret porta 8181, që do ta përdorim më vonë).

Pastaj instalojmë Karakteristikat ODL, të cilat janë të destinuara për të punuar me protokollet NETCONF dhe RESTCONF. Për këtë në konsolë ODL ekzekutojmë:

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

Në këtë mënyrë konfigurimi më i thjeshtë ODL përfundoi. (Më shumë mund të lexoni këtu).

Pjesa 4: konfigurimi i Vrnetlab

Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab

Përgatitja e sistemit

Para se të instaloni Vrnetlab është e nevojshme të instaloni paketat e nevojshme për funksionimin e tij. Të tilla si 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...buntu:~$ sudo apt update
ubuntu:~$ sudo apt install -y docker-ce docker-ce-cli containerd.io

Instalimi i Vrnetlab

Për instalimin Vrnetlab klonojmë repositorin përkatës nga github:

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

Shkoni në dosjen vrnetlab:

ubuntu:~$ cd ~/vrnetlab

Këtu mund të shihni të gjitha skriptet e nevojshme për funksionimin. Vini re se për çdo lloj routeri është krijuar një dosje përkatëse:

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

Krijojmë imazhin e routerit

Çdo router që mbështetet Vrnetlab, ka procedurën e saj unike të konfigurimit. Në rastin e Juniper vMX mjafton të hedhim një arkiv .tgz me routerin (mund ta shkarkojmë nga faqja zyrtare) në drejtorinë vmx dhe të ekzekutojmë komandën make:

ubuntu:~$ cd ~\/vrnetlab\/vmx
ubuntu:~$ # Kopjojmë në këtë drejtori arkivin .tgz me routerin
ubuntu:~$ sudo make

Ndërtimi i imazhit vMX do të zgjasë rreth 10-20 minuta. Koha perfekte për t'u bërë një kafe!

Pse zgjat kaq gjatë, do të pyesni?

Përkthimi përgjigjen e autorit në këtë pyetje:

"Kjo është për shkak se gjatë lançimit të parë VCP (Control Plane) lexon skedarin e konfigurimit, i cili përcakton nëse do të punojë si VCP VRR në vMX. Ndërsa tani ky lançim ndodhte gjatë lançimit të Docker, kishte për pasojë që VCP të rithehet një herë përpara se routeri virtual të bëhej i aksesueshëm, gjë që rezultonte në një kohë të gjatë ngarkimi (rreth 5 minuta). Tani lançimi i parë VCP ndodh gjatë ndërtimit të imazhit Docker, dhe pasi ndërtimi i Docker nuk mund të ekzekutohet me parametrin --privileged, kjo do të thotë se qemu punon pa përshpejtim hardware KVM, dhe kështu ndërtimi zgjat shumë. Gjatë këtij procesi, ka shumë log-e që paraqiten, kështu që të paktën do të mund ta shihni atë që ndodh. Mendoj se ndërtimi i gjatë nuk është aq shqetësues, sepse imazhin e krijojmë një herë, ndërsa e lançojmë shumë herë."

Më pas do të mund të shihni imazhin e routerit tonë në 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

Nisemi me kontejnerin vr-vmx

Nisemi me komandën:

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

Mund të shikojmë informatat mbi kontejnerët aktivë:

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

Lidhuni me routerin

Adresa IP e ndërfaqes rrjetit të routerit mund të merret me komandën e mëposhtme:

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

Për default, Vrnetlab krijon te routeri përdoruesin vrnetlab/VR-netlab9.
Lidhuni përmes ssh:

ubuntu:~$ ssh vrnetlab@172.17.0.2
Autenticiteti i hostit '172.17.0.2 (172.17.0.2)' nuk mund të vendoset.
Shenja e çelësit ECDSA është SHA256:g9Sfg/k5qGBTOX96WiCWyoJJO9FxjzXYspRoDPv+C0Y.
Jeni të sigurtë që dëshironi të vazhdoni lidhjen (po/jo/[çelësi])? po
Kujdes: Shtuar përherë '172.17.0.2' (ECDSA) në listën e hosteve të njohur.
Fjalëkalimi:
--- JUNOS 20.1R1.11 Kerneli 64-bit JNPR-11.0-20200219.fb120e7_buil
vrnetlab> trego versionin
Modeli: vmx
Junos: 20.1R1.11

Me këtë, konfigurimi i routerit ka përfunduar.

Rekomandime për instalimin e routerave të ndryshëm mund të gjenden në projekti github në direktorite përkatëse.

Pjesa 5: Postman — lidheni routerin me OpenDaylight

Instalimi i Postman

Për të instaluar, mjafton të shkarkoni aplikacionin këtu.

Lidhja e routerit me ODL

Do të krijojmë PUT kërkesa:

Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab

  1. Vija e kërkesës:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Trupi i kërkesës (skeda Body):
    jun01
    172.17.0.2
    22
    vrnetlab
    VR-netlab9
    false
    jun01_cache
  3. Në skedën Authorization duhet të vendosni parametrin Basic Auth dhe login/fjalëkalimin: admin/admin. Kjo është e nevojshme për të aksesuar ODL:
    Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab
  4. Në skedën Headers duhet të shtoni dy tituj:
    • Accept application/xml
    • Content-Type application/xml

Kërkesa jonë është formuar. Dërgojmë. Nëse gjithçka është konfiguruar siç duhet, ne duhet të kthejmë statusin "201 Created":

Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab

Çfarë bën kjo kërkesë?

Ne krijojmë një node brenda ODL me parametrat e routerit të vërtetë, me të cilin dëshirojmë të përfitojmë akses.

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

Këto janë hapësirat e brendshme të emrave XML (XML namespace) sipas ODL në përputhje me të cilat krijon node.

Pastaj, përkatësisht, emri i routerit është node-id, adresa e routerit është host etj.

Vija më interesante është ajo e fundit. Schema-cache-directory krijon një direktor të cilit i shpërndahen të gjithë skedarët YANG Schema të routerit të lidhur. Mund t'i gjeni ato në $ODL_ROOT/cache/jun01_cache.

Kontrolloni lidhjen e routerit

Do të krijojmë GET kërkesa:

  1. Vija e kërkesës:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. Në skedën Authorization duhet të vendosni parametrin Basic Auth dhe login/fjalëkalimin: admin/admin.

Dërguar. Duhet të marrim statusin "200 OK" dhe listën e të gjitha pajisjeve të mbështetura YANG Schema:

Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab

Koment: Për të parë të fundit, në rastin tim ishte e nevojshme të prisja rreth 10 minuta pas ekzekutimit PUT, derisa gjithçka YANG sсhema të eksportohen në ODL. Deri në atë moment, teksa ekzekutohet ky GET kërkesë do të shfaqet e përkryer:

Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab

Fshijmë routerin

Do të krijojmë FSHI kërkesa:

  1. Vija e kërkesës:
    FSHI http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Në skedën Authorization duhet të vendosni parametrin Basic Auth dhe login/fjalëkalimin: admin/admin.

Pjesa 6: Ndryshojmë konfigurimin e routerit

Marrim konfigurimin

Do të krijojmë GET kërkesa:

  1. Vija e kërkesës:
    MERR http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. Në skedën Authorization duhet të vendosni parametrin Basic Auth dhe login/fjalëkalimin: admin/admin.

Dërguar. Duhet të marrim statusin "200 OK" dhe konfigurimin e routerit:

Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab

Krijojmë konfigurimin

Si një shembull, le të krijojmë këtë konfigurim dhe ta ndryshojmë:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

Do të krijojmë POST kërkesa:

  1. Vija e kërkesës:
    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. Trupi i kërkesës (skeda Body):
  3. Në skedën Authorization duhet të vendosni parametrin Basic Auth dhe login/fjalëkalimin: admin/admin.
  4. Në skedën Headers duhet të shtoni dy tituj:
    • Accept application/xml
    • Content-Type application/xml

Pasi dërgohet, duhet të marrim statusin "204 No Content"

Për të verifikuar që konfigurimi u ndryshua, mund të përdorim kërkesën e mëparshme. Por për shembull, ne do të krijojmë një tjetër që do na shfaqë vetëm informacionin e protokollave të konfiguruar në router.

Do të krijojmë GET kërkesa:

  1. Vija e kërkesës:
    MERR 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. Në skedën Authorization duhet të vendosni parametrin Basic Auth dhe login/fjalëkalimin: admin/admin.

Pasi të kryhet kërkesa do të shohim të mëposhtmen:

Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab

Ndryshojmë konfigurimin

Do të ndryshojmë informacionin mbi protokollin BGP. Pas veprimeve tona, ai do të duket kështu:

protocols {
    bgp {
        disable;
    }
}

Do të krijojmë PUT kërkesa:

  1. Vija e kërkesës:
    VENDOS 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. Trupi i kërkesës (skeda Body):
  3. Në skedën Authorization duhet të vendosni parametrin Basic Auth dhe login/fjalëkalimin: admin/admin.
  4. Në skedën Headers duhet të shtoni dy tituj:
    • Accept application/xml
    • Content-Type application/xml

Duke përdorur kërkesën e mëparshme, shohim ndryshimet: GET Fshijmë konfigurimin

Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab

FSHI 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

Do të krijojmë FSHI kërkesa:

  1. Vija e kërkesës:
    kërkesës me informacionin mbi protokollet, do të shohim të mëposhtmen:
  2. Në skedën Authorization duhet të vendosni parametrin Basic Auth dhe login/fjalëkalimin: admin/admin.

Kur thirret GET Shtesë:

Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab

Për të ndryshuar konfigurimin, nuk është e nevojshme të dërgoni trupin e kërkesës në formatin

. Kjo mund të bëhet shpejt në formatin XMLPër këtë, për shembull, në kërkesën JSON.

për ndryshimin e konfigurimit, do ta zëvendësojmë trupin e kërkesës me: PUT { "junos-conf-protocols:protocols": { "bgp": { "description" : "Ndryshuar në postman" } } }

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

Mos u harroni të ndryshoni titujt në seksionin Headers në:

  • Prano aplikacioni/json
  • Përmbajtja-Tip aplikacioni/json

Pas dërgimit do të marrim rezultatin e mëposhtëm (shikoni përgjigjen duke përdorur GET kërkesën):

Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab

Pjesa 7: shtojmë Cisco xRV9000

Çfarë kemi të gjithë për Juniper-in, le të flasim për Cisco-n!
Kam gjetur një xRV9000 versioni 7.0.2 (monstra, që kërkon 8Gb RAM dhe 4 bërthama. Nuk është e disponueshme për publikun, prandaj kontaktoni në Cisco) — atij do ia nisemi.

Nisja e kontejnerit

Procesi i krijimit të kontejnerit Docker gati nuk ndryshon nga Juniper. Po ashtu, ngrejmë skedarin .qcow2 me router-in në drejtorinë që përkon me emrin e tij, (në këtë rast xrv9k) dhe ekzekutojmë komandën make docker-image.

Pas disa minutash shohim që imazhi është krijuar:

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

Nisjmë kontejnerin:

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

Pas pak kohe shohim që kontejneri është nisur:

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

Kthehemi me ssh:

ubuntu@ubuntu:~$ ssh vrnetlab@172.17.0.2
Fjalëkalimi:

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

Informacioni mbi ndërtimin:
 Ndërtuar nga     : ahoang
 Ndërtuar më     : Fri Mar 13 22:27:54 PDT 2020
 Hosti i ndërtimit : iox-ucs-029
 Hapsira punuese    : /auto/srcarchive15/prod/7.0.2/xrv9k/ws
 Version      : 7.0.2
 Lokacion     : /opt/cisco/XR/packages/
 Etiketa        : 7.0.2

cisco IOS-XRv 9000 () procesori
Koha e funksionimit të sistemit është 3 orë 22 minuta

Lidhim router-in me OpenDaylight

Shtimi ndodh në mënyrë plotësisht të ngjashme me imazhin vMX. Thjesht duhet të ndryshojmë emrat.
PUT kërkesa:
Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab

Pas pak kohe thërrasim GET kërkesën, për të verifikuar se gjithçka është lidhur:
Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab

Ndryshojmë konfigurimin

Të konfigurojmë konfigurimin e mëposhtëm:

!
router ospf LAB
 mpls ldp auto-config
!

Do të krijojmë POST kërkesa:

  1. Vija e kërkesës:
    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. Trupi i kërkesës (skeda Body):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. Në skedën Authorization duhet të vendosni parametrin Basic Auth dhe login/fjalëkalimin: admin/admin.
  4. Në skedën Headers duhet të shtoni dy tituj:
    • Prano aplikacioni/json
    • Përmbajtja-Tip aplikacioni/json

Pas kryerjes së tij duhet të marrim statusin "204 No Content."

Të kontrollojmë se çfarë kemi arritur.
Për këtë do të krijojmë GET kërkesa:

  1. Vija e kërkesës:
    MERR 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. Në skedën Authorization duhet të vendosni parametrin Basic Auth dhe login/fjalëkalimin: admin/admin.

Pasi pas përfundimit, duhet të shihni si vijon:

Automatizimi i shërbimeve rrjetësore ose si të krijoni një laborator virtual me ndihmën e OpenDaylight, Postman dhe Vrnetlab

Për të hequr konfigurimin, përdorim FSHI:

  1. Vija e kërkesës:
    Fshij 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. Në skedën Authorization duhet të vendosni parametrin Basic Auth dhe login/fjalëkalimin: admin/admin.

Përfundim

Në përmbledhje, siç e keni vënë re, procedurat e lidhjes së Cisco dhe Juniper me OpenDaylight nuk ndryshojnë — kjo hap një mundësi të gjerë për kreativitet. Duke filluar nga menaxhimi i konfigurimeve të të gjitha komponentëve të rrjetit dhe duke përfunduar me krijimin e politikave të veta të rrjetit.
Në këtë udhëzues kam paraqitur shembuj më të thjeshtë se si mund të ndërveproni me pajisjet e rrjetit duke përdorur OpenDaylight. Pa dyshim, kërkesat nga shembujt e paraqitur mund të bëhen shumë më të komplikuara dhe të konfiguroni shërbime të tëra me një klikim — gjithçka është e kufizuar vetëm nga imagjinata juaj.

To be continued...

P.S.

Nëse ndonjëherë e dini tashmë të gjithë këtë ose, përkundrazi, e keni kaluar dhe ODL ju ka prekur thellë në shpirt, atëherë rekomandoj të shikoni drejt zhvillimit të aplikacioneve mbi kontrollorin ODL. Mund të filloni këtu.

Eksperimente të suksesshme!

Lista e literaturës

  1. Vrnetlab: Simuloni rrjetet duke përdorur KVM dhe Docker / Brian Linkletter
  2. OpenDaylight Cookbook / Mathieu Lemay, Alexis de Talhouet, et al
  3. Programabiliteti i Rrjetit me YANG / Benoît Claise, Loe Clarke, Jan Lindblad
  4. Mësimi i XML, Botimi i Dytë / Erik T. Ray
  5. DevOps Efektiv / Jennifer Davis, Ryn Daniels

Burimi: habr.com

Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS 🔥 Blini hostim të besueshëm për faqe interneti me mbrojtje DDoS, serverë VPS VDS - ProHoster