ProHoster > blog > Amministrazzjoni > Awtomazzjoni tas-servizzi tan-netwerk jew kif tibni laboratorju virtwali billi tuża OpenDaylight, Postman u Vrnetlab
Awtomazzjoni tas-servizzi tan-netwerk jew kif tibni laboratorju virtwali billi tuża OpenDaylight, Postman u Vrnetlab
F'dan l-artikolu, ser nuruk kif twaqqaf opendaylight biex taħdem ma 'tagħmir tan-netwerk, u turi wkoll kif tuża Postier u sempliċi RESTCONF talbiet, dan it-tagħmir jista 'jiġi kkontrollat. Aħna mhux se naħdmu bil-ħardwer, iżda minflok se niskjeraw laboratorji virtwali żgħar b'router wieħed bl-użu Vrnetlab fuq Ubuntu 20.04 LTS.
L-ewwel se nuri s-settings dettaljati billi tuża l-eżempju ta 'router Juniper vMX 20.1R1.11, u mbagħad inqabbluha mal-issettjar Cisco xRV9000 7.0.2.
Kontenut
Għarfien meħtieġ
Часть 1: iddiskuti fil-qosor OpenDaylight (minn hawn 'il quddiem ODL), Postier и Vrnetlab u għaliex għandna bżonnhom
Часть 2: deskrizzjoni tal-laboratorju virtwali
Часть 3: tippersonalizza opendaylight
Часть 4: tippersonalizza Vrnetlab
Часть 5: bl-użu Postier qabbad router virtwali (Ġnibru vMX) Lil ODL
Часть 6: tikseb u tibdel il-konfigurazzjoni tar-router bl-użu Postier и ODL
Часть 7: żid Cisco xRV9000
Konklużjoni
PS
Biblijografija
Għarfien meħtieġ
Biex l-artiklu ma jinbidilx f’folja, ħallejt barra xi dettalji tekniċi (b’links għal letteratura fejn tista’ taqra dwarhom).
F'dan ir-rigward, noffrulkom suġġetti li jkun tajjeb (iżda kważi mhux meħtieġ) li tkun taf qabel taqra:
Fil-każ tagħna, aħna interessati fiha bħala mezz biex nibagħtu talbiet REST lill-API OpenDaylight. Tista', ovvjament, tibgħat it-talbiet manwalment, iżda f'Postiera kollox jidher ċar ħafna u jaqbel perfettament mal-għanijiet tagħna.
Għal dawk li jridu jħaffru: fuqu nkitbu ħafna materjali ta’ taħriġ (per eżempju).
Għodda għall-iskjerament ta' routers virtwali f'Docker
Jappoġġja: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR, eċċ.
Open Source
Strument interessanti ħafna iżda ftit magħruf. Fil-każ tagħna, se nużawha biex inħaddmu Juniper vMX u Cisco xRV9000 fuq Ubuntu 20.04 LTS regolari.
Ġnibru vMX jogħla fi Docker kontenitur (permezz Vrnetlab) u jiffunzjona bħala l-aktar router virtwali komuni.
ODL konness mar-router u jippermettilek tikkontrollah.
Postier imnedija fuq magna separata u permezz tagħha nibagħtu kmandi ODL: biex tikkonnettja / tneħħi r-router, tibdel il-konfigurazzjoni, eċċ.
Kummentarju dwar l-apparat tas-sistema
Ġnibru vMX и ODL jeħtieġu pjuttost ħafna riżorsi għall-operat stabbli tagħhom. Wieħed biss vMX jitlob 6 Gb ta' RAM u 4 cores. Għalhekk, ġie deċiż li l-"piżijiet tqal" kollha jiġu mċaqalqa għal magna separata (Heulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). Ir-router, ovvjament, ma "jtir" fuqu, iżda l-prestazzjoni hija biżżejjed għal esperimenti żgħar.
Parti 3: Twaqqaf OpenDaylight
Il-verżjoni attwali ta 'ODL fil-ħin ta' din il-kitba hija Magnesium SR1
1) Installa Java Open JDK 11 (għal installazzjoni aktar dettaljata hawn)
ubuntu:~$ sudo apt install default-jdk
2) Sib u niżżel l-aħħar bini ODLgħalhekk
3) Unzip l-arkivju mniżżel
4) Mur fid-direttorju li jirriżulta
5) Tnedija ./bin/karaf
F'dan il-pass ODL għandha tibda u se nsibu ruħna fil-console (Port 8181 jintuża għall-aċċess minn barra, li se nużaw aktar tard).
Sussegwentement, installa Karatteristiċi ODLiddisinjati biex jaħdmu bi protokolli NETCONF и RESTCONF. Biex tagħmel dan fil-console ODL aħna tesegwixxi:
Kull router li huwa appoġġjat Vrnetlab, għandha l-proċedura unika ta 'setup tagħha stess. Meta Ġnibru vMX irridu biss intellgħu l-arkivju .tgz bir-router (tista’ tniżżlu minn sit uffiċjali) għad-direttorju vmx u mexxi l-kmand make:
ubuntu:~$ cd ~/vrnetlab/vmx
ubuntu:~$ # Копируем в эту директорию .tgz архив с роутером
ubuntu:~$ sudo make
Bini ta 'immaġni vMX se tieħu madwar 10-20 minuta. Wasal iż-żmien li tmur tieħu ftit kafè!
Għaliex sakemm, inti ssaqsi?
Traduzzjoni it-tweġiba awtur għal din il-mistoqsija:
"Dan huwa għaliex l-ewwel darba li l-VCP (Control Plane) jinbeda, jaqra fajl ta 'konfigurazzjoni li jiddetermina jekk hux se jaħdem bħala VRR VCP f'vMX. Qabel, din it-tnedija kienet saret waqt l-istartjar ta' Docker, iżda dan kien ifisser li l-VCP kien dejjem reġgħet inbeda darba qabel ma r-router virtwali sar disponibbli, li rriżulta f'ħin twil ta 'boot (madwar 5 minuti) Issa l-ewwel ġirja tal-VCP issir waqt il-bini tal-immaġni Docker, u peress li l-bini ta' Docker ma jistax jitmexxa bil- - -għażla privileġġjata, dan ifisser li qemu jaħdem mingħajr aċċelerazzjoni tal-ħardwer KVM u għalhekk il-bini jieħu żmien twil ħafna. Matul dan il-proċess jinħarġu ħafna zkuk, għalhekk għall-inqas tista 'tara x'inhu għaddej. Naħseb li bini twil huwa mhux daqshekk tal-biża’ għax noħolqu immaġini darba, imma nniedu ħafna.”
Wara li tista 'tara l-immaġni tar-router tagħna ġewwa 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
Tnedija kontenitur vr-vmx
Nibdew bil-kmand:
ubuntu:~$ sudo docker run -d --privileged --name jun01 b1b2369b453c
Sussegwentement, nistgħu naraw informazzjoni dwar kontenituri attivi:
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
Konnessjoni mar-router
L-indirizz IP ta 'l-interface tan-netwerk tar-router jista' jinkiseb bil-kmand li ġej:
Default, Vrnetlab joħloq utent fuq ir-router vrnetlab/VR-netlab9.
Konnessjoni ma ' 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
Dan itemm is-setup tar-router.
Rakkomandazzjonijiet ta 'installazzjoni għal routers ta' diversi bejjiegħa jistgħu jinstabu fuq proġett github fid-direttorji rispettivi.
Parti 5: Postman - qabbad ir-router ma' OpenDaylight
Installazzjoni tal-pustier
Biex tinstalla, tniżżel biss l-applikazzjoni għalhekk.
Konnessjoni ta 'router ma' ODL
Ejja noħolqu PUT talba:
Sekwenza ta' mistoqsijiet:
PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
Dawn huma namespaces interni XML (Spazju tal-isem XML) għal ODL skond liema toħloq node.
Barra minn hekk, rispettivament, l-isem tar-router huwa node-id, indirizz tar-router - ospitanti eċċ.
L-aktar linja interessanti hija l-aħħar waħda. Schema-cache-direttorju joħloq direttorju fejn jitniżżlu l-fajls kollha Skema YANG router konness. Tista' ssibhom fi $ODL_ROOT/cache/jun01_cache.
Iċċekkja l-konnessjoni tar-router
Ejja noħolqu IKOLLOK talba:
Sekwenza ta' mistoqsijiet:
GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
Fuq it-tab Awtorizzazzjoni, trid issettja l-parametru Basic Auth u login/password: admin/admin.
Nibagħtu. Għandu jirċievi status ta '"200 OK" u lista ta' kollha appoġġjati mill-apparat Skema YANG:
Kumment: Biex tara l-aħħar, fil-każ tiegħi kien meħtieġ li tistenna madwar 10 minuti wara l-eżekuzzjoni PUTsakemm kollha YANG schema ħatt fuq ODL. Sa dan il-punt, meta twettaq dan IKOLLOK mistoqsija se turi dan li ġej:
Fuq it-tab Awtorizzazzjoni, trid issettja l-parametru Basic Auth u login/password: admin/admin.
Parti 6: Ibdel il-konfigurazzjoni tar-router
Jkollna l-konfigurazzjoni
Ejja noħolqu IKOLLOK talba:
Sekwenza ta' mistoqsijiet:
GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
Fuq it-tab Awtorizzazzjoni, trid issettja l-parametru Basic Auth u login/password: admin/admin.
Nibagħtu. Għandu jirċievi l-istatus "200 OK" u l-konfigurazzjoni tar-router:
Oħloq konfigurazzjoni
Bħala eżempju, ejja noħolqu l-konfigurazzjoni li ġejja u nimmodifikaha:
protocols {
bgp {
disable;
shutdown;
}
}
Ejja noħolqu POST talba:
Sekwenza ta' mistoqsijiet:
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
Fuq it-tab Awtorizzazzjoni, trid issettja l-parametru Basic Auth u login/password: admin/admin.
Fit-tab Headers, trid iżżid żewġ headers:
Aċċetta applikazzjoni/xml
Applikazzjoni tat-Tip tal-Kontenut/xml
Wara li jibagħtu, għandhom jirċievu l-istatus "204 Ebda Kontenut"
Biex tivverifika li l-konfigurazzjoni nbidlet, tista' tuża l-mistoqsija preċedenti. Imma per eżempju, se noħolqu ieħor li juri informazzjoni biss dwar il-protokolli kkonfigurati fuq ir-router.
Ejja noħolqu IKOLLOK talba:
Sekwenza ta' mistoqsijiet:
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
Fuq it-tab Awtorizzazzjoni, trid issettja l-parametru Basic Auth u login/password: admin/admin.
Wara li twettaq it-talba, se naraw dan li ġej:
Ibdel il-konfigurazzjoni
Ejja nibdlu l-informazzjoni dwar il-protokoll BGP. Wara l-azzjonijiet tagħna, se jidher bħal dan:
protocols {
bgp {
disable;
}
}
Ejja noħolqu PUT talba:
Sekwenza ta' mistoqsijiet:
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
Wara li nibagħtu, se nġibu r-riżultat li ġej (Nħarsu lejn it-tweġiba bl-użu IKOLLOK talba):
Parti 7: Żieda ta 'Cisco xRV9000
X'inhuma lkoll dwar Juniper, iva Juniper? Ejja nitkellmu dwar Cisco!
Sibt xRV9000 verżjoni 7.0.2 (kruha li teħtieġ 8Gb RAM u 4 cores. Mhux disponibbli liberament, għalhekk ikkuntattja Cisco) - ejja tmexxiha.
Tmexxi kontenitur
Il-proċess tal-ħolqien ta 'kontenitur Docker huwa prattikament mhux differenti minn Juniper. Bl-istess mod, aħna npoġġu l-fajl .qcow2 bir-router fid-direttorju li jikkorrispondi għall-isem tiegħu (f'dan il-każ, xrv9k) u tesegwixxi l-kmand make docker-image.
Wara ftit minuti, naraw li l-immaġni ġiet maħluqa:
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
Nibdew il-kontenitur:
ubuntu:~$ sudo docker run -d --privileged --name xrv01 54debc7973fc
Wara ftit, inħarsu li l-kontenitur beda:
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
Qabbad permezz ta' 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
Tqabbad ir-router ma' OpenDaylight
Iż-żieda sseħħ b'mod kompletament simili ma 'vMX. Għandna bżonn biss li nbiddlu l-ismijiet. PUT talba:
Ċempel wara ftit IKOLLOK mistoqsija biex tivverifika li kollox huwa konness:
Ibdel il-konfigurazzjoni
Ejja nwaqqfu l-konfigurazzjoni li ġejja:
!
router ospf LAB
mpls ldp auto-config
!
Ejja noħolqu POST talba:
Sekwenza ta' mistoqsijiet:
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
Fuq it-tab Awtorizzazzjoni, trid issettja l-parametru Basic Auth u login/password: admin/admin.
Fit-tab Headers, trid iżżid żewġ headers:
Aċċetta applikazzjoni/json
Applikazzjoni tat-Tip tal-Kontenut/json
Wara l-eżekuzzjoni tiegħu, għandhom jirċievu l-istatus "204 Ebda Kontenut".
Ejja niċċekkjaw dak li sirna.
Biex nagħmlu dan, aħna se noħolqu IKOLLOK talba:
Sekwenza ta' mistoqsijiet:
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
Fuq it-tab Awtorizzazzjoni, trid issettja l-parametru Basic Auth u login/password: admin/admin.
Fuq it-tab Awtorizzazzjoni, trid issettja l-parametru Basic Auth u login/password: admin/admin.
Konklużjoni
B'kollox, kif forsi innotajt, il-proċeduri għall-konnessjoni ta 'Cisco u Juniper ma' OpenDaylight ma jvarjawx - dan jiftaħ skop pjuttost wiesa 'għall-kreattività. Tibda mill-ġestjoni tal-konfigurazzjoni tal-komponenti kollha tan-netwerk u tispiċċa bil-ħolqien tal-politiki tan-netwerk tiegħek stess.
F'dan it-tutorja, tajt l-eżempji l-aktar sempliċi ta 'kif tista' tinteraġixxi ma 'tagħmir tan-netwerk billi tuża OpenDaylight. Mingħajr dubju, il-mistoqsijiet mill-eżempji ta 'hawn fuq jistgħu jsiru ħafna aktar kumplessi u jistabbilixxu servizzi sħaħ bi klikk waħda tal-maws - kollox huwa limitat biss mill-immaġinazzjoni tiegħek *
Biex titkompla ...
PS
Jekk f'daqqa waħda diġà taf dan kollu jew, għall-kuntrarju, għaddew u għereq fir-ruħ ta 'ODL, allura nirrakkomanda li tħares lejn l-iżvilupp ta' applikazzjonijiet fuq il-kontrollur ODL. Tista 'tibda għalhekk.