Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab

Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab

N'isiokwu a, m ga-egosi gị otu esi edozi Mepee ìhè ụbọchị iji ngwa netwọk rụọ ọrụ, ma gosikwa otu esi eji Postman na mfe RESTCONF Arịrịọ, akụrụngwa a nwere ike ịchịkwa. Anyị agaghị arụ ọrụ na ngwaike, mana kama anyị ga-ebuga obere ụlọ nyocha nke nwere otu rawụta na-eji Vrnetlab gafere Ubuntu 20.04 LTS.

M ga-ebu ụzọ gosi ntọala zuru ezu site na iji ihe atụ nke rawụta Juniper vMX 20.1R1.11, wee jiri ya tụnyere ntọala ahụ Cisco xRV9000 7.0.2.

Ihe

  • Ihe omuma achọrọ
  • Part 1: tụlee nkenke Opendaylight (nke a gachara ODL), Postman и Vrnetlab na gịnị mere anyị ji chọọ ha
  • Part 2: nkọwa nke mebere laabu
  • Part 3: hazie Mepee ìhè ụbọchị
  • Part 4: hazie Vrnetlab
  • Part 5: site n'iji Postman jikọọ rawụta mebere (Juniper vMX) Iji ODL
  • Part 6: nweta ma gbanwee nhazi nke rawụta site na iji Postman и ODL
  • Part 7: tinye Cisco xRV9000
  • nkwubi
  • PS
  • Akwụkwọ akụkọ

Ihe omuma achọrọ

Ka akụkọ ahụ wee ghara ịghọ mpempe akwụkwọ, ewepụrụ m ụfọdụ nkọwa teknụzụ (nwere njikọ na akwụkwọ ndị ị nwere ike ịgụ banyere ha).

Na njikọ a, m na-enye gị isiokwu na ọ ga-adị mma (ma ọ fọrọ nke nta ka ọ bụrụ na ọ dịghị mkpa) ịmara tupu ị gụọ:

Nkebi nke 1: ụfọdụ tiori

Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab

  • Igwe okwu SDN mepere emepe maka ijikwa yana akpaaka ụdị netwọkụ niile, nke na-akwado Linux Foundation
  • Java n'ime
  • Dabere n'ọkwa Abstraction Ọrụ Model-Driven (MD-SAL)
  • Na-eji ụdị YANG iji mepụta RESTCONF API maka ngwaọrụ netwọkụ na-akpaghị aka

Isi modul maka njikwa netwọkụ. Ọ bụ site na ya ka anyị ga-ekwurịta okwu na ngwaọrụ ejikọrọ. Ejikwa ya site na API nke ya.

Ị nwere ike ịgụkwu gbasara OpenDaylight ebe a.

Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab

  • Ngwa nyocha API
  • Mfe na mfe iji interface

N'ọnọdụ anyị, anyị nwere mmasị na ya dịka ụzọ maka izipu arịrịọ REST na OpenDaylight API. Ị nwere ike, n'ezie, iji aka gị ziga arịrịọ, mana na Postman ihe niile na-ele anya nke ọma ma dabara na ebumnuche anyị nke ọma.

Maka ndị na-achọ igwu ala: e dewo ọtụtụ ihe ọzụzụ na ya (dịka ọmụmaatụ).

Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab

  • Ngwa maka ibugharị ndị na-anya ụgbọ ala na Docker
  • Na-akwado: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR, wdg.
  • Isi Iyi

Ngwá ọrụ na-adọrọ nnọọ mmasị mana obere ama ama. N'ọnọdụ anyị, anyị ga-eji ya na-agba Juniper vMX na Cisco xRV9000 na Ubuntu 20.04 LTS mgbe niile.

Ị nwere ike ịgụkwu gbasara ya na ibe oru ngo.

Akụkụ 2: Lab

N'ime nkuzi a, anyị ga-edozi usoro ndị a:

Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab

Olee otú nke a na-arụ ọrụ

  • Juniper vMX na-ebili na Docker akpa (site n'aka Vrnetlab) ma na-arụ ọrụ dị ka onye rawụta mebere nke ọma.
  • ODL jikọọ na rawụta ma na-enye gị ohere ijikwa ya.
  • Postman ulo oru na a iche iche igwe na site na ya anyị na-eziga iwu ODL: iji jikọọ / wepụ rawụta, gbanwee nhazi, wdg.

Nkọwa na ngwaọrụ nke usoro

Juniper vMX и ODL chọrọ nnukwu ego maka ịrụ ọrụ kwụsiri ike. Otu naanị vMX na-arịọ maka 6 GB nke RAM na 4 cores. Ya mere, e kpebiri ịkwaga "ihe dị arọ" niile na igwe dị iche (Heulet Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). Onye rawụta, n'ezie, anaghị "efe efe" na ya, mana arụmọrụ zuru oke maka obere nnwale.

Akụkụ 3: Tọọ Opendaylight

Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab

Ụdị ODL dị ugbu a n'oge edere bụ Magnesium SR1

1) Wụnye Java mepere JDK 11 (maka nrụnye zuru oke ebe a)

ubuntu:~$ sudo apt install default-jdk

2) Chọta wee budata ihe owuwu kacha ọhụrụ ODL site n'ebe a
3) Mepee ebe nchekwa ebudatara
4) Gaa na ndekọ ndekọ nke ga-apụta
5) Mwepụta ./bin/karaf

Na nzọụkwụ a ODL kwesịrị ịmalite na anyị ga-ahụ onwe anyị na njikwa (Port 8181 na-eji maka ịnweta site n'èzí, nke anyị ga-eji emechaa).

Na-esote, wụnye Njirimara ODLemebere ka ọ rụọ ọrụ na protocol NETCONF и RESTCONF. Iji mee nke a na console ODL anyị na-eme:

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

Nke a bụ nhazi kachasị mfe. ODL emechara. (Maka nkọwa ndị ọzọ, lee ebe a).

Akụkụ 4: Ịtọlite ​​​​Vrnetlab

Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab

Nkwadebe usoro

Tupu echichi Vrnetlab ịkwesịrị ịwụnye ngwugwu achọrọ maka ọrụ ya. Dị ka Docker, gaa, obia:

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

Ịwụnye Vrnetlab

Maka echichi Vrnetlab Mechie ebe nchekwa kwekọrọ na github:

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

Gaa na ndekọ vrnetlab:

ubuntu:~$ cd ~/vrnetlab

N'ebe a ị nwere ike ịhụ edemede niile achọrọ iji na-agba ọsọ. Biko mara na e meela akwụkwọ ndekọ aha kwekọrọ maka ụdị router ọ bụla:

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

Mepụta onyonyo nke rawụta

Onye ọ bụla rawụta na-akwado Vrnetlab, nwere usoro nhazi nke ya pụrụ iche. Mgbe ole Juniper vMX naanị anyị kwesịrị ibulite .tgz Archive na rawụta (ị nwere ike ibudata ya na ukara saịtị) gaa na vmx ndekọ ma mee iwu ahụ make:

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

Iwulite onyonyo vMX ga-ewe ihe dị ka 10-20 nkeji. Ọ bụ oge ịga nweta kọfị!

Gịnị mere ogologo oge, ị na-ajụ?

Ntughari azịza onye dere ajụjụ a:

"Nke a bụ n'ihi na oge mbụ VCP (Control Plane) malitere, ọ na-agụ faịlụ nhazi nke na-ekpebi ma ọ ga-agba ọsọ dị ka VRR VCP na vMX. Na mbụ, a na-eme mmalite a n'oge mmalite Docker, ma nke a pụtara na VCP. A na-amaliteghachi mgbe niile otu ugboro tupu onye rawụta mebere adị, na-ebute ogologo oge buut (ihe dị ka nkeji 5) Ugbu a, a na-eme ọsọ mbụ nke VCP n'oge a na-ewu ihe onyonyo Docker, yana ebe ọ bụ na enweghị ike iji ya rụọ ọrụ Docker. nhọrọ -privileged, nke a pụtara na qemu na-arụ ọrụ na-enweghị ngwa ngwa KVM ngwaike ma si otú a na-ewu ụlọ na-ewe ogologo oge. N'oge usoro a, a na-emepụta ọtụtụ ndekọ ndekọ, ya mere ọ dịkarịa ala ị nwere ike ịhụ ihe na-eme. Ọ bụghị egwu n'ihi na anyị na-emepụta ihe oyiyi otu ugboro, mana anyị na-ebupụta ọtụtụ."

Mgbe ị ga-ahụ foto nke router anyị 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

Ẹkedori akpa vr-vmx

Anyị na-amalite na iwu:

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

Na-esote, anyị nwere ike ịhụ ozi gbasara arịa na-arụ ọrụ:

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

Jikọọ na rawụta

Enwere ike nweta adreesị IP nke interface netwọk nke rawụta site na iwu a:

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

Ndabere, Vrnetlab na-emepụta onye ọrụ na rawụta vrnetlab/VR-netlab9.
Jikọọ na 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

Nke a na-emecha ntọala rawụta.

Enwere ike ịchọta ndụmọdụ ntinye maka ndị na-anya ụgbọ ala nke ndị na-ere ahịa dị iche iche na github oru ngo n'ime akwụkwọ ndekọ aha dị iche iche.

Nkebi 5: Onye nzi ozi-jikọọ rawụta na OpenDaylight

Ntinye akwụkwọ ozi

Iji wụnye, dị nnọọ budata ngwa site n'ebe a.

Ijikọ rawụta na ODL

Ka anyị mepụta Tinye arịrịọ:

Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab

  1. eriri ajụjụ:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Arịrịọ arịrịọ (taabụ ahụ):
    <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. Na taabụ ikike, ị ga-edozi oke Basic Auth na nbanye / paswọọdụ: admin/admin. Nke a chọrọ iji nweta ODL:
    Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab
  4. Na taabụ nkụnye eji isi mee, ịkwesịrị ịgbakwunye nkụnye eji isi mee abụọ:
    • Nabata ngwa/xml
    • Ngwa ụdị ọdịnaya/xml

Arịrịọ anyị. Anyị na-eziga. Ọ bụrụ na ahaziri ihe niile n'ụzọ ziri ezi, mgbe ahụ anyị kwesịrị iweghachi ọnọdụ "201 Kere":

Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab

Gịnị ka arịrịọ a na-eme?

Anyị na-emepụta ọnụ n'ime ODL na paramita nke ezigbo rawụta anyị chọrọ ịnweta.

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

Ndị a bụ oghere aha dị n'ime XML (Oghere aha XML) maka ODL dị ka nke ọ na-emepụta ọnụ.

Ọzọkwa, n'otu n'otu, aha nke rawụta bụ ọnụ-id, adreesị rawụta - usu na ndị ọzọ.

Ahịrị kacha adọrọ mmasị bụ nke ikpeazụ. Schema-cache-ndekọ na-emepụta ndekọ ebe ebudatara faịlụ niile Atụmatụ YANG ejikọrọ rawụta. Ị nwere ike ịhụ ha n'ime $ODL_ROOT/cache/jun01_cache.

Na-enyocha njikọ nke rawụta

Ka anyị mepụta GET arịrịọ:

  1. eriri ajụjụ:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. Na taabụ ikike, ị ga-edozi oke Basic Auth na nbanye / paswọọdụ: admin/admin.

Anyị na-eziga. Kwesịrị ịnata ọkwa nke "200 OK" yana ndepụta ngwaọrụ niile kwadoro Atụmatụ YANG:

Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab

comment: Iji hụ nke ikpeazụ, n'ọnọdụ m, ọ dị mkpa ichere ihe dị ka nkeji 10 mgbe e gbuchara ya Tinyeruo mgbe niile YANG atụmatụ budata na ODL. Ruo ebe a, mgbe ị na-eme nke a GET ajụjụ ga-egosipụta ihe ndị a:

Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab

Hichapụ rawụta

Ka anyị mepụta Gbanyụọ arịrịọ:

  1. eriri ajụjụ:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Na taabụ ikike, ị ga-edozi oke Basic Auth na nbanye / paswọọdụ: admin/admin.

Nkebi nke 6: Gbanwee nhazi nke rawụta

Inweta nhazi

Ka anyị mepụta GET arịrịọ:

  1. eriri ajụjụ:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. Na taabụ ikike, ị ga-edozi oke Basic Auth na nbanye / paswọọdụ: admin/admin.

Anyị na-eziga. Kwesịrị ịnata ọkwa "200 OK" na nhazi nke rawụta:

Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab

Mepụta nhazi

Dịka ọmụmaatụ, ka anyị mepụta nhazi ndị a wee gbanwee ya:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

Ka anyị mepụta POST arịrịọ:

  1. eriri ajụjụ:
    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. Arịrịọ arịrịọ (taabụ ahụ):
    <bgp xmlns="http://yang.juniper.net/junos/conf/protocols">
    <disable/>
    <shutdown>
    </shutdown>
    </bgp>
  3. Na taabụ ikike, ị ga-edozi oke Basic Auth na nbanye / paswọọdụ: admin/admin.
  4. Na taabụ nkụnye eji isi mee, ịkwesịrị ịgbakwunye nkụnye eji isi mee abụọ:
    • Nabata ngwa/xml
    • Ngwa ụdị ọdịnaya/xml

Mgbe ha zigachara, ha kwesịrị ịnata ọkwa "204 enweghị ọdịnaya"

Iji lelee na nhazi ahụ agbanweela, ịnwere ike iji ajụjụ gara aga. Mana dịka ọmụmaatụ, anyị ga-emepụta nke ọzọ nke ga-egosipụta ozi naanị gbasara protocol ahaziri na rawụta.

Ka anyị mepụta GET arịrịọ:

  1. eriri ajụjụ:
    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. Na taabụ ikike, ị ga-edozi oke Basic Auth na nbanye / paswọọdụ: admin/admin.

Mgbe emechara arịrịọ ahụ, anyị ga-ahụ ihe ndị a:

Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab

Gbanwee nhazi

Ka anyị gbanwee ozi gbasara protocol BGP. Mgbe omume anyị gasịrị, ọ ga-adị ka nke a:

protocols {
    bgp {
        disable;
    }
}

Ka anyị mepụta Tinye arịrịọ:

  1. eriri ajụjụ:
    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. Arịrịọ arịrịọ (taabụ ahụ):
    <protocols xmlns="http://yang.juniper.net/junos/conf/protocols">
    <bgp>
        <disable/>
    </bgp>
    </protocols>
  3. Na taabụ ikike, ị ga-edozi oke Basic Auth na nbanye / paswọọdụ: admin/admin.
  4. Na taabụ nkụnye eji isi mee, ịkwesịrị ịgbakwunye nkụnye eji isi mee abụọ:
    • Nabata ngwa/xml
    • Ngwa ụdị ọdịnaya/xml

Iji nke gara aga GET arịrịọ, anyị na-ahụ mgbanwe:

Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab

Hichapụ nhazi ahụ

Ka anyị mepụta Gbanyụọ arịrịọ:

  1. eriri ajụjụ:
    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. Na taabụ ikike, ị ga-edozi oke Basic Auth na nbanye / paswọọdụ: admin/admin.

Mgbe akpọrọ GET Arịrịọ na ozi gbasara protocol, anyị ga-ahụ ihe ndị a:

Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab

Mgbakwunye:

Iji gbanwee nhazi ahụ, ọ dịghị mkpa izipu ahụ arịrịọ na usoro XML. Enwere ike ime nke a na usoro JSON.

Iji mee nke a, dịka ọmụmaatụ, na ajụjụ Tinye iji gbanwee nhazi ahụ, jiri: dochie òtù arịrịọ:

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

Echefula ịgbanwe nkụnye eji isi mee na taabụ nkụnye eji isi mee ka ọ bụrụ:

  • Nabata ngwa/json
  • Ngwa ụdị ọdịnaya/json

Mgbe izipuchara, anyị ga-enweta nsonaazụ a (Anyị na-elele azịza ya site na iji GET arịrịọ):

Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab

Nkeji 7: Ịgbakwunye Cisco xRV9000

Kedu ihe anyị niile gbasara Juniper, ee Juniper? Ka anyị kwuo maka Cisco!
Achọtara m ụdị xRV9000 7.0.2 (anụ ọhịa chọrọ 8Gb RAM na cores 4. Ọ naghị adị n'efu, yabụ kpọtụrụ Cisco) - ka anyị gbaa ya.

Na-agba ọsọ akpa

Usoro imepụta akpa Docker adịghị iche na Juniper. N'otu aka ahụ, anyị na-atụba faịlụ .qcow2 na rawụta n'ime ndekọ aha ya (na nke a, xrv9k) wee mee iwu ahụ. make docker-image.

Mgbe nkeji ole na ole gachara, anyị na-ahụ na emepụtara onyonyo a:

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

Anyị na-amalite akpa ahụ:

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

Mgbe obere oge gasịrị, anyị na-ele anya na akpa ahụ amalitela:

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

Jikọọ site na 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

Ijikọ rawụta na OpenDaylight

Mgbakwunye na-eme n'ụzọ zuru oke na vMX. Anyị kwesịrị ịgbanwe aha.
Tinye arịrịọ:
Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab

Kpọọ mgbe obere oge gasịrị GET ajụjụ ka ịlele na ejikọrọ ihe niile:
Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab

Gbanwee nhazi

Ka anyị hazie nhazi ndị a:

!
router ospf LAB
 mpls ldp auto-config
!

Ka anyị mepụta POST arịrịọ:

  1. eriri ajụjụ:
    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. Arịrịọ arịrịọ (taabụ ahụ):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. Na taabụ ikike, ị ga-edozi oke Basic Auth na nbanye / paswọọdụ: admin/admin.
  4. Na taabụ nkụnye eji isi mee, ịkwesịrị ịgbakwunye nkụnye eji isi mee abụọ:
    • Nabata ngwa/json
    • Ngwa ụdị ọdịnaya/json

Mgbe emechara ya, ha kwesịrị ịnata ọkwa "204 enweghị ọdịnaya".

Ka anyị lelee ihe anyị nwetara.
Iji mee nke a, anyị ga-emepụta GET arịrịọ:

  1. eriri ajụjụ:
    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. Na taabụ ikike, ị ga-edozi oke Basic Auth na nbanye / paswọọdụ: admin/admin.

Mgbe emechara, ị ga-ahụ ihe ndị a:

Akpaaka nke ọrụ netwọk ma ọ bụ otu esi arụ ụlọ nyocha mebere site na iji OpenDaylight, Postman na Vrnetlab

Iji wepu ojiji nhazi Gbanyụọ:

  1. eriri ajụjụ:
    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. Na taabụ ikike, ị ga-edozi oke Basic Auth na nbanye / paswọọdụ: admin/admin.

nkwubi

Na mkpokọta, dịka ị chọpụtala, usoro maka ijikọ Cisco na Juniper na OpenDaylight adịghị iche - nke a na-emepe ohere dị ukwuu maka imepụta ihe. Malite na njikwa nhazi nke akụrụngwa netwọkụ niile na-ejedebe na imepụta iwu netwọkụ nke gị.
N'ime nkuzi a, enyela m ihe atụ kachasị mfe nke otu ị ga-esi mekọrịta ngwa netwọk site na iji OpenDaylight. Obi abụọ adịghị ya, ajụjụ ndị sitere na ihe atụ ndị dị n'elu nwere ike ime ka ọ dịkwuo mgbagwoju anya ma jiri otu ọpịpị nke òké guzobe ọrụ niile - ihe niile na-ejedebe naanị site n'echiche gị *

Ka ga-aga n'ihu…

PS

Ọ bụrụ na ị maralarị ihe ndị a niile na mberede ma ọ bụ, n'ụzọ megidere nke ahụ, gafere wee banye n'ime mkpụrụ obi nke ODL, a na m akwado ileba anya na mmepe ngwa na onye njikwa ODL. Ị nwere ike ịmalite site n'ebe a.

Nnwale gara nke ọma!

Kwuru

  1. Vrnetlab: Mepụta netwọkụ site na iji KVM na Docker /Brian Linkletter
  2. Akwụkwọ nri Opendaylight / Mathieu Lemay, Alexis de Talhouet, Et al
  3. Mmemme netwọkụ na YANG / Benoît Claise, Loe Clarke, Jan Lindblad
  4. Ịmụ XML, mbipụta nke abụọ / Erik T. Ray
  5. DevOps / Jennifer Davis dị irè, Ryn Daniels

isi: www.habr.com

Tinye a comment