Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab

Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab

M'nkhaniyi, ndikuwonetsani momwe mungakhazikitsire opendaylight kuti mugwire ntchito ndi zida za netiweki, ndikuwonetsanso momwe mungagwiritsire ntchito Wolemba Postman ndi zosavuta Zotsatira RESTCONF zopempha, zida izi zikhoza kulamulidwa. Sitingagwire ntchito ndi ma hardware, koma m'malo mwake tidzatumiza ma laboratories ang'onoang'ono okhala ndi rauta imodzi yogwiritsa ntchito Vrnetlab kutha Ubuntu 20.04 LTS.

Ndiwonetsa makonda atsatanetsatane poyamba pogwiritsa ntchito chitsanzo cha rauta Juniper vMX 20.1R1.11, ndiyeno timazifanizitsa ndi malo Cisco xRV9000 7.0.2.

Zamkatimu

  • Chidziwitso chofunikira
  • Gawo la 1: kambiranani mwachidule OpenDaylight (pambuyo pake ODL), Wolemba Postman и Vrnetlab ndi chifukwa chiyani timawafunira
  • Gawo la 2: kufotokoza kwa labotale yeniyeni
  • Gawo la 3: makonda opendaylight
  • Gawo la 4: makonda Vrnetlab
  • Gawo la 5: pogwiritsa ntchito Wolemba Postman gwirizanitsani router virtual (Juniper vMX) Kuti ODL
  • Gawo la 6: pezani ndikusintha kasinthidwe ka rauta pogwiritsa ntchito Wolemba Postman и ODL
  • Gawo la 7: onjezani Cisco xRV9000
  • Pomaliza
  • PS
  • Zolemba

Chidziwitso chofunikira

Kuti nkhaniyo isasinthe kukhala pepala, ndidasiya zambiri zaukadaulo (ndi maulalo amabuku komwe mungawerenge za iwo).

Pankhani iyi, ndikukupatsani mitu yomwe ingakhale yabwino (koma yosafunikira) kuti mudziwe musanawerenge:

Gawo 1: chiphunzitso china

Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab

  • Pulatifomu yotseguka ya SDN yowongolera ndikusintha ma network amitundu yonse, mothandizidwa ndi Linux Foundation
  • Java mkati
  • Kutengera pa Model-Driven Service Abstraction Level (MD-SAL)
  • Imagwiritsa ntchito mitundu ya YANG kuti ipange ma RESTCONF API pazida zamtaneti

Gawo lalikulu la kasamalidwe ka netiweki. Ndi kupyolera mu izo tidzalankhulana ndi zipangizo zolumikizidwa. Imayendetsedwa ndi API yake.

Mutha kuwerenga zambiri za OpenDaylight apa.

Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab

  • Chida choyesera cha API
  • Zosavuta komanso zosavuta kugwiritsa ntchito mawonekedwe

Kwa ife, tili ndi chidwi ndi izi ngati njira yotumizira zopempha za REST ku OpenDaylight API. Mukhoza, ndithudi, kutumiza zopempha pamanja, koma mu Postman chirichonse chikuwoneka bwino kwambiri ndipo chikugwirizana ndi zolinga zathu mwangwiro.

Kwa iwo omwe akufuna kukumba: zida zambiri zophunzitsira zalembedwa pamenepo (Mwachitsanzo).

Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab

  • Chida chotumizira ma routers enieni ku Docker
  • Imathandizira: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR, etc.
  • Chotsani Chotsegula

Chida chosangalatsa kwambiri koma chodziwika pang'ono. Kwa ife, tidzagwiritsa ntchito Juniper vMX ndi Cisco xRV9000 pa Ubuntu 20.04 LTS wamba.

Mukhoza kuwerenga zambiri za izo pa tsamba la polojekiti.

Gawo 2: Lab

Mu phunziro ili, tidzakhazikitsa dongosolo ili:

Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab

Kodi ntchito

  • Juniper vMX akukwera mkati Docker kontena (mwa njira Vrnetlab) ndipo imagwira ntchito ngati rauta yodziwika kwambiri.
  • ODL cholumikizidwa ndi rauta ndikukulolani kuti muwulamulire.
  • Wolemba Postman anapezerapo pa makina osiyana ndipo kudzera izo timatumiza malamulo ODL: kulumikiza / kuchotsa rauta, kusintha kasinthidwe, etc.

Ndemanga pa chipangizo cha dongosolo

Juniper vMX и ODL amafunikira zinthu zambiri kuti agwire bwino ntchito yawo. Mmodzi yekha vMX imafunsa 6 Gb ya RAM ndi 4 cores. Choncho, adaganiza zosuntha "zolemera" zonse ku makina osiyana (Heulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). Router, ndithudi, "sikuwulukira" pa izo, koma ntchitoyo ndi yokwanira pazoyesera zazing'ono.

Gawo 3: Khazikitsani OpenDaylight

Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab

Mtundu waposachedwa wa ODL panthawi yolemba uku ndi Magnesium SR1

1) Ikani Java Open JDK 11 (kuti mumve zambiri apa)

ubuntu:~$ sudo apt install default-jdk

2) Pezani ndikutsitsa zomanga zaposachedwa ODL kuchokera pano
3) Tsegulani zosungidwa zomwe zidatsitsidwa
4) Pitani ku chikwatu chotsatira
5) Kukhazikitsa ./bin/karaf

Pa sitepe iyi ODL tiyenera kuyamba ndipo tidzadzipeza tokha mu kontrakitala (Port 8181 imagwiritsidwa ntchito kuchokera kunja, yomwe tidzagwiritsa ntchito pambuyo pake).

Kenako, kukhazikitsa Zithunzi za ODLidapangidwa kuti igwire ntchito ndi ma protocol NETCONF и Zotsatira RESTCONF. Kuti muchite izi mu console ODL timachita:

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

Uku ndiye kukhazikitsa kosavuta. ODL anamaliza. (Kuti mumve zambiri, onani apa).

Gawo 4: Kukhazikitsa Vrnetlab

Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab

Kukonzekera kwadongosolo

Pamaso kukhazikitsa Vrnetlab muyenera kukhazikitsa phukusi zofunika kuti ntchito yake. Monga Docker, Pitani, alireza:

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

Kukhazikitsa Vrnetlab

Kukhazikitsa Vrnetlab phatikizani chosungiracho kuchokera ku github:

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

Pitani ku chikwatu vrnetlab:

ubuntu:~$ cd ~/vrnetlab

Apa mutha kuwona zolemba zonse zofunika kuti muyendetse. Chonde dziwani kuti chikwatu chofananira chapangidwa pamtundu uliwonse wa rauta:

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

Pangani chithunzi cha rauta

Router iliyonse yomwe imathandizidwa Vrnetlab, ili ndi njira yakeyake yokhazikitsira. Liti Juniper vMX tikungofunika kukweza .tgz archive ndi rauta (mutha kutsitsa kuchokera malo boma) ku chikwatu cha vmx ndikuyendetsa lamulo make:

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

Kumanga fano vMX zidzatenga pafupifupi mphindi 10-20. Yakwana nthawi yoti mukatenge khofi!

Bwanji motalika chotere, mukufunsa?

Kutanthauzira kuyankha wolemba ku funso ili:

"Izi ndichifukwa chakuti nthawi yoyamba VCP (Control Plane) imayamba, imawerenga fayilo yosintha yomwe imatsimikizira ngati idzayenda ngati VRR VCP mu vMX. M'mbuyomu, kukhazikitsidwa kumeneku kunachitika panthawi yoyambira Docker, koma izi zikutanthauza kuti VCP idakhazikitsidwanso kamodzi pomwe rauta yeniyeni isanapezeke, zomwe zimapangitsa kuti pakhale nthawi yayitali yoyambira (pafupifupi mphindi 5) Tsopano kuthamanga koyamba kwa VCP kumachitika pakumanga chithunzi cha Docker, ndipo popeza kumanga kwa Docker sikungayendetsedwe ndi - -njira yamwayi, izi zikutanthauza kuti qemu imagwira ntchito popanda KVM hardware acceleration ndipo motero kumanga kumatenga nthawi yaitali kwambiri.Pa nthawiyi, zipika zambiri zimatuluka, kotero kuti mutha kuwona zomwe zikuchitika.Ndikuganiza kuti kumanga kwautali sizowopsa chifukwa timapanga chithunzi kamodzi, koma timayambitsa zambiri."

Mukatha kuwona chithunzi cha rauta yathu mkati 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

Yambitsani chidebe cha vr-vmx

Timayamba ndi lamulo:

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

Kenako, titha kuwona zambiri za zotengera zomwe zikugwira ntchito:

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

Kulumikizana ndi rauta

Adilesi ya IP ya mawonekedwe a netiweki a rauta atha kupezeka ndi lamulo ili:

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

Zosasintha, Vrnetlab amapanga wosuta pa rauta vrnetlab/VR-netlab9.
Kulumikizana ndi 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

Izi zimamaliza kukhazikitsa rauta.

Malangizo oyika ma routers a ogulitsa osiyanasiyana angapezeke pa github polojekiti m'makanema osiyanasiyana.

Gawo 5: Postman - polumikiza rauta ku OpenDaylight

Kuyika kwa postman

Kukhazikitsa, basi kukopera ntchito kuchokera pano.

Kulumikiza rauta ku ODL

Tiyeni tipange Ikani pempho:

Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab

  1. Funso chingwe:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Funsani thupi (Body tab):
    <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. Pa tabu ya Authorization, muyenera kukhazikitsa parameter Basic Auth ndi kulowa / achinsinsi: admin/admin. Izi ndizofunikira kuti mupeze ODL:
    Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab
  4. Pa Headers tabu, muyenera kuwonjezera mitu iwiri:
    • Landirani kugwiritsa ntchito/xml
    • Content-Type application/xml

Pempho lathu lapangidwa. Timatumiza. Ngati zonse zidakonzedwa moyenera, ndiye kuti tiyenera kubweza "201 Adapangidwa":

Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab

Kodi pempholi likuchita chiyani?

Timapanga node mkati ODL ndi magawo a rauta yeniyeni yomwe tikufuna kupeza.

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

Awa ndi malo amkati XML (XML namespace) ya ODL molingana ndi zomwe zimapanga mfundo.

Komanso, motero, dzina la rauta ndi nodi-id, adilesi ya rauta - khamu ndi zina zotero.

Mzere wosangalatsa kwambiri ndi wotsiriza. Schema-cache-directory imapanga chikwatu pomwe mafayilo onse amatsitsidwa YANG Schema cholumikizira rauta. Mutha kuwapeza mkati $ODL_ROOT/cache/jun01_cache.

Kuyang'ana kugwirizana kwa rauta

Tiyeni tipange GETANI pempho:

  1. Funso chingwe:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. Pa tabu ya Authorization, muyenera kukhazikitsa parameter Basic Auth ndi kulowa / achinsinsi: admin/admin.

Timatumiza. Ayenera kulandira mawonekedwe a "200 OK" ndi mndandanda wa zonse zomwe zimathandizidwa ndi chipangizocho YANG Schema:

Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab

ndemanga: Kuti ndiwone womaliza, kwa ine kunali koyenera kudikirira pafupifupi mphindi 10 pambuyo pa kuphedwa Ikanimpaka zonse YANG schema tsitsani ODL. Mpaka pano, pochita izi GETANI funso likuwonetsa izi:

Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab

Chotsani rauta

Tiyeni tipange DZIWANI pempho:

  1. Funso chingwe:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Pa tabu ya Authorization, muyenera kukhazikitsa parameter Basic Auth ndi kulowa / achinsinsi: admin/admin.

Gawo 6: Sinthani kasinthidwe rauta

Kupeza kasinthidwe

Tiyeni tipange GETANI pempho:

  1. Funso chingwe:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. Pa tabu ya Authorization, muyenera kukhazikitsa parameter Basic Auth ndi kulowa / achinsinsi: admin/admin.

Timatumiza. Ayenera kulandira "200 OK" ndi kasinthidwe ka rauta:

Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab

Pangani kasinthidwe

Mwachitsanzo, tiyeni tipange masinthidwe awa ndikusintha:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

Tiyeni tipange POST pempho:

  1. Funso chingwe:
    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. Funsani thupi (Body tab):
    <bgp xmlns="http://yang.juniper.net/junos/conf/protocols">
    <disable/>
    <shutdown>
    </shutdown>
    </bgp>
  3. Pa tabu ya Authorization, muyenera kukhazikitsa parameter Basic Auth ndi kulowa / achinsinsi: admin/admin.
  4. Pa Headers tabu, muyenera kuwonjezera mitu iwiri:
    • Landirani kugwiritsa ntchito/xml
    • Content-Type application/xml

Akatumiza, ayenera kulandira "204 No Content"

Kuti muwone ngati kasinthidwe kasintha, mutha kugwiritsa ntchito funso lakale. Koma mwachitsanzo, tidzapanga ina yomwe idzawonetse zambiri za ma protocol omwe adakhazikitsidwa pa router.

Tiyeni tipange GETANI pempho:

  1. Funso chingwe:
    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. Pa tabu ya Authorization, muyenera kukhazikitsa parameter Basic Auth ndi kulowa / achinsinsi: admin/admin.

Pambuyo pochita pempho, tiwona zotsatirazi:

Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab

Sinthani kasinthidwe

Tiyeni tisinthe zambiri za protocol ya BGP. Pambuyo pa zochita zathu, zidzawoneka motere:

protocols {
    bgp {
        disable;
    }
}

Tiyeni tipange Ikani pempho:

  1. Funso chingwe:
    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. Funsani thupi (Body tab):
    <protocols xmlns="http://yang.juniper.net/junos/conf/protocols">
    <bgp>
        <disable/>
    </bgp>
    </protocols>
  3. Pa tabu ya Authorization, muyenera kukhazikitsa parameter Basic Auth ndi kulowa / achinsinsi: admin/admin.
  4. Pa Headers tabu, muyenera kuwonjezera mitu iwiri:
    • Landirani kugwiritsa ntchito/xml
    • Content-Type application/xml

Kugwiritsa ntchito zakale GETANI pempho, tikuwona zosintha:

Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab

Chotsani kasinthidwe

Tiyeni tipange DZIWANI pempho:

  1. Funso chingwe:
    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. Pa tabu ya Authorization, muyenera kukhazikitsa parameter Basic Auth ndi kulowa / achinsinsi: admin/admin.

Poyimba GETANI funsani ndi zambiri za ma protocol, tiwona zotsatirazi:

Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab

Zowonjezera:

Kuti musinthe kasinthidwe, sikoyenera kutumiza thupi lopempha mu mawonekedwe XML. Izi zitha kuchitikanso mumtundu JSON.

Kuchita izi, mwachitsanzo, mu funso Ikani kuti musinthe kasinthidwe, sinthani gulu lopempha ndi:

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

Musaiwale kusintha mitu pazida za Headers kuti:

  • Landirani ntchito/json
  • Content-Type application/json

Pambuyo potumiza, tidzapeza zotsatira zotsatirazi (Timayang'ana yankho pogwiritsa ntchito GETANI pempho):

Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab

Gawo 7: Kuwonjezera Cisco xRV9000

Kodi tonse ndife Juniper, inde Juniper? Tiye tikambirane za Cisco!
Ndinapeza xRV9000 version 7.0.2 (chirombo chomwe chimafuna 8Gb RAM ndi 4 cores. Sichikupezeka kwaulere, choncho funsani Cisco) - tiyeni tiyendetse.

Kuyendetsa chidebe

Njira yopangira chidebe cha Docker sizosiyana kwenikweni ndi Juniper. Mofananamo, timagwetsa fayilo ya .qcow2 ndi rauta mu bukhu lolingana ndi dzina lake (pankhaniyi, xrv9k) ndikuchita lamulo. make docker-image.

Patapita mphindi zochepa, tikuwona kuti chithunzicho chapangidwa:

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

Timayamba pansi:

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

Patapita kanthawi, tikuwona kuti chidebecho chayamba:

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

Lumikizani kudzera pa 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

Kulumikiza rauta ku OpenDaylight

Kuwonjezera kumachitika mofanana ndi vMX. Tingofunika kusintha mayina.
Ikani pempho:
Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab

Itanani patapita kanthawi GETANI funsani kuti muwone ngati zonse zikugwirizana:
Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab

Sinthani kasinthidwe

Tiyeni tiyike masinthidwe awa:

!
router ospf LAB
 mpls ldp auto-config
!

Tiyeni tipange POST pempho:

  1. Funso chingwe:
    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. Funsani thupi (Body tab):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. Pa tabu ya Authorization, muyenera kukhazikitsa parameter Basic Auth ndi kulowa / achinsinsi: admin/admin.
  4. Pa Headers tabu, muyenera kuwonjezera mitu iwiri:
    • Landirani ntchito/json
    • Content-Type application/json

Pambuyo pa kuphedwa kwake, ayenera kulandira "204 No Content".

Tiyeni tifufuze zomwe ife tiri nazo.
Kuti tichite izi, tidzapanga GETANI pempho:

  1. Funso chingwe:
    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. Pa tabu ya Authorization, muyenera kukhazikitsa parameter Basic Auth ndi kulowa / achinsinsi: admin/admin.

Pambuyo pakuchita, muyenera kuwona zotsatirazi:

Makina ogwiritsira ntchito maukonde kapena momwe mungamangire labotale pogwiritsa ntchito OpenDaylight, Postman ndi Vrnetlab

Kuchotsa kugwiritsa ntchito kasinthidwe DZIWANI:

  1. Funso chingwe:
    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. Pa tabu ya Authorization, muyenera kukhazikitsa parameter Basic Auth ndi kulowa / achinsinsi: admin/admin.

Pomaliza

Pazonse, monga momwe mwawonera, njira zolumikizira Cisco ndi Juniper ku OpenDaylight sizimasiyana - izi zimatsegula mwayi wambiri wopanga. Kuyambira kasamalidwe kasamalidwe ka magawo onse a netiweki ndikutha ndi kupanga ndondomeko zanu zapaintaneti.
Mu phunziro ili, ndapereka zitsanzo zosavuta kwambiri za momwe mungagwirizanitse ndi zipangizo zamakono pogwiritsa ntchito OpenDaylight. Mosakayikira, mafunso ochokera m'zitsanzo zomwe zili pamwambazi zitha kukhala zovuta kwambiri ndikukhazikitsa ntchito zonse ndikudina kamodzi pa mbewa - chilichonse chimangokhala ndi malingaliro anu *

Zipitilizidwa…

PS

Ngati mwadzidzidzi mukudziwa kale zonsezi kapena, m'malo mwake, mwadutsa ndikumira mu moyo wa ODL, ndiye ndikupangira kuyang'ana pakupanga mapulogalamu pa ODL controller. Mukhoza kuyamba kuchokera pano.

Kuyesera bwino!

Zolemba

  1. Vrnetlab: Tsanzirani maukonde pogwiritsa ntchito KVM ndi Docker /Brian Linkletter
  2. OpenDaylight Cookbook / Mathieu Lemay, Alexis de Talhouet, Et al
  3. Network Programmability ndi YANG / Benoît Claise, Loe Clarke, Jan Lindblad
  4. Kuphunzira XML, Edition Yachiwiri / Erik T. Ray
  5. Ma DevOps Othandiza / Jennifer Davis, Ryn Daniels

Source: www.habr.com

Kuwonjezera ndemanga