Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab

Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab

Yn yr erthygl hon, byddaf yn dangos i chi sut i sefydlu Golau Dydd Agored gweithio gydag offer rhwydwaith, a hefyd dangos sut i ddefnyddio Postmon ac yn syml RESTCONF ceisiadau, gellir rheoli offer hwn. Ni fyddwn yn gweithio gyda chaledwedd, ond yn hytrach byddwn yn defnyddio labordai rhithwir bach gydag un llwybrydd yn ei ddefnyddio Vrnetlab drosodd Ubuntu LTS 20.04.

Byddaf yn dangos y gosodiadau manwl yn gyntaf gan ddefnyddio'r enghraifft o lwybrydd Juniper vMX 20.1R1.11, ac yna rydym yn ei gymharu â'r gosodiad Cisco xRV9000 7.0.2.

Cynnwys

  • Gwybodaeth ofynnol
  • Rhan 1: trafod yn fyr OpenDaylight (o hyn ymlaen ODL), Postmon и Vrnetlab a pham mae eu hangen arnom
  • Rhan 2: disgrifiad o'r labordy rhithwir
  • Rhan 3: addasu Golau Dydd Agored
  • Rhan 4: addasu Vrnetlab
  • Rhan 5: trwy ddefnyddio Postmon cysylltu llwybrydd rhithwir (Juniper vMX) i ODL
  • Rhan 6: cael a newid y ffurfweddiad llwybrydd gan ddefnyddio Postmon и ODL
  • Rhan 7: ychwanegu Cisco xRV9000
  • Casgliad
  • PS
  • Llyfryddiaeth

Gwybodaeth ofynnol

Er mwyn i'r erthygl beidio â throi'n ddalen, fe wnes i hepgor rhai manylion technegol (gyda dolenni i lenyddiaeth lle gallwch chi ddarllen amdanyn nhw).

Yn y cyswllt hwn, rwy'n cynnig pynciau i chi y byddai'n dda (ond bron ddim yn angenrheidiol) eu gwybod cyn darllen:

Rhan 1: rhywfaint o ddamcaniaeth

Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab

  • Llwyfan SDN agored ar gyfer rheoli ac awtomeiddio pob math o rwydweithiau, a gefnogir gan Linux Sylfaen
  • Java y tu mewn
  • Yn seiliedig ar Lefel Tynnu Gwasanaeth a Yrrir gan Fodel (MD-SAL)
  • Yn defnyddio modelau YANG i gynhyrchu APIs RESTCONF yn awtomatig ar gyfer dyfeisiau rhwydwaith

Y prif fodiwl ar gyfer rheoli rhwydwaith. Trwyddo y byddwn yn cyfathrebu â dyfeisiau cysylltiedig. Wedi'i reoli trwy ei API ei hun.

Gallwch ddarllen mwy am OpenDaylight yma.

Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab

  • Offeryn profi API
  • Rhyngwyneb syml a hawdd ei ddefnyddio

Yn ein hachos ni, mae gennym ddiddordeb ynddo fel modd o anfon ceisiadau REST i'r OpenDaylight API. Gallwch, wrth gwrs, anfon ceisiadau â llaw, ond yn Postman mae popeth yn edrych yn glir iawn ac yn gweddu i'n dibenion yn berffaith.

I'r rhai sydd eisiau cloddio: mae llawer o ddeunyddiau hyfforddi wedi'u hysgrifennu arno (er enghraifft,).

Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab

  • Offeryn ar gyfer defnyddio llwybryddion rhithwir yn Docker
  • Yn cefnogi: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR, ac ati.
  • Ffynhonnell Agored

Offeryn diddorol iawn ond ychydig yn hysbys. Yn ein hachos ni, byddwn yn ei ddefnyddio i redeg Juniper vMX a Cisco xRV9000 ar Ubuntu 20.04 LTS rheolaidd.

Gallwch ddarllen mwy amdano yn tudalen prosiect.

Rhan 2: Lab

Yn y tiwtorial hwn, byddwn yn sefydlu'r system ganlynol:

Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab

Sut mae hwn

  • Juniper vMX yn codi i mewn Docker cynhwysydd (trwy gyfrwng Vrnetlab) ac yn gweithredu fel y llwybrydd rhithwir mwyaf cyffredin.
  • ODL wedi'i gysylltu â'r llwybrydd ac yn caniatáu ichi ei reoli.
  • Postmon ei lansio ar beiriant ar wahân a thrwyddo rydym yn anfon gorchmynion ODL: i gysylltu / dileu'r llwybrydd, newid y ffurfweddiad, ac ati.

Sylwebaeth ar ddyfais y system

Juniper vMX и ODL angen cryn dipyn o adnoddau ar gyfer eu gweithrediad sefydlog. Un yn unig vMX yn gofyn am 6 Gb o RAM a 4 craidd. Felly, penderfynwyd symud yr holl "bwysau trwm" i beiriant ar wahân (Heulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). Nid yw'r llwybrydd, wrth gwrs, yn "hedfan" arno, ond mae'r perfformiad yn ddigon ar gyfer arbrofion bach.

Rhan 3: Sefydlu OpenDaylight

Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab

Y fersiwn gyfredol o ODL ar adeg ysgrifennu hwn yw Magnesium SR1

1) Gosod Java Agored JDK 11 (ar gyfer gosodiad manylach yma)

ubuntu:~$ sudo apt install default-jdk

2) Dewch o hyd i'r adeilad diweddaraf a'i lawrlwytho ODL felly
3) Dadsipio'r archif wedi'i lawrlwytho
4) Ewch i'r cyfeiriadur canlyniadol
5) Lansio ./bin/karaf

Ar y cam hwn ODL Dylai ddechrau a byddwn yn cael ein hunain yn y consol (defnyddir Port 8181 ar gyfer mynediad o'r tu allan, y byddwn yn ei ddefnyddio yn nes ymlaen).

Nesaf, gosodwch Nodweddion ODLwedi'i gynllunio i weithio gyda phrotocolau NETCONF и RESTCONF. I wneud hyn yn y consol ODL rydym yn gweithredu:

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

Dyma'r gosodiad symlaf. ODL wedi ei gwblhau. (Am ragor o fanylion, gw yma).

Rhan 4: Sefydlu Vrnetlab

Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab

Paratoi system

Cyn ei osod Vrnetlab mae angen i chi osod y pecynnau sydd eu hangen ar gyfer ei weithrediad. Fel Docker, git, sshpass:

ubuntu:~$ sudo apt update
ubuntu:~$ sudo apt -y install python3-bs4 sshpass make
ubuntu:~$ sudo apt -y install git
ubuntu:~$ sudo apt install -y 
    apt-transport-https ca-certificates 
    curl gnupg-agent software-properties-common
ubuntu:~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
ubuntu:~$ sudo add-apt-repository 
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu 
   $(lsb_release -cs) 
   stable"
ubuntu:~$ sudo apt update
ubuntu:~$ sudo apt install -y docker-ce docker-ce-cli containerd.io

Gosod Vrnetlab

Ar gyfer gosod Vrnetlab cloniwch yr ystorfa gyfatebol o github:

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

Ewch i'r cyfeiriadur vrnetlab:

ubuntu:~$ cd ~/vrnetlab

Yma gallwch weld yr holl sgriptiau sydd eu hangen i redeg. Sylwch fod cyfeiriadur cyfatebol wedi'i wneud ar gyfer pob math o lwybrydd:

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

Creu delwedd o'r llwybrydd

Pob llwybrydd a gefnogir Vrnetlab, wedi ei weithdrefn setup unigryw ei hun. Pryd Juniper vMX Mae angen i ni uwchlwytho'r archif .tgz gyda'r llwybrydd (gallwch ei lawrlwytho o safle swyddogol) i'r cyfeiriadur vmx a rhedeg y gorchymyn make:

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

Adeiladu delwedd vMX bydd yn cymryd tua 10-20 munud. Mae'n amser mynd i gael coffi!

Pam mor hir, rydych chi'n gofyn?

Cyfieithiad ateb awdur y cwestiwn hwn:

"Mae hyn oherwydd y tro cyntaf i'r VCP (Control Plane) gael ei gychwyn, mae'n darllen ffeil config sy'n penderfynu a fydd yn rhedeg fel VCP VRR yn vMX. Yn flaenorol, gwnaed y lansiad hwn yn ystod cychwyn Docker, ond roedd hyn yn golygu bod y VCP Roedd bob amser yn ailgychwyn unwaith cyn i'r llwybrydd rhithwir ddod ar gael, gan arwain at amser cychwyn hir (tua 5 munud) Nawr mae rhediad cyntaf y VCP yn cael ei wneud yn ystod adeiladu delwedd y Dociwr, a chan na ellir rhedeg adeiladwaith y Docker gyda'r - -breintiedig opsiwn, mae hyn yn golygu bod qemu yn gweithio heb cyflymiad caledwedd KVM ac felly mae'r adeiladu yn cymryd amser hir iawn.Yn ystod y broses hon, mae llawer o logiau yn allbwn, felly o leiaf gallwch weld beth sy'n mynd ymlaen. Rwy'n meddwl adeiladu hir nid yw mor frawychus oherwydd ein bod yn creu delwedd unwaith, ond rydym yn lansio llawer."

Ar ôl gallwch weld delwedd ein llwybrydd yn 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

Lansio cynhwysydd vr-vmx

Rydym yn dechrau gyda'r gorchymyn:

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

Nesaf, gallwn weld gwybodaeth am gynwysyddion gweithredol:

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

Cysylltu â'r llwybrydd

Gellir cael cyfeiriad IP rhyngwyneb rhwydwaith y llwybrydd gyda'r gorchymyn canlynol:

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

Rhagosodiad, Vrnetlab yn creu defnyddiwr ar y llwybrydd vrnetlab/VR-netlab9.
Yn cysylltu â 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

Mae hyn yn cwblhau gosodiad y llwybrydd.

Gellir dod o hyd i argymhellion gosod ar gyfer llwybryddion amrywiol werthwyr yn prosiect github yn y cyfeirlyfrau priodol.

Rhan 5: Postmon - cysylltwch y llwybrydd i OpenDaylight

Gosodiad Postman

I osod, dim ond llwytho i lawr y cais felly.

Cysylltu llwybrydd i ODL

Gadewch i ni greu RHOI cais:

Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab

  1. Llinyn ymholiad:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Corff cais (tab Corff):
    <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. Ar y tab Awdurdodi, rhaid i chi osod y paramedr Basic Auth a mewngofnodi/cyfrinair: admin/admin. Mae hyn yn ofynnol i gael mynediad i'r ODL:
    Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab
  4. Ar y tab Penawdau, mae angen ichi ychwanegu dau bennawd:
    • Derbyn cais/xml
    • Cais Math o Gynnwys/xml

Mae ein cais wedi'i wneud. Rydym yn anfon. Os oedd popeth wedi'i ffurfweddu'n gywir, yna dylem ddychwelyd y statws "201 Created":

Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab

Beth mae'r cais hwn yn ei wneud?

Rydyn ni'n creu nod y tu mewn ODL gyda pharamedrau'r llwybrydd go iawn yr ydym am ei gyrchu.

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

Mae'r rhain yn ofodau enwau mewnol XML (gofod enw XML) ar gyfer ODL yn ol pa un y mae yn creu nôd.

Ymhellach, yn y drefn honno, enw'r llwybrydd yw nôd-id, cyfeiriad llwybrydd - llu ac yn y blaen.

Y llinell fwyaf diddorol yw'r olaf. Sgema-cache-cyfeiriadur yn creu cyfeiriadur lle mae pob ffeil yn cael ei lawrlwytho Sgema YANG llwybrydd cysylltiedig. Gallwch ddod o hyd iddynt yn $ODL_ROOT/cache/jun01_cache.

Gwirio cysylltiad y llwybrydd

Gadewch i ni greu GET cais:

  1. Llinyn ymholiad:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. Ar y tab Awdurdodi, rhaid i chi osod y paramedr Basic Auth a mewngofnodi/cyfrinair: admin/admin.

Rydym yn anfon. Dylai dderbyn statws o "200 OK" a rhestr o'r holl gefnogi gan y ddyfais Sgema YANG:

Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab

Sylw: I weld yr olaf, yn fy achos i roedd angen aros tua 10 munud ar ôl y dienyddiad RHOItan y cwbl sgema Yang dadlwytho ymlaen ODL. Hyd at y pwynt hwn, wrth berfformio hyn GET bydd yr ymholiad yn dangos y canlynol:

Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab

Dileu'r llwybrydd

Gadewch i ni greu DELETE cais:

  1. Llinyn ymholiad:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Ar y tab Awdurdodi, rhaid i chi osod y paramedr Basic Auth a mewngofnodi/cyfrinair: admin/admin.

Rhan 6: Newid cyfluniad y llwybrydd

Cael y cyfluniad

Gadewch i ni greu GET cais:

  1. Llinyn ymholiad:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. Ar y tab Awdurdodi, rhaid i chi osod y paramedr Basic Auth a mewngofnodi/cyfrinair: admin/admin.

Rydym yn anfon. Dylai dderbyn y statws "200 OK" a chyfluniad y llwybrydd:

Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab

Creu cyfluniad

Er enghraifft, gadewch i ni greu'r cyfluniad canlynol a'i addasu:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

Gadewch i ni greu SWYDD cais:

  1. Llinyn ymholiad:
    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. Corff cais (tab Corff):
    <bgp xmlns="http://yang.juniper.net/junos/conf/protocols">
    <disable/>
    <shutdown>
    </shutdown>
    </bgp>
  3. Ar y tab Awdurdodi, rhaid i chi osod y paramedr Basic Auth a mewngofnodi/cyfrinair: admin/admin.
  4. Ar y tab Penawdau, mae angen ichi ychwanegu dau bennawd:
    • Derbyn cais/xml
    • Cais Math o Gynnwys/xml

Ar ôl anfon, dylent dderbyn y statws "204 Dim Cynnwys"

I wirio bod y ffurfweddiad wedi newid, gallwch ddefnyddio'r ymholiad blaenorol. Ond er enghraifft, byddwn yn creu un arall a fydd yn dangos gwybodaeth yn unig am y protocolau sydd wedi'u ffurfweddu ar y llwybrydd.

Gadewch i ni greu GET cais:

  1. Llinyn ymholiad:
    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. Ar y tab Awdurdodi, rhaid i chi osod y paramedr Basic Auth a mewngofnodi/cyfrinair: admin/admin.

Ar ôl gweithredu'r cais, byddwn yn gweld y canlynol:

Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab

Newidiwch y cyfluniad

Gadewch i ni newid y wybodaeth am y protocol BGP. Ar ôl ein gweithredoedd, bydd yn edrych fel hyn:

protocols {
    bgp {
        disable;
    }
}

Gadewch i ni greu RHOI cais:

  1. Llinyn ymholiad:
    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. Corff cais (tab Corff):
    <protocols xmlns="http://yang.juniper.net/junos/conf/protocols">
    <bgp>
        <disable/>
    </bgp>
    </protocols>
  3. Ar y tab Awdurdodi, rhaid i chi osod y paramedr Basic Auth a mewngofnodi/cyfrinair: admin/admin.
  4. Ar y tab Penawdau, mae angen ichi ychwanegu dau bennawd:
    • Derbyn cais/xml
    • Cais Math o Gynnwys/xml

Gan ddefnyddio'r blaenorol GET cais, rydym yn gweld y newidiadau:

Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab

Dileu'r ffurfweddiad

Gadewch i ni greu DELETE cais:

  1. Llinyn ymholiad:
    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. Ar y tab Awdurdodi, rhaid i chi osod y paramedr Basic Auth a mewngofnodi/cyfrinair: admin/admin.

Wrth alw GET cais gyda gwybodaeth am y protocolau, byddwn yn gweld y canlynol:

Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab

Atodiad:

Er mwyn newid y ffurfweddiad, nid oes angen anfon y corff cais yn y fformat XML. Gellir gwneud hyn yn y fformat hefyd JSON.

I wneud hyn, er enghraifft, yn yr ymholiad RHOI i newid y cyfluniad, disodli'r corff cais gyda:

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

Peidiwch ag anghofio newid y penawdau ar y tab Penawdau i:

  • Derbyn cais/json
  • Cais Math o Gynnwys/json

Ar ôl anfon, byddwn yn cael y canlyniad canlynol (Rydym yn edrych ar yr ateb gan ddefnyddio GET cais):

Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab

Rhan 7: Ychwanegu'r Cisco xRV9000

Beth ydyn ni i gyd am Juniper, ie Juniper? Gadewch i ni siarad am Cisco!
Deuthum o hyd i fersiwn xRV9000 7.0.2 (bwystfil sydd angen 8Gb RAM a 4 cores. Nid yw ar gael yn rhwydd, felly cysylltwch â Cisco) - gadewch i ni ei redeg.

Rhedeg cynhwysydd

Nid yw'r broses o greu cynhwysydd Docker bron yn wahanol i Juniper. Yn yr un modd, rydym yn gollwng y ffeil .qcow2 gyda'r llwybrydd i'r cyfeiriadur sy'n cyfateb i'w enw (yn yr achos hwn, xrv9k) a gweithredu'r gorchymyn make docker-image.

Ar ôl ychydig funudau, gwelwn fod y ddelwedd wedi'i chreu:

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

Rydyn ni'n cychwyn y cynhwysydd:

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

Ar ôl ychydig, rydym yn edrych bod y cynhwysydd wedi dechrau:

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

Cysylltwch trwy 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

Cysylltu'r llwybrydd i OpenDaylight

Mae adio yn digwydd mewn ffordd hollol debyg i vMX. Does ond angen i ni newid yr enwau.
RHOI cais:
Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab

Galwch ar ôl ychydig GET ymholiad i wirio bod popeth wedi'i gysylltu:
Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab

Newidiwch y cyfluniad

Gadewch i ni sefydlu'r cyfluniad canlynol:

!
router ospf LAB
 mpls ldp auto-config
!

Gadewch i ni greu SWYDD cais:

  1. Llinyn ymholiad:
    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. Corff cais (tab Corff):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. Ar y tab Awdurdodi, rhaid i chi osod y paramedr Basic Auth a mewngofnodi/cyfrinair: admin/admin.
  4. Ar y tab Penawdau, mae angen ichi ychwanegu dau bennawd:
    • Derbyn cais/json
    • Cais Math o Gynnwys/json

Ar ôl ei weithredu, dylent dderbyn y statws "204 Dim Cynnwys".

Gadewch i ni wirio beth gawsom.
I wneud hyn, byddwn yn creu GET cais:

  1. Llinyn ymholiad:
    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. Ar y tab Awdurdodi, rhaid i chi osod y paramedr Basic Auth a mewngofnodi/cyfrinair: admin/admin.

Ar ôl gweithredu, dylech weld y canlynol:

Awtomeiddio gwasanaethau rhwydwaith neu sut i adeiladu labordy rhithwir gan ddefnyddio OpenDaylight, Postman a Vrnetlab

I gael gwared ar y defnydd cyfluniad DELETE:

  1. Llinyn ymholiad:
    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. Ar y tab Awdurdodi, rhaid i chi osod y paramedr Basic Auth a mewngofnodi/cyfrinair: admin/admin.

Casgliad

Yn gyfan gwbl, fel y gallech fod wedi sylwi, nid yw'r gweithdrefnau ar gyfer cysylltu Cisco a Juniper ag OpenDaylight yn wahanol - mae hyn yn agor cwmpas eithaf eang ar gyfer creadigrwydd. Gan ddechrau o reoli cyfluniad holl gydrannau'r rhwydwaith a gorffen gyda chreu eich polisïau rhwydwaith eich hun.
Yn y tiwtorial hwn, rwyf wedi rhoi'r enghreifftiau symlaf o sut y gallwch ryngweithio ag offer rhwydwaith gan ddefnyddio OpenDaylight. Heb amheuaeth, gellir gwneud yr ymholiadau o'r enghreifftiau uchod yn llawer mwy cymhleth a sefydlu gwasanaethau cyfan gydag un clic ar y llygoden - mae popeth wedi'i gyfyngu gan eich dychymyg yn unig *

I'w barhau…

PS

Os ydych chi'n sydyn yn gwybod hyn i gyd neu, i'r gwrthwyneb, wedi mynd drwodd ac wedi suddo i enaid ODL, yna rwy'n argymell edrych tuag at ddatblygu cymwysiadau ar y rheolydd ODL. Gallwch chi ddechrau felly.

Arbrofion llwyddiannus!

Cyfeiriadau

  1. Vrnetlab: Efelychu rhwydweithiau gan ddefnyddio KVM a Docker / Llythyr Cyswllt Brian
  2. Llyfr Coginio OpenDaylight / Mathieu Lemay, Alexis de Talhouet, Et al
  3. Rhaglenadwyedd Rhwydwaith gyda YANG / Benoît Claise, Loe Clarke, Jan Lindblad
  4. Dysgu XML, Ail Argraffiad / Erik T. Ray
  5. DevOps Effeithiol / Jennifer Davis, Ryn Daniels

Ffynhonnell: hab.com

Ychwanegu sylw