Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab

Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab

Në këtë artikull, unë do t'ju tregoj se si të vendosni dritë e hapur për të punuar me pajisjet e rrjetit, dhe gjithashtu të tregojë se si të përdoret postier dhe e thjeshtë RESTCONF kërkesat, kjo pajisje mund të kontrollohet. Ne nuk do të punojmë me harduer, por në vend të kësaj do të vendosim laboratorë të vegjël virtualë me një ruter të vetëm Vrnetlab mbi Ubuntu LTS 20.04.

Së pari do të tregoj cilësimet e detajuara duke përdorur shembullin e një ruteri Juniper vMX 20.1R1.11, dhe më pas e krahasojmë me cilësimin Cisco xRV9000 7.0.2.

Përmbajtje

  • Njohuritë e kërkuara
  • Pjesë 1: diskutoni shkurt OpenDaylight (në tekstin e mëtejmë ODL), postier и Vrnetlab dhe pse na duhen
  • Pjesë 2: përshkrimi i laboratorit virtual
  • Pjesë 3: personalizo dritë e hapur
  • Pjesë 4: personalizo Vrnetlab
  • Pjesë 5: duke përdorur postier lidhni ruterin virtual (Juniper vMX) Për të ODL
  • Pjesë 6: merrni dhe ndryshoni konfigurimin e ruterit duke përdorur postier и ODL
  • Pjesë 7: shtoni Cisco xRV9000
  • Përfundim
  • PS
  • Bibliografi

Njohuritë e kërkuara

Që artikulli të mos shndërrohej në fletë, hoqa disa detaje teknike (me lidhje me literaturën ku mund të lexoni për to).

Në lidhje me këtë, unë ju ofroj tema që do të ishte mirë (por pothuajse jo e nevojshme) t'i dini para se t'i lexoni:

Pjesa 1: disa teori

Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab

  • Një platformë e hapur SDN për menaxhimin dhe automatizimin e të gjitha llojeve të rrjeteve, e mbështetur nga Linux Foundation
  • Java brenda
  • Bazuar në Nivelin e Abstraksionit të Shërbimit të Drejtuar nga Modeli (MD-SAL)
  • Përdor modelet YANG për të gjeneruar automatikisht API-të RESTCONF për pajisjet e rrjetit

Moduli kryesor për menaxhimin e rrjetit. Është përmes tij që ne do të komunikojmë me pajisjet e lidhura. Menaxhohet përmes API-së së vet.

Mund të lexoni më shumë rreth OpenDaylight këtu.

Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab

  • Mjet për testimin e API
  • Ndërfaqe e thjeshtë dhe e lehtë për t'u përdorur

Në rastin tonë, ne jemi të interesuar për të si një mjet për dërgimin e kërkesave REST në OpenDaylight API. Ju, sigurisht, mund të dërgoni kërkesa me dorë, por në Postman gjithçka duket shumë e qartë dhe i përshtatet në mënyrë të përkryer qëllimeve tona.

Për ata që duan të gërmojnë: shumë materiale trajnimi janë shkruar në të (për shembull).

Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab

  • Mjet për vendosjen e ruterave virtualë në Docker
  • Mbështet: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR, etj.
  • Open Source

Një instrument shumë interesant, por pak i njohur. Në rastin tonë, ne do ta përdorim atë për të ekzekutuar Juniper vMX dhe Cisco xRV9000 në një Ubuntu 20.04 LTS të rregullt.

Mund të lexoni më shumë për të në faqe projekti.

Pjesa 2: Laboratori

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

Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab

Si punon kjo

  • Juniper vMX ngrihet brenda prerës enë (me mjete Vrnetlab) dhe funksionon si ruteri virtual më i zakonshëm.
  • ODL i lidhur me ruterin dhe ju lejon ta kontrolloni atë.
  • postier lëshohet në një makinë të veçantë dhe përmes saj dërgojmë komanda ODL: për të lidhur / hequr ruterin, për të ndryshuar konfigurimin, etj.

Koment mbi pajisjen e sistemit

Juniper vMX и ODL kërkojnë mjaft burime për funksionimin e tyre të qëndrueshëm. Nje i vetem vMX kërkon 6 Gb RAM dhe 4 bërthama. Prandaj, u vendos që të zhvendoseshin të gjitha "peshat e rënda" në një makinë të veçantë (Heulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). Ruteri, natyrisht, nuk "fluturon" mbi të, por performanca është e mjaftueshme për eksperimente të vogla.

Pjesa 3: Konfiguro OpenDaylight

Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab

Versioni aktual i ODL në kohën e këtij shkrimi është Magnezi SR1

1) Instaloni Java e hapur JDK 11 (për instalim më të detajuar këtu)

ubuntu:~$ sudo apt install default-jdk

2) Gjeni dhe shkarkoni versionin më të fundit ODL prandaj
3) Shkëputni arkivin e shkarkuar
4) Shkoni te drejtoria që rezulton
5) Nisja ./bin/karaf

Në këtë hap ODL duhet të fillojë dhe ne do të gjejmë veten në tastierë (Port 8181 përdoret për qasje nga jashtë, të cilën do ta përdorim më vonë).

Tjetra, instaloni Karakteristikat e ODLprojektuar për të punuar me protokolle NETCONF и RESTCONF. Për ta bërë këtë në tastierë ODL ne ekzekutojmë:

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

Ky është konfigurimi më i thjeshtë. ODL përfunduar. (Për më shumë detaje, shih këtu).

Pjesa 4: Vendosja e Vrnetlab

Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab

Përgatitja e sistemit

Para instalimit Vrnetlab ju duhet të instaloni paketat e nevojshme për funksionimin e tij. Të tilla si prerës, 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

Instalimi i Vrnetlab

Për instalim Vrnetlab klononi depon përkatëse nga github:

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

Shkoni te drejtoria vrnetlab:

ubuntu:~$ cd ~/vrnetlab

Këtu mund të shihni të gjitha skriptet e nevojshme për të ekzekutuar. Ju lutemi vini re se një drejtori përkatëse është krijuar për çdo lloj ruteri:

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

Krijoni një imazh të ruterit

Çdo ruter që mbështetet Vrnetlab, ka procedurën e vet unike të konfigurimit. Kur Juniper vMX thjesht duhet të ngarkojmë arkivin .tgz me ruterin (mund ta shkarkoni nga faqen zyrtare) në drejtorinë vmx dhe ekzekutoni komandën make:

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

Ndërtimi i një imazhi vMX do të zgjasë rreth 10-20 minuta. Është koha për të marrë një kafe!

Pse kaq gjatë, ju pyesni?

përkthim përgjigje autori i kësaj pyetjeje:

"Kjo ndodh sepse hera e parë që niset VCP (Plani i kontrollit), ai lexon një skedar konfigurimi që përcakton nëse do të funksionojë si VCP VRR në vMX. Më parë, ky nisje bëhej gjatë fillimit të Docker, por kjo nënkuptonte që VCP rifillohej gjithmonë një herë përpara se ruteri virtual të bëhej i disponueshëm, duke rezultuar në një kohë të gjatë nisjeje (rreth 5 minuta) Tani ekzekutimi i parë i VCP kryhet gjatë ndërtimit të imazhit të Docker, dhe meqenëse ndërtimi Docker nuk mund të ekzekutohet me - -opsioni i privilegjuar, kjo do të thotë që qemu punon pa përshpejtim të harduerit KVM dhe kështu ndërtimi merr një kohë shumë të gjatë. Gjatë këtij procesi dalin shumë regjistra, kështu që të paktën mund të shihni se çfarë po ndodh. Mendoj se një ndërtim i gjatë nuk është aq e frikshme sepse ne krijojmë një imazh një herë, por lëshojmë shumë."

Pasi të mund të shihni imazhin e ruterit tonë në prerë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

Nisni kontejnerin vr-vmx

Fillojmë me komandën:

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

Më pas, mund të shohim informacione rreth kontejnerëve 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

Lidhja me ruterin

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

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

Default, Vrnetlab krijon një përdorues në ruter vrnetlab/VR-netlab9.
Duke u lidhur me 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

Kjo përfundon konfigurimin e ruterit.

Rekomandimet e instalimit për ruterat e shitësve të ndryshëm mund të gjenden në projekti github në drejtoritë përkatëse.

Pjesa 5: Postier - lidhni ruterin me OpenDaylight

Instalimi i postierit

Për të instaluar, thjesht shkarkoni aplikacionin prandaj.

Lidhja e një ruteri me ODL

Le të krijojmë VENDOSENI kërkesë:

Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab

  1. Vargu i pyetjes:
    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 Trupi):
    <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. Në skedën Autorizimi, duhet të vendosni parametrin Basic Auth dhe hyrje/fjalëkalim: admin/admin. Kjo kërkohet për të hyrë në ODL:
    Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab
  4. Në skedën Headers, duhet të shtoni dy tituj:
    • Prano aplikacionin/xml
    • Aplikacioni i llojit të përmbajtjes/xml

Kërkesa jonë është bërë. Ne dërgojmë. Nëse gjithçka është konfiguruar si duhet, atëherë duhet të kthejmë statusin "201 Krijuar":

Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab

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

Ne krijojmë nyje brenda ODL me parametrat e ruterit real që duam të aksesojmë.

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

Këto janë hapësira të brendshme emrash XML (Hapësira e emrit XML) për ODL sipas të cilit krijon nyje.

Më tej, përkatësisht, emri i ruterit është nyje-id, adresa e ruterit - mikpritës dhe kështu me radhë.

Linja më interesante është ajo e fundit. Skema-cache-directory krijon një direktori ku shkarkohen të gjithë skedarët Skema YANG router i lidhur. Ju mund t'i gjeni në $ODL_ROOT/cache/jun01_cache.

Kontrollimi i lidhjes së ruterit

Le të krijojmë GET kërkesë:

  1. Vargu i pyetjes:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. Në skedën Autorizimi, duhet të vendosni parametrin Basic Auth dhe hyrje/fjalëkalim: admin/admin.

Ne dërgojmë. Duhet të marrë një status "200 OK" dhe një listë të të gjithave të mbështetura nga pajisja Skema YANG:

Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab

Koment: Për të parë këtë të fundit, në rastin tim duhej pritur rreth 10 minuta pas ekzekutimit VENDOSENIderi në të gjitha Skema YANG shkarkoj në ODL. Deri në këtë pikë, kur e kryeni këtë GET pyetja do të shfaqë sa vijon:

Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab

Fshi ruterin

Le të krijojmë DELETE kërkesë:

  1. Vargu i pyetjes:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Në skedën Autorizimi, duhet të vendosni parametrin Basic Auth dhe hyrje/fjalëkalim: admin/admin.

Pjesa 6: Ndryshoni konfigurimin e ruterit

Marrja e konfigurimit

Le të krijojmë GET kërkesë:

  1. Vargu i pyetjes:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. Në skedën Autorizimi, duhet të vendosni parametrin Basic Auth dhe hyrje/fjalëkalim: admin/admin.

Ne dërgojmë. Duhet të marrë statusin "200 OK" dhe konfigurimin e ruterit:

Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab

Krijo një konfigurim

Si shembull, le të krijojmë konfigurimin e mëposhtëm dhe ta modifikojmë atë:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

Le të krijojmë POST kërkesë:

  1. Vargu i pyetjes:
    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 Trupi):
    <bgp xmlns="http://yang.juniper.net/junos/conf/protocols">
    <disable/>
    <shutdown>
    </shutdown>
    </bgp>
  3. Në skedën Autorizimi, duhet të vendosni parametrin Basic Auth dhe hyrje/fjalëkalim: admin/admin.
  4. Në skedën Headers, duhet të shtoni dy tituj:
    • Prano aplikacionin/xml
    • Aplikacioni i llojit të përmbajtjes/xml

Pas dërgimit, ata duhet të marrin statusin "204 pa përmbajtje"

Për të kontrolluar nëse konfigurimi ka ndryshuar, mund të përdorni pyetjen e mëparshme. Por për shembull, ne do të krijojmë një tjetër që do të shfaqë informacion vetëm për protokollet e konfiguruara në ruter.

Le të krijojmë GET kërkesë:

  1. Vargu i pyetjes:
    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. Në skedën Autorizimi, duhet të vendosni parametrin Basic Auth dhe hyrje/fjalëkalim: admin/admin.

Pas ekzekutimit të kërkesës, do të shohim sa vijon:

Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab

Ndryshoni konfigurimin

Le të ndryshojmë informacionin rreth protokollit BGP. Pas veprimeve tona, do të duket kështu:

protocols {
    bgp {
        disable;
    }
}

Le të krijojmë VENDOSENI kërkesë:

  1. Vargu i pyetjes:
    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. Trupi i kërkesës (Skeda Trupi):
    <protocols xmlns="http://yang.juniper.net/junos/conf/protocols">
    <bgp>
        <disable/>
    </bgp>
    </protocols>
  3. Në skedën Autorizimi, duhet të vendosni parametrin Basic Auth dhe hyrje/fjalëkalim: admin/admin.
  4. Në skedën Headers, duhet të shtoni dy tituj:
    • Prano aplikacionin/xml
    • Aplikacioni i llojit të përmbajtjes/xml

Duke përdorur të mëparshmen GET kërkesë, ne shohim ndryshimet:

Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab

Fshini konfigurimin

Le të krijojmë DELETE kërkesë:

  1. Vargu i pyetjes:
    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. Në skedën Autorizimi, duhet të vendosni parametrin Basic Auth dhe hyrje/fjalëkalim: admin/admin.

Kur thirret GET kërkesë me informacion në lidhje me protokollet, do të shohim sa vijon:

Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab

Supplement:

Për të ndryshuar konfigurimin, nuk është e nevojshme të dërgoni trupin e kërkesës në format XML. Kjo mund të bëhet edhe në format JSON.

Për ta bërë këtë, për shembull, në pyetje VENDOSENI për të ndryshuar konfigurimin, zëvendësoni trupin e kërkesës me:

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

Mos harroni të ndryshoni titujt në skedën Headers në:

  • Prano aplikacionin/json
  • Aplikacioni i llojit të përmbajtjes/json

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

Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab

Pjesa 7: Shtimi i Cisco xRV9000

Çfarë jemi ne të gjithë për Juniper, po Juniper? Le të flasim për Cisco!
Gjeta xRV9000 versionin 7.0.2 (një bishë që ka nevojë për 8 Gb RAM dhe 4 bërthama. Nuk disponohet lirisht, ndaj kontaktoni Cisco) - le ta ekzekutojmë.

Drejtimi i një kontejneri

Procesi i krijimit të një kontejneri Docker praktikisht nuk është i ndryshëm nga Juniper. Në mënyrë të ngjashme, ne hedhim skedarin .qcow2 me ruterin në drejtorinë që korrespondon 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

Ne fillojmë enën:

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

Pas një kohe, ne shohim se kontejneri ka filluar:

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

Lidhu me 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

Lidhja e ruterit me OpenDaylight

Shtimi ndodh në një mënyrë krejtësisht të ngjashme me vMX. Thjesht duhet të ndryshojmë emrat.
VENDOSENI kërkesë:
Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab

Telefononi pas pak GET kërkoni për të kontrolluar nëse gjithçka është e lidhur:
Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab

Ndryshoni konfigurimin

Le të konfigurojmë konfigurimin e mëposhtëm:

!
router ospf LAB
 mpls ldp auto-config
!

Le të krijojmë POST kërkesë:

  1. Vargu i pyetjes:
    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 Trupi):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. Në skedën Autorizimi, duhet të vendosni parametrin Basic Auth dhe hyrje/fjalëkalim: admin/admin.
  4. Në skedën Headers, duhet të shtoni dy tituj:
    • Prano aplikacionin/json
    • Aplikacioni i llojit të përmbajtjes/json

Pas ekzekutimit të tij, ata duhet të marrin statusin "204 Pa përmbajtje".

Le të kontrollojmë se çfarë kemi.
Për ta bërë këtë, ne do të krijojmë GET kërkesë:

  1. Vargu i pyetjes:
    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. Në skedën Autorizimi, duhet të vendosni parametrin Basic Auth dhe hyrje/fjalëkalim: admin/admin.

Pas ekzekutimit, duhet të shihni sa vijon:

Automatizimi i shërbimeve të rrjetit ose si të ndërtohet një laborator virtual duke përdorur OpenDaylight, Postman dhe Vrnetlab

Për të hequr konfigurimin përdorni DELETE:

  1. Vargu i pyetjes:
    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. Në skedën Autorizimi, duhet të vendosni parametrin Basic Auth dhe hyrje/fjalëkalim: admin/admin.

Përfundim

Në total, siç mund ta keni vënë re, procedurat për lidhjen e Cisco dhe Juniper me OpenDaylight nuk ndryshojnë - kjo hap një hapësirë ​​mjaft të gjerë për kreativitet. Duke filluar nga menaxhimi i konfigurimit të të gjithë komponentëve të rrjetit dhe duke përfunduar me krijimin e politikave tuaja të rrjetit.
Në këtë tutorial, unë kam dhënë shembujt më të thjeshtë se si mund të ndërveproni me pajisjet e rrjetit duke përdorur OpenDaylight. Pa dyshim, pyetjet nga shembujt e mësipërm mund të bëhen shumë më komplekse dhe të konfiguroni shërbime të tëra me një klik të miut - gjithçka kufizohet vetëm nga imagjinata juaj *

Vazhdon…

PS

Nëse befas tashmë i dini të gjitha këto ose, përkundrazi, keni kaluar dhe zhytur në shpirtin e ODL, atëherë ju rekomandoj të shikoni drejt zhvillimit të aplikacioneve në kontrolluesin ODL. Mund të filloni prandaj.

Eksperimente të suksesshme!

referencat

  1. Vrnetlab: Emuloni rrjetet duke përdorur KVM dhe Docker /Brian Linkletter
  2. OpenDaylight Cookbook / Mathieu Lemay, Alexis de Talhouet, etj
  3. Programueshmëria e rrjetit me YANG / Benoît Claise, Loe Clarke, Jan Lindblad
  4. Learning XML, Second Edition / Erik T. Ray
  5. DevOps efektive / Jennifer Davis, Ryn Daniels

Burimi: www.habr.com

Shto një koment