Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab

Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab

Ninu nkan yii, Emi yoo fihan ọ bi o ṣe le ṣeto Ṣii imọlẹ oju-ọjọ lati ṣiṣẹ pẹlu awọn ẹrọ nẹtiwọki, ati tun fihan bi o ṣe le lo Oluṣapẹẹrẹ ati ki o rọrun RESTCONF Awọn ibeere, ẹrọ yii le ṣakoso. A yoo ko ṣiṣẹ pẹlu hardware, sugbon dipo a yoo ran awọn kekere foju kaarun pẹlu kan nikan olulana lilo Vrnetlab lori Ubuntu 20.04 LTS.

Emi yoo ṣafihan awọn eto alaye ni akọkọ nipa lilo apẹẹrẹ ti olulana Juniper vMX 20.1R1.11, ati lẹhinna a ṣe afiwe rẹ pẹlu eto Cisco xRV9000 7.0.2.

Awọn akoonu

  • Imọye ti a beere
  • Apakan ti 1: jiroro ni soki Ṣiimọlẹ Oju-ọjọ (lẹhin ODL), Oluṣapẹẹrẹ и Vrnetlab ati idi ti a nilo wọn
  • Apakan ti 2: apejuwe ti awọn foju yàrá
  • Apakan ti 3: ṣe akanṣe Ṣii imọlẹ oju-ọjọ
  • Apakan ti 4: ṣe akanṣe Vrnetlab
  • Apakan ti 5: nipa lilo Oluṣapẹẹrẹ so olulana foju (Juniper vMX) si ODL
  • Apakan ti 6: gba ki o si yi olulana iṣeto ni lilo Oluṣapẹẹrẹ и ODL
  • Apakan ti 7: fi Cisco xRV9000
  • ipari
  • PS
  • Iwe akosile

Imọye ti a beere

Ni ibere fun nkan naa lati ma yipada si iwe kan, Mo fi awọn alaye imọ-ẹrọ diẹ silẹ (pẹlu awọn ọna asopọ si awọn iwe-iwe nibiti o ti le ka nipa wọn).

Ni asopọ yii, Mo fun ọ ni awọn akọle pe yoo dara (ṣugbọn kii ṣe pataki) lati mọ ṣaaju kika:

Apá 1: diẹ ninu awọn yii

Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab

  • Syeed SDN ti o ṣii fun iṣakoso ati adaṣe adaṣe gbogbo iru awọn nẹtiwọọki, ni atilẹyin nipasẹ Linux Foundation
  • Java inu
  • Da lori Ipele Abstraction Iṣẹ Awoṣe-Iwakọ (MD-SAL)
  • Nlo awọn awoṣe YANG lati ṣe ipilẹṣẹ awọn API RESTCONF laifọwọyi fun awọn ẹrọ nẹtiwọọki

Awọn ifilelẹ ti awọn module fun nẹtiwọki isakoso. O jẹ nipasẹ rẹ pe a yoo ṣe ibaraẹnisọrọ pẹlu awọn ẹrọ ti a ti sopọ. Ti ṣakoso nipasẹ API tirẹ.

O le ka diẹ sii nipa Opendaylight nibi.

Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab

  • API igbeyewo ọpa
  • Rọrun ati rọrun lati lo wiwo

Ninu ọran wa, a nifẹ ninu rẹ bi ọna fun fifiranṣẹ awọn ibeere REST si OpenDaylight API. O le, nitorinaa, firanṣẹ awọn ibeere pẹlu ọwọ, ṣugbọn ni Postman ohun gbogbo han kedere ati pe o baamu awọn idi wa ni pipe.

Fun awọn ti o fẹ lati ma wà: ọpọlọpọ awọn ohun elo ikẹkọ ti kọ lori rẹ (fun apẹẹrẹ).

Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab

  • Irinṣẹ fun imuṣiṣẹ awọn onimọ ipa-ọna ni Docker
  • Awọn atilẹyin: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR, ati bẹbẹ lọ.
  • Orisun Orisun

A gan awon sugbon kekere mọ irinse. Ninu ọran wa, a yoo lo lati ṣiṣẹ Juniper vMX ati Cisco xRV9000 lori Ubuntu 20.04 LTS deede.

O le ka diẹ sii nipa rẹ ni ise agbese iwe.

Apá 2: Lab

Ninu ikẹkọ yii, a yoo ṣeto eto atẹle naa:

Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab

Báwo ni ise yi

  • Juniper vMX ga soke ni Docker apoti (nipasẹ ọna Vrnetlab) ati awọn iṣẹ bi olulana foju wọpọ julọ.
  • ODL ti sopọ si olulana ati ki o faye gba o lati sakoso o.
  • Oluṣapẹẹrẹ ṣe ifilọlẹ lori ẹrọ lọtọ ati nipasẹ rẹ a firanṣẹ awọn aṣẹ ODL: lati sopọ / yọ olulana, yi iṣeto ni, ati be be lo.

Ọrọìwòye lori ẹrọ ti eto naa

Juniper vMX и ODL nilo awọn orisun pupọ pupọ fun iṣẹ iduroṣinṣin wọn. Ọkan nikan vMX béèrè fun 6 Gb ti Ramu ati 4 ohun kohun. Nitorinaa, o pinnu lati gbe gbogbo “awọn iwuwo iwuwo” si ẹrọ ti o yatọ (Heulet Packard Idawọlẹ MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). Olulana, dajudaju, ko "fò" lori rẹ, ṣugbọn iṣẹ naa to fun awọn idanwo kekere.

Apá 3: Ṣeto Opendaylight

Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab

Ẹya lọwọlọwọ ti ODL ni akoko kikọ yii jẹ magnẹsia SR1

1) Fi sori ẹrọ Java ṢiiJDK 11 (fun fifi sori alaye diẹ sii nibi)

ubuntu:~$ sudo apt install default-jdk

2) Wa ati ṣe igbasilẹ itumọ tuntun ODL lati ibi
3) Unzip awọn pamosi gbaa lati ayelujara
4) Lọ si awọn Abajade liana
5) Ifilọlẹ ./bin/karaf

Ni ipele yii ODL yẹ ki o bẹrẹ ati pe a yoo rii ara wa ninu console (Port 8181 ni a lo fun iwọle lati ita, eyiti a yoo lo nigbamii).

Nigbamii, fi sori ẹrọ ODL Awọn ẹya ara ẹrọti a ṣe lati ṣiṣẹ pẹlu awọn ilana NETCONF и RESTCONF. Lati ṣe eyi ni console ODL a ṣe:

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

Eyi ni iṣeto ti o rọrun julọ. ODL pari. (Fun alaye diẹ sii, wo nibi).

Apá 4: Ṣiṣeto Vrnetlab

Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab

Igbaradi eto

Ṣaaju fifi sori ẹrọ Vrnetlab o nilo lati fi sori ẹrọ awọn idii ti o nilo fun iṣẹ rẹ. Bi eleyi 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

Fifi Vrnetlab sori ẹrọ

Fun fifi sori Vrnetlab kọ ibi ipamọ ti o baamu lati github:

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

Lọ si liana vrnetlab:

ubuntu:~$ cd ~/vrnetlab

Nibi o le wo gbogbo awọn iwe afọwọkọ ti o nilo lati ṣiṣẹ. Jọwọ ṣe akiyesi pe a ti ṣe itọsọna ti o baamu fun iru olulana kọọkan:

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

Ṣẹda aworan ti olulana

Kọọkan olulana ti o ti wa ni atilẹyin Vrnetlab, ni ilana iṣeto alailẹgbẹ tirẹ. Nigbawo Juniper vMX a kan nilo lati gbe pamosi .tgz pẹlu olulana (o le ṣe igbasilẹ lati ọdọ osise ojula) si itọsọna vmx ati ṣiṣe aṣẹ naa make:

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

Ṣiṣe aworan kan vMX yoo gba nipa 10-20 iṣẹju. O to akoko lati lọ gba diẹ ninu kofi!

Kini idi ti o pẹ to, o beere?

Gbigbe idahun onkọwe si ibeere yii:

"Eyi jẹ nitori igba akọkọ ti VCP (Iṣakoso Plane) bẹrẹ, o ka faili atunto kan ti o pinnu boya yoo ṣiṣẹ bi VRR VCP ni vMX. Ni iṣaaju, ifilọlẹ yii ni a ṣe lakoko ibẹrẹ Docker, ṣugbọn eyi tumọ si pe VCP nigbagbogbo tun bẹrẹ ni ẹẹkan ṣaaju ki olulana foju di wa, Abajade ni akoko bata gigun (nipa awọn iṣẹju 5) Bayi ṣiṣe akọkọ ti VCP ti ṣe lakoko kikọ aworan Docker, ati pe nitori kọ Docker ko le ṣiṣẹ pẹlu - -aṣayan anfani, eyi tumọ si pe qemu ṣiṣẹ laisi isare ohun elo KVM ati nitorinaa kikọ naa gba akoko pipẹ pupọ. Lakoko ilana yii, ọpọlọpọ awọn akọọlẹ ti njade, nitorinaa o kere ju o le rii ohun ti n ṣẹlẹ. kii ṣe ẹru nitori pe a ṣẹda aworan ni ẹẹkan, ṣugbọn a ṣe ifilọlẹ ọpọlọpọ. ”

Lẹhin ti o le rii aworan ti olulana wa ni 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

Lọlẹ vr-vmx eiyan

A bẹrẹ pẹlu aṣẹ:

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

Nigbamii, a le rii alaye nipa awọn apoti ti nṣiṣe lọwọ:

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

Nsopọ si olulana

Adirẹsi IP ti wiwo nẹtiwọọki ti olulana le ṣee gba pẹlu aṣẹ atẹle:

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

Aiyipada, Vrnetlab ṣẹda olumulo lori olulana vrnetlab/VR-netlab9.
Nsopọ pẹlu 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

Eyi pari iṣeto olulana.

Awọn iṣeduro fifi sori ẹrọ fun awọn olulana ti awọn olutaja oriṣiriṣi ni a le rii ni github ise agbese ninu awọn oludari ilana.

Apá 5: Postman – so olulana to Opendaylight

Postman fifi sori

Lati fi sori ẹrọ, kan ṣe igbasilẹ ohun elo naa lati ibi.

Nsopọ olulana si ODL

Jẹ ká ṣẹda fi ìbéèrè:

Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab

  1. Okun ibere:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Ara beere (taabu Ara):
    <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. Lori taabu Iwe-aṣẹ, o gbọdọ ṣeto paramita naa Basic Auth ati wiwọle / ọrọigbaniwọle: admin/admin. Eyi nilo lati wọle si ODL:
    Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab
  4. Lori taabu Awọn akọle, o nilo lati ṣafikun awọn akọle meji:
    • Gba ohun elo/xml
    • Ohun elo-Iru akoonu/xml

A ti ṣe ibeere wa. A firanṣẹ. Ti ohun gbogbo ba tunto ni deede, lẹhinna a yẹ ki o pada ipo “Ṣẹda 201”:

Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab

Kini ibeere yii ṣe?

A ṣẹda ipade inu ODL pẹlu awọn paramita ti olulana gidi ti a fẹ wọle si.

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

Iwọnyi jẹ awọn aaye orukọ inu XML (Aaye orukọ XML) fun ODL gẹgẹ bi eyi ti o ṣẹda ipade.

Siwaju sii, lẹsẹsẹ, orukọ olulana jẹ ipade-id, olulana adirẹsi - ogun ati bẹbẹ lọ.

Awọn julọ awon ila ni awọn ti o kẹhin. Sito-kaṣe-liana ṣẹda liana nibiti gbogbo awọn faili ti wa ni igbasilẹ Eto YANG ti sopọ olulana. O le wa wọn ninu $ODL_ROOT/cache/jun01_cache.

Ṣiṣayẹwo asopọ ti olulana

Jẹ ká ṣẹda gba ìbéèrè:

  1. Okun ibere:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. Lori taabu Iwe-aṣẹ, o gbọdọ ṣeto paramita naa Basic Auth ati wiwọle / ọrọigbaniwọle: admin/admin.

A firanṣẹ. Yẹ ki o gba ipo ti "200 O dara" ati atokọ ti gbogbo atilẹyin nipasẹ ẹrọ naa Eto YANG:

Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab

Ọrọìwòye: Lati wo igbehin, ninu ọran mi o jẹ dandan lati duro nipa awọn iṣẹju 10 lẹhin ipaniyan fititi gbogbo Eto YANG unload lori ODL. Titi di aaye yii, nigba ṣiṣe eyi gba ibeere yoo ṣe afihan atẹle naa:

Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab

Pa olulana rẹ

Jẹ ká ṣẹda pa ìbéèrè:

  1. Okun ibere:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Lori taabu Iwe-aṣẹ, o gbọdọ ṣeto paramita naa Basic Auth ati wiwọle / ọrọigbaniwọle: admin/admin.

Apá 6: Yi olulana iṣeto ni

Ngba iṣeto ni

Jẹ ká ṣẹda gba ìbéèrè:

  1. Okun ibere:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. Lori taabu Iwe-aṣẹ, o gbọdọ ṣeto paramita naa Basic Auth ati wiwọle / ọrọigbaniwọle: admin/admin.

A firanṣẹ. Yẹ ki o gba ipo "200 O dara" ati iṣeto ni olulana:

Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab

Ṣẹda iṣeto ni

Bi apẹẹrẹ, jẹ ki a ṣẹda iṣeto ni atẹle ki o tun ṣe:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

Jẹ ká ṣẹda post ìbéèrè:

  1. Okun ibere:
    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. Ara beere (taabu Ara):
    <bgp xmlns="http://yang.juniper.net/junos/conf/protocols">
    <disable/>
    <shutdown>
    </shutdown>
    </bgp>
  3. Lori taabu Iwe-aṣẹ, o gbọdọ ṣeto paramita naa Basic Auth ati wiwọle / ọrọigbaniwọle: admin/admin.
  4. Lori taabu Awọn akọle, o nilo lati ṣafikun awọn akọle meji:
    • Gba ohun elo/xml
    • Ohun elo-Iru akoonu/xml

Lẹhin fifiranṣẹ, wọn yẹ ki o gba ipo "204 Ko si akoonu"

Lati ṣayẹwo pe atunto ti yipada, o le lo ibeere iṣaaju. Ṣugbọn fun apẹẹrẹ, a yoo ṣẹda ọkan miiran ti yoo ṣafihan alaye nikan nipa awọn ilana ti a tunto lori olulana.

Jẹ ká ṣẹda gba ìbéèrè:

  1. Okun ibere:
    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. Lori taabu Iwe-aṣẹ, o gbọdọ ṣeto paramita naa Basic Auth ati wiwọle / ọrọigbaniwọle: admin/admin.

Lẹhin ṣiṣe ibeere naa, a yoo rii atẹle naa:

Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab

Yi iṣeto ni pada

Jẹ ki a yi alaye pada nipa ilana BGP. Lẹhin awọn iṣe wa, yoo dabi eyi:

protocols {
    bgp {
        disable;
    }
}

Jẹ ká ṣẹda fi ìbéèrè:

  1. Okun ibere:
    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. Ara beere (taabu Ara):
    <protocols xmlns="http://yang.juniper.net/junos/conf/protocols">
    <bgp>
        <disable/>
    </bgp>
    </protocols>
  3. Lori taabu Iwe-aṣẹ, o gbọdọ ṣeto paramita naa Basic Auth ati wiwọle / ọrọigbaniwọle: admin/admin.
  4. Lori taabu Awọn akọle, o nilo lati ṣafikun awọn akọle meji:
    • Gba ohun elo/xml
    • Ohun elo-Iru akoonu/xml

Lilo ti tẹlẹ gba beere, a ri awọn ayipada:

Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab

Pa iṣeto ni

Jẹ ká ṣẹda pa ìbéèrè:

  1. Okun ibere:
    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. Lori taabu Iwe-aṣẹ, o gbọdọ ṣeto paramita naa Basic Auth ati wiwọle / ọrọigbaniwọle: admin/admin.

Nigbati o ba n pe gba ìbéèrè pẹlu alaye nipa awọn ilana, a yoo ri awọn wọnyi:

Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab

Afikun:

Lati le yi iṣeto pada, ko ṣe pataki lati firanṣẹ ara ibeere ni ọna kika XML. Eyi tun le ṣee ṣe ni ọna kika JSON.

Lati ṣe eyi, fun apẹẹrẹ, ninu ibeere naa fi lati yi iṣeto pada, rọpo ara ibeere pẹlu:

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

Maṣe gbagbe lati yi awọn akọle pada lori taabu Awọn akọle si:

  • Gba ohun elo / json
  • Ohun elo-Iru akoonu/json

Lẹhin fifiranṣẹ, a yoo gba abajade atẹle (A wo idahun ni lilo gba ìbéèrè):

Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab

Apá 7: Fifi Cisco xRV9000

Kini gbogbo wa nipa Juniper, bẹẹni Juniper? Jẹ ká soro nipa Cisco!
Mo ti ri xRV9000 version 7.0.2 (ẹranko kan ti o nilo 8Gb Ramu ati 4 ohun kohun. Ko si larọwọto, ki kan si Cisco) - jẹ ki a ṣiṣẹ.

Nṣiṣẹ a eiyan

Ilana ti ṣiṣẹda apoti Docker kan ko yatọ si Juniper. Bakanna, a ju faili .qcow2 silẹ pẹlu olulana sinu itọsọna ti o baamu si orukọ rẹ (ninu ọran yii, xrv9k) ati ṣiṣe aṣẹ naa make docker-image.

Lẹhin iṣẹju diẹ, a rii pe a ti ṣẹda aworan naa:

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

A bẹrẹ apoti:

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

Lẹhin igba diẹ, a rii pe eiyan naa ti bẹrẹ:

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

Sopọ nipasẹ 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

Nsopọ olulana si Opendaylight

Ṣafikun waye ni ọna ti o jọra patapata pẹlu vMX. A kan nilo lati yi awọn orukọ pada.
fi ìbéèrè:
Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab

Pe lẹhin igba diẹ gba ibeere lati ṣayẹwo pe ohun gbogbo ti sopọ:
Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab

Yi iṣeto ni pada

Jẹ ki a ṣeto iṣeto ni atẹle:

!
router ospf LAB
 mpls ldp auto-config
!

Jẹ ká ṣẹda post ìbéèrè:

  1. Okun ibere:
    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. Ara beere (taabu Ara):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. Lori taabu Iwe-aṣẹ, o gbọdọ ṣeto paramita naa Basic Auth ati wiwọle / ọrọigbaniwọle: admin/admin.
  4. Lori taabu Awọn akọle, o nilo lati ṣafikun awọn akọle meji:
    • Gba ohun elo / json
    • Ohun elo-Iru akoonu/json

Lẹhin ipaniyan rẹ, wọn yẹ ki o gba ipo “204 Ko si akoonu”.

Jẹ ki a ṣayẹwo ohun ti a ni.
Lati ṣe eyi, a yoo ṣẹda gba ìbéèrè:

  1. Okun ibere:
    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. Lori taabu Iwe-aṣẹ, o gbọdọ ṣeto paramita naa Basic Auth ati wiwọle / ọrọigbaniwọle: admin/admin.

Lẹhin ṣiṣe, o yẹ ki o wo atẹle naa:

Adaṣiṣẹ ti awọn iṣẹ nẹtiwọọki tabi bii o ṣe le kọ ile-iwosan foju kan nipa lilo OpenDaylight, Postman ati Vrnetlab

Lati yọ iṣeto ni lilo pa:

  1. Okun ibere:
    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. Lori taabu Iwe-aṣẹ, o gbọdọ ṣeto paramita naa Basic Auth ati wiwọle / ọrọigbaniwọle: admin/admin.

ipari

Lapapọ, bi o ti le ṣe akiyesi, awọn ilana fun sisopọ Sisiko ati Juniper si OpenDaylight ko yatọ - eyi ṣii aaye jakejado fun ẹda. Bibẹrẹ lati iṣakoso iṣeto ni gbogbo awọn paati nẹtiwọọki ati ipari pẹlu ṣiṣẹda awọn ilana nẹtiwọọki tirẹ.
Ninu ikẹkọ yii, Mo ti fun ni awọn apẹẹrẹ ti o rọrun julọ ti bii o ṣe le ṣe ajọṣepọ pẹlu ohun elo nẹtiwọọki nipa lilo OpenDaylight. Laisi iyemeji, awọn ibeere lati awọn apẹẹrẹ ti o wa loke le jẹ idiju pupọ ati ṣeto gbogbo awọn iṣẹ pẹlu titẹ kan ti Asin - ohun gbogbo ni opin nikan nipasẹ oju inu rẹ *

A tun ma a se ni ojo iwaju…

PS

Ti o ba ti mọ gbogbo eyi lojiji tabi, ni ilodi si, ti lọ nipasẹ ati rì sinu ẹmi ODL, lẹhinna Mo ṣeduro wiwa si awọn ohun elo idagbasoke lori oludari ODL. O le bẹrẹ lati ibi.

Awọn idanwo aṣeyọri!

Iwe itan-akọọlẹ

  1. Vrnetlab: Ṣe apẹẹrẹ awọn nẹtiwọọki nipa lilo KVM ati Docker / Brian Linkletter
  2. Ṣii Iwe Onjewiwa Oju-ọjọ / Mathieu Lemay, Alexis de Talhouet, Ati al
  3. Eto Nẹtiwọọki pẹlu YANG / Benoît Claise, Loe Clarke, Jan Lindblad
  4. Ẹkọ XML, Ẹya keji / Erik T. Ray
  5. DevOps ti o munadoko / Jennifer Davis, Ryn Daniels

orisun: www.habr.com

Fi ọrọìwòye kun