Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab

Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab

Kweli nqaku, ndiza kukubonisa indlela yokuseta ukukhanya kwemini ukusebenza ngezixhobo zenethiwekhi, kwaye ubonise nendlela yokusebenzisa Iposi kwaye ilula RESTCONF izicelo, esi sixhobo sinokulawulwa. Asiyi kusebenza ngehardware, kodwa endaweni yoko siya kusebenzisa iilabhoratri ezincinci ezinendlela enye Vrnetlab ngaphaya Ubuntu 20.04 LTS.

Ndiza kubonisa useto oluneenkcukacha kuqala usebenzisa umzekelo we-router Ijunipha vMX 20.1R1.11, kwaye emva koko siyithelekisa kunye nendawo Cisco xRV9000 7.0.2.

Iziqulatho

  • Ulwazi olufunekayo
  • Inxalenye ye1: xubusha ngokufutshane I-OpenDaylight (emva koku I-ODL), Iposi и Vrnetlab kwaye kutheni sizidinga
  • Inxalenye ye2: Inkcazo yelabhoratri ebonakalayo
  • Inxalenye ye3: yenza ngokwezifiso ukukhanya kwemini
  • Inxalenye ye4: yenza ngokwezifiso Vrnetlab
  • Inxalenye ye5: ngokusebenzisa Iposi qhagamshela irutha enenyani (Ijunipha vMX) Ukuya I-ODL
  • Inxalenye ye6: fumana kwaye utshintshe uqwalaselo lwe-router usebenzisa Iposi и I-ODL
  • Inxalenye ye7: yongeza iCisco xRV9000
  • isiphelo
  • PS
  • Uluhlu lweencwadi

Ulwazi olufunekayo

Ukuze inqaku lingajiki libe kwiphepha, ndishiye ezinye iinkcukacha zobuchwepheshe (kunye namakhonkco kuncwadi apho unokufunda malunga nabo).

Kolu qhagamshelwano, ndikunika izihloko eziya kulunga (kodwa phantse akukho mfuneko) ukuba wazi ngaphambi kokufunda:

Icandelo 1: ithiyori ethile

Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab

  • Iqonga elivulekileyo le-SDN lokulawula kunye nokwenza ngokuzenzekelayo zonke iintlobo zothungelwano, ezixhaswa ngu Linux Foundation
  • Java ngaphakathi
  • Ngokusekwe kwiModel-Driven Service Abstraction Level (MD-SAL)
  • Isebenzisa imifuziselo ye-YANG ukuvelisa ngokuzenzekelayo ii-RESTCONF APIs kwizixhobo zenethiwekhi

Imodyuli ephambili yolawulo lwenethiwekhi. Yiyo apho siya kunxibelelana nezixhobo ezixhunyiwe. Ilawulwa nge-API yayo.

Unokufunda ngakumbi malunga ne-OpenDaylight apha.

Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab

  • Isixhobo sokuvavanya i-API
  • Ilula kwaye kulula ukuyisebenzisa interface

Kwimeko yethu, sinomdla kuyo njengendlela yokuthumela izicelo ze-REST kwi-OpenDaylight API. Unako, ngokuqinisekileyo, ukuthumela izicelo ngesandla, kodwa kwi-Postman yonke into ibonakala icacile kwaye ihambelana neenjongo zethu ngokugqibeleleyo.

Kwabo bafuna ukumba: zininzi izinto zoqeqesho ezibhalwe kuyo (umzekelo).

Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab

  • Isixhobo sokuthumela iirotha ezibonakalayo kwiDocker
  • Ixhasa: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR, njl.
  • Vula Umnikezi

Isixhobo esinomdla kakhulu kodwa esincinci esaziwayo. Kwimeko yethu, siya kuyisebenzisa ukuqhuba iJuniper vMX kunye neCisco xRV9000 kwi-Ubuntu 20.04 LTS eqhelekileyo.

Unokufunda ngakumbi ngayo apha iphepha leprojekthi.

Icandelo 2: ILebhu

Kule tutorial, siya kuseka le nkqubo ilandelayo:

Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab

ntoni lo msebenzi

  • Ijunipha vMX iphakama phakathi Docker isikhongozeli (ngendlela Vrnetlab) kwaye isebenza njengeyona ndlela ixhaphakileyo yerouter.
  • I-ODL iqhagamshelwe kwi-router kwaye ikuvumela ukuba uyilawule.
  • Iposi iqaliswe kumatshini owahlukileyo kwaye ngayo sithumela imiyalelo I-ODL: ukudibanisa / ukususa i-router, ukutshintsha uqwalaselo, njl.

Inkcazo kwisixhobo senkqubo

Ijunipha vMX и I-ODL zifuna izibonelelo ezininzi kakhulu ekusebenzeni kwazo okuzinzileyo. Inye kuphela vMX icela i-6 Gb ye-RAM kunye ne-4 cores. Ngoko ke, kwagqitywa ukuba kuhanjiswe zonke "iinzima" kumatshini owahlukileyo (IHeulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). I-router, ngokuqinisekileyo, "ayibhabhi" kuyo, kodwa ukusebenza kwanele kwiimvavanyo ezincinci.

Icandelo 3: Misela i-OpenDaylight

Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab

Inguqulelo yangoku ye-ODL ngexesha lokubhala yiMagnesium SR1

1) Faka IJava OpenJDK 11 (ukufumana ukufakela okuneenkcukacha apha)

ubuntu:~$ sudo apt install default-jdk

2) Fumana kwaye ukhuphele ukwakhiwa kwamva nje I-ODL kusuka apha
3) Vula ifayile ekhutshelweyo ekhutshelweyo
4) Yiya kuluhlu lweziphumo
5) Qalisa ./bin/karaf

Kweli nqanaba I-ODL kufuneka siqale kwaye siya kuzifumana sikwi-console (I-Port 8181 isetyenziselwa ukufikelela ngaphandle, esiya kuyisebenzisa kamva).

Okulandelayo, hlohla Iimpawu ze-ODLyenzelwe ukusebenza ngeeprothokholi I-NETCONF и RESTCONF. Ukwenza oku kwi-console I-ODL siphumeza:

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

Olu lolona lungiselelo lulula. I-ODL igqityiwe. (Ukufumana iinkcukacha ezithe vetshe, bona apha).

Icandelo 4: Ukumisela iVrnetlab

Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab

Ukulungiselela inkqubo

Ngaphambi kokufakwa Vrnetlab kufuneka ufake iipakethe ezifunekayo ekusebenzeni kwayo. Njenge Docker, yiya, 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

Kuhlohlwa iVrnetlab

Yofakelo Vrnetlab Cola indawo yokugcina ehambelana nayo kwi-github:

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

Yiya kulawulo vrnetlab:

ubuntu:~$ cd ~/vrnetlab

Apha unokubona zonke izikripthi ezifunekayo ukuze usebenze. Nceda uqaphele ukuba uluhlu oluhambelanayo lwenziwe kuhlobo ngalunye lwe-router:

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

Yenza umfanekiso we-router

Umzila ngamnye oxhaswayo Vrnetlab, inenkqubo yayo yokuseta eyodwa. Nini Ijunipha vMX sifuna nje ukulayisha i-.tgz yokugcina kunye ne-router (ungayikhuphela kuyo indawo esemthethweni) kulawulo lwe-vmx kwaye usebenzise umyalelo make:

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

Ukwakha umfanekiso vMX kuya kuthatha malunga nemizuzu eyi-10-20. Lixesha lokuba uyokuthatha ikofu!

Kutheni ixesha elide kangaka, ubuza?

Inguqulelo mpendulo umbhali kulo mbuzo:

"Oku kungenxa yokuba okokuqala i-VCP (iPlane yokulawula) iqalwa, ifunda ifayile yoqwalaselo egqiba ukuba iya kuqhuba njengeVRR VCP kwi-vMX. Ngaphambili, oku kuqaliswa kwenziwa ngexesha lokuqalisa i-Docker, kodwa oku kuthetha ukuba i-VCP yayisoloko iqalwa kwakhona kanye ngaphambi kokuba i-router ebonakalayo ifumaneke, ibangele ixesha elide lokuqalisa (malunga nemizuzu emi-5) Ngoku ukubaleka kokuqala kwe-VCP kwenziwa ngexesha lokwakhiwa komfanekiso we-Docker, kwaye ekubeni i-Docker yokwakha ayinakuqhutywa nge - -inketho enelungelo, oku kuthetha ukuba iqemu isebenza ngaphandle kwe-KVM yokukhawulezisa i-hardware kwaye ngoko ke ukwakhiwa kuthatha ixesha elide kakhulu.Ngexesha le nkqubo, ezininzi iilogi ziphuma, ngoko ke ungabona ukuba kuqhubeka ntoni.Ndicinga ukuba ukwakhiwa okude Ayoyiki kangako kuba sidala umfanekiso kube kanye, kodwa sazisa uninzi. "

Emva kokubona umfanekiso werouter yethu kwi 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

Qalisa isikhongozeli se-vr-vmx

Siqala ngomyalelo:

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

Okulandelayo, sinokubona ulwazi malunga nezikhongozeli ezisebenzayo:

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

Ukuqhagamshela kwi-router

Idilesi ye-IP yojongano lwenethiwekhi ye-router inokufumaneka ngalo myalelo ulandelayo:

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

Ukungagqibeki, Vrnetlab yenza umsebenzisi kwi-router vrnetlab/VR-netlab9.
Ukudibanisa ne 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

Oku kugqiba ukuseta i-router.

Iingcebiso zokufakela iirotha zabathengisi abahlukeneyo zinokufumaneka github iprojekthi kuluhlu lwabalawuli.

Icandelo 5: I-Postman - qhagamshela i-router kwi-OpenDaylight

Ukufakwa kwe-postman

Ukufakela, khuphela nje usetyenziso kusuka apha.

Ukuqhagamshela i-router kwi-ODL

Masidale BENZE isicelo:

Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab

  1. Umtya wombuzo:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Umzimba wesicelo (ithebhu yomzimba):
    <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. Kwi-tab yoGunyaziso, kufuneka usete iparameter Basic Auth kunye nokungena/igama lokugqitha: admin/admin. Oku kuyafuneka ukufikelela kwi-ODL:
    Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab
  4. Kwi-Header thebhu, kufuneka udibanise iiheader ezimbini:
    • Yamkela isicelo/xml
    • Isiqulatho-Uhlobo lwesicelo/xml

Isicelo sethu senziwe. Siyathumela. Ukuba yonke into ilungiswe ngokuchanekileyo, ngoko ke kufuneka sibuyisele isimo "201 Yadalwa":

Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab

Senza ntoni esi sicelo?

Senza i-node ngaphakathi I-ODL ngeeparamitha zerouter yokwenyani esifuna ukufikelela kuyo.

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

Ezi zizithuba zamagama zangaphakathi XML (Isithuba segama se-XML) I-ODL ngokwendlela eyenza ngayo i-node.

Ukuqhubela phambili, ngokulandelelanayo, igama le-router yi node-id, idilesi yerouter - umkhosi njalo njalo.

Umgca onomdla kakhulu ngowokugqibela. Schema-cache-directory yenza uvimba weefayili apho zonke iifayile zikhutshelwa khona YANG Schema i-router edibeneyo. Ungazifumana ngaphakathi $ODL_ROOT/cache/jun01_cache.

Ukujonga unxibelelwano lwe-router

Masidale GET isicelo:

  1. Umtya wombuzo:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. Kwi-tab yoGunyaziso, kufuneka usete iparameter Basic Auth kunye nokungena/igama lokugqitha: admin/admin.

Siyathumela. Kufuneka ufumane imo ethi "200 OK" kunye noluhlu lwabo bonke abaxhaswa sisixhobo YANG Schema:

Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab

Inkcazo: Ukubona okokugqibela, kwimeko yam kwakuyimfuneko ukulinda malunga nemizuzu eyi-10 emva kokubulawa BENZEkude kube konke Isicwangciso seYANG khulula ukhuphe I-ODL. Ukuza kuthi ga ngoku, xa usenza oku GET umbuzo uya kubonisa oku kulandelayo:

Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab

Cima umzila

Masidale SUSA isicelo:

  1. Umtya wombuzo:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Kwi-tab yoGunyaziso, kufuneka usete iparameter Basic Auth kunye nokungena/igama lokugqitha: admin/admin.

Icandelo 6: Guqula uqwalaselo lwe-router

Ukufumana ubumbeko

Masidale GET isicelo:

  1. Umtya wombuzo:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. Kwi-tab yoGunyaziso, kufuneka usete iparameter Basic Auth kunye nokungena/igama lokugqitha: admin/admin.

Siyathumela. Kufuneka ufumane isimo "200 OK" kunye nolungiselelo lwe-router:

Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab

Yenza uqwalaselo

Njengomzekelo, masenze olu lungelelwaniso lulandelayo kwaye silulungise:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

Masidale POST isicelo:

  1. Umtya wombuzo:
    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. Umzimba wesicelo (ithebhu yomzimba):
    <bgp xmlns="http://yang.juniper.net/junos/conf/protocols">
    <disable/>
    <shutdown>
    </shutdown>
    </bgp>
  3. Kwi-tab yoGunyaziso, kufuneka usete iparameter Basic Auth kunye nokungena/igama lokugqitha: admin/admin.
  4. Kwi-Header thebhu, kufuneka udibanise iiheader ezimbini:
    • Yamkela isicelo/xml
    • Isiqulatho-Uhlobo lwesicelo/xml

Emva kokuthumela, kufuneka bafumane isimo "204 Akukho Umxholo"

Ukukhangela ukuba uqwalaselo lutshintshile, ungasebenzisa umbuzo odlulileyo. Kodwa umzekelo, siya kudala enye eya kubonisa ulwazi kuphela malunga neeprotocol ezilungiselelwe kwi-router.

Masidale GET isicelo:

  1. Umtya wombuzo:
    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. Kwi-tab yoGunyaziso, kufuneka usete iparameter Basic Auth kunye nokungena/igama lokugqitha: admin/admin.

Emva kokwenza isicelo, siya kubona oku kulandelayo:

Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab

Guqula ubumbeko

Masitshintshe ulwazi malunga neprotocol yeBGP. Emva kwezenzo zethu, iya kujongeka ngolu hlobo:

protocols {
    bgp {
        disable;
    }
}

Masidale BENZE isicelo:

  1. Umtya wombuzo:
    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. Umzimba wesicelo (ithebhu yomzimba):
    <protocols xmlns="http://yang.juniper.net/junos/conf/protocols">
    <bgp>
        <disable/>
    </bgp>
    </protocols>
  3. Kwi-tab yoGunyaziso, kufuneka usete iparameter Basic Auth kunye nokungena/igama lokugqitha: admin/admin.
  4. Kwi-Header thebhu, kufuneka udibanise iiheader ezimbini:
    • Yamkela isicelo/xml
    • Isiqulatho-Uhlobo lwesicelo/xml

Ukusebenzisa yangaphambili GET isicelo, sibona utshintsho:

Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab

Cima ubumbeko

Masidale SUSA isicelo:

  1. Umtya wombuzo:
    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. Kwi-tab yoGunyaziso, kufuneka usete iparameter Basic Auth kunye nokungena/igama lokugqitha: admin/admin.

Xa ufowuna GET isicelo ngolwazi malunga neeprothokholi, siya kubona oku kulandelayo:

Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab

Ukongezwa:

Ukuze utshintshe ukucwangciswa, akuyimfuneko ukuthumela umzimba wesicelo kwifomathi XML. Oku kunokwenziwa nangefomathi JSON.

Ukwenza oku, umzekelo, kumbuzo BENZE ukutshintsha uqwalaselo, buyisela umzimba wesicelo nge:

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

Ungalibali ukutshintsha iiheader kwi-Header tab ukuze:

  • Yamkela isicelo/json
  • Isiqulatho-Uhlobo lwesicelo/json

Emva kokuthumela, siya kufumana umphumo olandelayo (Sijonga impendulo sisebenzisa GET isicelo):

Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab

Icandelo 7: Ukongeza iCisco xRV9000

Siyintoni sonke ngeJuniper, ewe Juniper? Makhe sithethe ngoCisco!
Ndifumene i-xRV9000 version 7.0.2 (irhamncwa elidinga i-8Gb RAM kunye ne-4 cores. Ayifumaneki ngokukhululekileyo, ngoko qhagamshelana ServerAdmin) - masiyiqhube.

Ukuqhuba isikhongozeli

Inkqubo yokwenza isikhongozeli seDocker ayifani neze neJuniper. Ngokufanayo, siwisa ifayile .qcow2 kunye nomzila kwi-directory ehambelana negama layo (kule meko, xrv9k) kwaye wenze umyalelo. make docker-image.

Emva kwemizuzu embalwa, sibona ukuba umfanekiso udaliwe:

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

Siqala i-container:

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

Emva kwexesha, sijonge ukuba isikhongozeli siqalile:

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

Qhagamshelana nge-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

Ukuqhagamshela umzila kwi-OpenDaylight

Ukongeza kwenzeka ngendlela efanayo ngokupheleleyo nge-vMX. Kufuneka nje sitshintshe amagama.
BENZE isicelo:
Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab

Fowuna emva kwethuba GET buza ukujonga ukuba yonke into iqhagamshelwe:
Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab

Guqula ubumbeko

Masisete olu lungelelwaniso lulandelayo:

!
router ospf LAB
 mpls ldp auto-config
!

Masidale POST isicelo:

  1. Umtya wombuzo:
    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. Umzimba wesicelo (ithebhu yomzimba):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. Kwi-tab yoGunyaziso, kufuneka usete iparameter Basic Auth kunye nokungena/igama lokugqitha: admin/admin.
  4. Kwi-Header thebhu, kufuneka udibanise iiheader ezimbini:
    • Yamkela isicelo/json
    • Isiqulatho-Uhlobo lwesicelo/json

Emva kokuphunyezwa kwayo, kufuneka bafumane isimo "204 Akukho Umxholo".

Masijonge into esinayo.
Ukwenza oku, siya kudala GET isicelo:

  1. Umtya wombuzo:
    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. Kwi-tab yoGunyaziso, kufuneka usete iparameter Basic Auth kunye nokungena/igama lokugqitha: admin/admin.

Emva kokwenza, kufuneka ubone oku kulandelayo:

Ukuzenzekela kweenkonzo zenethiwekhi okanye indlela yokwakha ilabhoratri ebonakalayo usebenzisa i-OpenDaylight, iPostman kunye neVrnetlab

Ukususa ukusetyenziswa kobumbeko SUSA:

  1. Umtya wombuzo:
    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. Kwi-tab yoGunyaziso, kufuneka usete iparameter Basic Auth kunye nokungena/igama lokugqitha: admin/admin.

isiphelo

Lilonke, njengoko usenokuba uqaphele, iinkqubo zokuqhagamshela iCisco kunye neJuniper kwi-OpenDaylight azahlukanga- oku kuvula indawo ebanzi yokuyila. Ukuqala kulawulo loqwalaselo lwawo onke amacandelo othungelwano kwaye uphele ngokuyilwa kwemigaqo-nkqubo yakho yenethiwekhi.
Kule tutorial, ndinike eyona mizekelo ilula yendlela onokunxibelelana ngayo nezixhobo zenethiwekhi usebenzisa i-OpenDaylight. Ngaphandle kwamathandabuzo, imibuzo evela kule mizekelo ingentla inokwenziwa intsonkothe ​​ngakumbi kwaye icwangcise iinkonzo ezipheleleyo ngonqakrazo olunye lwemouse - yonke into inqanyulwe kuphela yintelekelelo yakho *

Iza kuqhubeka…

PS

Ukuba ngequbuliso sele uyazi yonke le nto okanye, ngokuchaseneyo, uye wadlula kwaye watshona emphefumlweni we-ODL, ke ndincoma ukujonga ekuphuhliseni izicelo kumlawuli we-ODL. Ungaqalisa kusuka apha.

Imifuniselo eyimpumelelo!

Izalathiso

  1. I-Vrnetlab: Lingisa uthungelwano usebenzisa i-KVM kunye neDocker / UBrian Linkletter
  2. OpenDaylight Cookbook / Mathieu Lemay, Alexis de Talhouet, Et al
  3. INkqubo yokuLungiselela iNethiwekhi kunye noYANG / Benoît Claise, uLoe Clarke, uJan Lindblad
  4. Ukufunda i-XML, uHlelo lweSibini / u-Erik T. Ray
  5. I-DevOps esebenzayo / uJennifer Davis, uRyn Daniels

umthombo: www.habr.com

Yongeza izimvo