Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab

Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab

San artaigil seo, seallaidh mi dhut mar a nì thu rèiteachadh Solas an latha fosgailte a bhith ag obair le uidheamachd lìonra, agus cuideachd a 'sealltainn mar a chleachdas tu Fear a ’phuist agus sìmplidh RESTCONF iarrtasan, faodar smachd a chumail air an uidheamachd seo. Cha bhith sinn ag obair le bathar-cruaidh, ach an àite sin cleachdaidh sinn deuchainn-lannan beaga brìgheil le aon router a’ cleachdadh Vrnetlab thairis air a 'mhullach Ubuntu 20.04 LTS.

Seallaidh mi na roghainnean mionaideach an-toiseach a’ cleachdadh an eisimpleir de router Juniper vMX 20.1R1.11, agus an uairsin bidh sinn ga choimeas ris an t-suidheachadh Cisco xRV9000 7.0.2.

Clàr-innse

  • Eòlas riatanach
  • Pàirt de 1: bruidhinn gu h-aithghearr OpenDaylight (an-seo ODL), Fear a ’phuist и Vrnetlab agus carson a tha feum againn orra
  • Pàirt de 2: tuairisgeul air an obair-lann brìgheil
  • Pàirt de 3: gnàthachadh Solas an latha fosgailte
  • Pàirt de 4: gnàthachadh Vrnetlab
  • Pàirt de 5: le bhith cleachdadh Fear a ’phuist ceangail router brìgheil (Juniper vMX) Gu ODL
  • Pàirt de 6: faigh agus atharraich rèiteachadh an router a’ cleachdadh Fear a ’phuist и ODL
  • Pàirt de 7: cuir Cisco xRV9000 ris
  • co-dhùnadh
  • PS
  • Leabhar-chlàr

Eòlas riatanach

Gus nach tionndaidh an artaigil gu duilleag, dh’ fhàg mi mion-fhiosrachadh teicnigeach (le ceanglaichean gu litreachas far an leugh thu mun deidhinn).

A thaobh seo, tha mi a’ tabhann cuspairean dhut air am biodh e math (ach cha mhòr nach eil sin riatanach) fios a bhith agad mus leugh thu:

Pàirt 1: beagan teòiridh

Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab

  • Àrd-ùrlar fosgailte SDN airson a bhith a’ riaghladh agus a’ dèanamh fèin-ghluasad air gach seòrsa lìonra, le taic bho Linux Foundation
  • Java a-staigh
  • Stèidhichte air Ìre Tarraing Seirbheis air a stiùireadh le Modail (MD-SAL)
  • A’ cleachdadh mhodalan YANG gus APIan RESTCONF a ghineadh gu fèin-ghluasadach airson innealan lìonra

Am prìomh mhodal airson riaghladh lìonra. Is ann troimhe a nì sinn conaltradh le innealan ceangailte. Air a riaghladh tron ​​​​API aige fhèin.

Faodaidh tu barrachd a leughadh mu OpenDaylight an seo.

Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab

  • Inneal deuchainn API
  • Eadar-aghaidh sìmplidh agus furasta a chleachdadh

Anns a’ chùis againn, tha ùidh againn ann mar dhòigh air iarrtasan REST a chuir chun OpenDaylight API. Faodaidh tu, gu dearbh, iarrtasan a chuir a-steach le làimh, ach ann am Postman tha a h-uile dad a’ coimhead gu math soilleir agus a ’freagairt air na h-adhbharan againn gu foirfe.

Dhaibhsan a tha airson cladhach: chaidh tòrr stuthan trèanaidh a sgrìobhadh air (mar eisimpleir).

Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab

  • Inneal airson routers brìgheil a chuir a-steach ann an Docker
  • A’ toirt taic do: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR, msaa.
  • Stòr Fosgailte

Inneal fìor inntinneach ach air nach eil mòran eòlach air. Anns a’ chùis againn, cleachdaidh sinn e gus Juniper vMX agus Cisco xRV9000 a ruith air Ubuntu 20.04 LTS cunbhalach.

Faodaidh tu barrachd a leughadh mu dheidhinn aig duilleag pròiseict.

Pàirt 2: Lab

San oideachadh seo, cuiridh sinn air dòigh an siostam a leanas:

Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab

Ciamar a tha an obair seo

  • Juniper vMX ag èirigh a-steach Docker container (tro mheadhan Vrnetlab) agus ag obair mar an router brìgheil as cumanta.
  • ODL ceangailte ris an router agus leigidh e leat smachd a chumail air.
  • Fear a ’phuist air a chuir air bhog air inneal air leth agus troimhe bidh sinn a’ cur òrdughan ODL: gus an router a cheangal / a thoirt air falbh, an rèiteachadh atharrachadh, msaa.

Iomradh air uidheam an t-siostam

Juniper vMX и ODL feumach air tòrr ghoireasan airson an obrachadh seasmhach. Aon a-mhàin vMX ag iarraidh 6 Gb de RAM agus 4 cores. Mar sin, chaidh co-dhùnadh na "cuideaman trom" gu lèir a ghluasad gu inneal air leth (Iomairt Heulett Packard MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). Chan eil an router, gu dearbh, “ag itealaich” air, ach tha an coileanadh gu leòr airson deuchainnean beaga.

Pàirt 3: Stèidhich OpenDaylight

Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab

Is e Magnesium SR1 an dreach làithreach de ODL aig àm an sgrìobhaidh seo

1) Stàladh Java fosgailte JDK 11 (airson stàladh nas mionaidiche an seo)

ubuntu:~$ sudo apt install default-jdk

2) Lorg agus luchdaich sìos an togalach as ùire ODL bho seo
3) Unzip an tasglann a chaidh a luchdachadh sìos
4) Rach don eòlaire a thàinig às
5) Cur air bhog ./bin/karaf

Aig a' cheum seo ODL bu chòir tòiseachadh agus lorgaidh sinn sinn fhìn sa chonsól (tha Port 8181 air a chleachdadh airson faighinn a-steach bhon taobh a-muigh, a chleachdas sinn nas fhaide air adhart).

An ath rud, stàlaich Feartan ODLair a dhealbhadh gus obrachadh le protocols NETCONF и RESTCONF. Gus seo a dhèanamh anns a 'chonsail ODL tha sinn a' cur an gnìomh:

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

Is e seo an rèiteachadh as sìmplidh. ODL crìochnaichte. (Airson tuilleadh fiosrachaidh, faic an seo).

Pàirt 4: A 'stèidheachadh Vrnetlab

Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab

Ullachadh siostam

Mus stàlaich thu Vrnetlab feumaidh tu na pacaidean a tha a dhìth airson a h-obrachadh a stàladh. Leithid 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

A stàladh vrnetlab

Gus stàladh Vrnetlab clone an stòras co-fhreagarrach bho github:

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

Rach don eòlaire vrnetlab:

ubuntu:~$ cd ~/vrnetlab

An seo chì thu a h-uile sgriobt a tha a dhìth airson a ruith. Thoir an aire gu bheil eòlaire co-fhreagarrach air a dhèanamh airson gach seòrsa 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

Cruthaich dealbh den router

A h-uile router a tha a 'faighinn taic Vrnetlab, tha modh rèiteachaidh sònraichte aige fhèin. Cuin Juniper vMX chan fheum sinn ach an tasglann .tgz a luchdachadh suas leis an router (faodaidh tu a luchdachadh sìos bho Ceanglaichean làraich) chun eòlaire vmx agus ruith an àithne make:

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

A 'togail ìomhaigh vMX bheir e timcheall air 10-20 mionaid. Tha an t-àm ann falbh airson cofaidh!

Carson cho fada, tha thu a’ faighneachd?

Eadar-theangachadh freagairt ùghdar na ceiste seo:

“Tha seo air sgàth gur e a’ chiad uair a thèid an VCP (Plana Smachd) a thòiseachadh, leugh e faidhle config a cho-dhùineas am bi e a ’ruith mar VRR VCP ann an vMX. chaidh ath-thòiseachadh an-còmhnaidh aon uair mus robh an router brìgheil ri fhaighinn, a’ leantainn gu ùine bròg fada (timcheall air 5 mionaidean) A-nis tha a’ chiad ruith den VCP air a dhèanamh nuair a thathar a’ togail ìomhaigh an Docker, agus leis nach urrainn togail an Docker a ruith leis an - -privileged roghainn, tha seo a’ ciallachadh gu bheil qemu ag obair às aonais luathachadh bathar-cruaidh KVM agus mar sin bidh an togail a’ toirt ùine mhòr. chan eil e cho eagallach oir bidh sinn a’ cruthachadh ìomhaigh aon uair, ach bidh sinn a ’cur air bhog mòran.”

Às deidh dhut ìomhaigh an router againn fhaicinn a-staigh 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

Cuir air bhog vr-vmx container

Bidh sinn a 'tòiseachadh leis an òrdugh:

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

An ath rud, chì sinn fiosrachadh mu shoithichean gnìomhach:

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

A 'ceangal ris an router

Gheibhear seòladh IP eadar-aghaidh lìonra an router leis an àithne a leanas:

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

Default, Vrnetlab a 'cruthachadh neach-cleachdaidh air an router vrnetlab/VR-netlab9.
A 'ceangal ri 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

Cuiridh seo crìoch air suidheachadh an router.

Gheibhear molaidhean stàlaidh airson routers de dhiofar luchd-reic aig pròiseact github anns na clàran fa leth.

Pàirt 5: Postman - ceangail an router gu OpenDaylight

Stàladh postman

Gus a stàladh, dìreach luchdaich sìos an tagradh bho seo.

A’ ceangal router ri ODL

Cruthaichidh sinn Cuiribh iarrtas:

Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab

  1. Sreath ceiste:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Buidheann iarrtas (tab corp):
    <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. Air an taba Ùghdarrachaidh, feumaidh tu am paramadair a shuidheachadh Basic Auth agus logadh a-steach / facal-faire: admin/admin. Tha seo riatanach gus faighinn chun ODL:
    Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab
  4. Air taba Headers, feumaidh tu dà cheann-cinn a chur ris:
    • Gabh ris an tagradh / xml
    • Iarrtas seòrsa susbaint / xml

Tha ar n-iarrtas air a dhèanamh. Bidh sinn a 'cur. Ma chaidh a h-uile càil a rèiteachadh mar bu chòir, bu chòir dhuinn an inbhe "201 Created" a thilleadh:

Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab

Dè nì an t-iarrtas seo?

Bidh sinn a 'cruthachadh nód a-staigh ODL le crìochan an fhìor router a tha sinn airson faighinn a-steach.

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

Tha iad sin nan ainmean-àite a-staigh XML (Àite-ainm XML) airson ODL a rèir a bheil e a’ cruthachadh nod.

Nas fhaide, fa leth, is e ainm an router nód-id, seòladh an router - slòigh agus mar sin air adhart.

Is e an loidhne as inntinniche an tè mu dheireadh. Sgeama-cache-directory a’ cruthachadh eòlaire far an tèid a h-uile faidhle a luchdachadh sìos YANG Sgeama router ceangailte. Gheibh thu iad a-staigh $ODL_ROOT/cache/jun01_cache.

A’ sgrùdadh ceangal an router

Cruthaichidh sinn GET iarrtas:

  1. Sreath ceiste:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. Air an taba Ùghdarrachaidh, feumaidh tu am paramadair a shuidheachadh Basic Auth agus logadh a-steach / facal-faire: admin/admin.

Bidh sinn a 'cur. Bu chòir a bhith a 'faighinn inbhe "200 OK" agus liosta de na h-uile a' faighinn taic bhon inneal YANG Sgeama:

Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab

beachd: Gus an tè mu dheireadh fhaicinn, na mo chùis bha e riatanach feitheamh timcheall air 10 mionaidean às deidh a chuir gu bàs Cuiribhgus a h-uile YANG sgeama luchdachadh suas air ODL. Suas chun na h-ìre seo, nuair a bhios tu a 'coileanadh seo GET seallaidh ceist na leanas:

Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab

Sguab às an router

Cruthaichidh sinn Aithrisean- iarrtas:

  1. Sreath ceiste:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Air an taba Ùghdarrachaidh, feumaidh tu am paramadair a shuidheachadh Basic Auth agus logadh a-steach / facal-faire: admin/admin.

Pàirt 6: Atharraich rèiteachadh an router

A 'faighinn an rèiteachaidh

Cruthaichidh sinn GET iarrtas:

  1. Sreath ceiste:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. Air an taba Ùghdarrachaidh, feumaidh tu am paramadair a shuidheachadh Basic Auth agus logadh a-steach / facal-faire: admin/admin.

Bidh sinn a 'cur. Bu chòir don inbhe “200 OK” fhaighinn agus rèiteachadh an router:

Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab

Cruthaich rèiteachadh

Mar eisimpleir, cruthaichidh sinn an rèiteachadh a leanas agus atharraichidh sinn e:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

Cruthaichidh sinn DÈIDH iarrtas:

  1. Sreath ceiste:
    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. Buidheann iarrtas (tab corp):
    <bgp xmlns="http://yang.juniper.net/junos/conf/protocols">
    <disable/>
    <shutdown>
    </shutdown>
    </bgp>
  3. Air an taba Ùghdarrachaidh, feumaidh tu am paramadair a shuidheachadh Basic Auth agus logadh a-steach / facal-faire: admin/admin.
  4. Air taba Headers, feumaidh tu dà cheann-cinn a chur ris:
    • Gabh ris an tagradh / xml
    • Iarrtas seòrsa susbaint / xml

Às deidh an cur, bu chòir dhaibh an inbhe "204 Gun Susbaint" fhaighinn

Gus dèanamh cinnteach gu bheil an rèiteachadh air atharrachadh, faodaidh tu a’ cheist roimhe a chleachdadh. Ach mar eisimpleir, cruthaichidh sinn fear eile a sheallas fiosrachadh a-mhàin mu na protocolaidhean a tha air an rèiteachadh air an router.

Cruthaichidh sinn GET iarrtas:

  1. Sreath ceiste:
    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. Air an taba Ùghdarrachaidh, feumaidh tu am paramadair a shuidheachadh Basic Auth agus logadh a-steach / facal-faire: admin/admin.

Às deidh dhuinn an t-iarrtas a choileanadh, chì sinn na leanas:

Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab

Atharraich an rèiteachadh

Nach atharraich sinn am fiosrachadh mu phròtacal BGP. Às deidh ar gnìomhan, seallaidh e mar seo:

protocols {
    bgp {
        disable;
    }
}

Cruthaichidh sinn Cuiribh iarrtas:

  1. Sreath ceiste:
    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. Buidheann iarrtas (tab corp):
    <protocols xmlns="http://yang.juniper.net/junos/conf/protocols">
    <bgp>
        <disable/>
    </bgp>
    </protocols>
  3. Air an taba Ùghdarrachaidh, feumaidh tu am paramadair a shuidheachadh Basic Auth agus logadh a-steach / facal-faire: admin/admin.
  4. Air taba Headers, feumaidh tu dà cheann-cinn a chur ris:
    • Gabh ris an tagradh / xml
    • Iarrtas seòrsa susbaint / xml

A 'cleachdadh an fhear roimhe GET iarrtas, chì sinn na h-atharrachaidhean:

Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab

Sguab às an rèiteachadh

Cruthaichidh sinn Aithrisean- iarrtas:

  1. Sreath ceiste:
    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. Air an taba Ùghdarrachaidh, feumaidh tu am paramadair a shuidheachadh Basic Auth agus logadh a-steach / facal-faire: admin/admin.

Nuair a chaidh a ghairm GET iarrtas le fiosrachadh mu na protocols, chì sinn na leanas:

Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab

Cur-ris:

Gus an rèiteachadh atharrachadh, chan fheumar am buidheann tagraidh a chuir anns a’ chruth XML. Faodar seo a dhèanamh cuideachd ann an cruth JSON.

Gus seo a dhèanamh, mar eisimpleir, anns a 'cheist Cuiribh gus an rèiteachadh atharrachadh, cuir an àite a’ bhuidheann iarrtas:

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

Na dìochuimhnich na bannan-cinn air an taba Headers atharrachadh gu:

  • Gabh ris an iarrtas / json
  • Iarrtas seòrsa susbaint / json

Às deidh a chuir, gheibh sinn an toradh a leanas (Bheir sinn sùil air an fhreagairt a’ cleachdadh GET iarrtas):

Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab

Pàirt 7: A 'cur ris an Cisco xRV9000

Dè tha sinn uile mu dheidhinn Juniper, tha Juniper? Bruidhnidh sinn mu Cisco!
Lorg mi xRV9000 dreach 7.0.2 (biast a dh’ fheumas 8Gb RAM agus 4 cores. Chan eil e ri fhaighinn gu saor, mar sin cuir fios gu Cisco) — ruitheamaid e.

A 'ruith container

Cha mhòr nach eil am pròiseas airson inneal Docker a chruthachadh eadar-dhealaichte bho Juniper. San aon dòigh, leigidh sinn am faidhle .qcow2 leis an router a-steach don eòlaire a fhreagras air an ainm (sa chùis seo, xrv9k) agus cuir an gnìomh an àithne make docker-image.

An ceann beagan mhionaidean, chì sinn gu bheil an ìomhaigh air a chruthachadh:

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

Bidh sinn a 'tòiseachadh air a' bhogsa:

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

An ceann greiseag, tha sinn a 'coimhead gu bheil an soitheach air tòiseachadh:

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

Dèan ceangal tro 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

A’ ceangal an router ri OpenDaylight

Bidh cur-ris a’ tachairt ann an dòigh gu tur coltach ri vMX. Feumaidh sinn dìreach na h-ainmean atharrachadh.
Cuiribh iarrtas:
Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab

Call às deidh beagan ùine GET ceist gus dèanamh cinnteach gu bheil a h-uile càil ceangailte:
Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab

Atharraich an rèiteachadh

Feuch an cuir sinn an rèiteachadh a leanas air dòigh:

!
router ospf LAB
 mpls ldp auto-config
!

Cruthaichidh sinn DÈIDH iarrtas:

  1. Sreath ceiste:
    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. Buidheann iarrtas (tab corp):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. Air an taba Ùghdarrachaidh, feumaidh tu am paramadair a shuidheachadh Basic Auth agus logadh a-steach / facal-faire: admin/admin.
  4. Air taba Headers, feumaidh tu dà cheann-cinn a chur ris:
    • Gabh ris an iarrtas / json
    • Iarrtas seòrsa susbaint / json

Às deidh a chuir gu bàs, bu chòir dhaibh an inbhe "204 No Content" fhaighinn.

Feuch an dèan sinn sgrùdadh air na fhuair sinn.
Gus seo a dhèanamh, cruthaichidh sinn GET iarrtas:

  1. Sreath ceiste:
    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. Air an taba Ùghdarrachaidh, feumaidh tu am paramadair a shuidheachadh Basic Auth agus logadh a-steach / facal-faire: admin/admin.

Às deidh a chuir gu bàs, bu chòir dhut na leanas fhaicinn:

Automation de sheirbheisean lìonraidh no mar a thogas tu obair-lann brìgheil a’ cleachdadh OpenDaylight, Postman agus Vrnetlab

Gus an cleachdadh rèiteachaidh a thoirt air falbh Aithrisean-:

  1. Sreath ceiste:
    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. Air an taba Ùghdarrachaidh, feumaidh tu am paramadair a shuidheachadh Basic Auth agus logadh a-steach / facal-faire: admin/admin.

co-dhùnadh

Gu h-iomlan, mar is dòcha gu bheil thu air mothachadh, chan eil na modhan airson Cisco agus Juniper a cheangal ri OpenDaylight eadar-dhealaichte - tha seo a ’fosgladh cothrom farsaing airson cruthachalachd. A’ tòiseachadh bho riaghladh rèiteachaidh air a h-uile pàirt lìonra agus a’ crìochnachadh le cruthachadh do phoileasaidhean lìonraidh fhèin.
San oideachadh seo, tha mi air na h-eisimpleirean as sìmplidh a thoirt seachad air mar as urrainn dhut eadar-obrachadh le uidheamachd lìonraidh a’ cleachdadh OpenDaylight. Gun teagamh, faodar na ceistean bho na h-eisimpleirean gu h-àrd a dhèanamh tòrr nas iom-fhillte agus seirbheisean slàn a stèidheachadh le aon bhriogadh air an luchag - tha a h-uile dad cuingealaichte a-mhàin le do mhac-meanmna *

Ri leantainn ...

PS

Ma tha thu gu h-obann eòlach air a h-uile càil seo mu thràth no, air an làimh eile, air a dhol troimhe agus air a dhol fodha ann an anam ODL, tha mi a ’moladh a bhith a’ coimhead ri bhith a ’leasachadh thagraidhean air rianadair ODL. Faodaidh tu tòiseachadh bho seo.

Deuchainnean soirbheachail!

Tùsan

  1. Vrnetlab: Dèan aithris air lìonraidhean a’ cleachdadh KVM agus Docker / Litir-litir Brian
  2. Leabhar còcaireachd OpenDaylight / Mathieu Lemay, Alexis de Talhouet, Et al
  3. Prògramadh lìonra le YANG / Benoît Claise, Loe Clarke, Jan Lindblad
  4. Ionnsachadh XML, Dàrna Deasachadh / Erik T. Ray
  5. DevOps èifeachdach / Jennifer Davis, Ryn Daniels

Source: www.habr.com

Cuir beachd ann