Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab

Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab

Sa artikulong ito, ipapakita ko sa iyo kung paano mag-set up bukas na araw upang gumana sa mga kagamitan sa network, at ipakita din kung paano gamitin Kartero at simple RESTCONF mga kahilingan, makokontrol ang kagamitang ito. Hindi kami gagana sa hardware, ngunit sa halip ay magde-deploy kami ng maliliit na virtual na laboratoryo na may isang router na gumagamit Vrnetlab sa ibabaw Ubuntu LTS 20.04.

Ipapakita ko muna ang mga detalyadong setting gamit ang halimbawa ng isang router Juniper vMX 20.1R1.11, at pagkatapos ay ihahambing namin ito sa setting Cisco xRV9000 7.0.2.

nilalaman

  • Kinakailangan na kaalaman
  • Часть 1: talakayin nang maikli OpenDaylight (pagkatapos nito ODL), Kartero и Vrnetlab at bakit natin sila kailangan
  • Часть 2: paglalarawan ng virtual na laboratoryo
  • Часть 3: ipasadya bukas na araw
  • Часть 4: ipasadya Vrnetlab
  • Часть 5: sa pamamagitan ng paggamit Kartero ikonekta ang virtual na router (Juniper vMX) Sa ODL
  • Часть 6: kunin at baguhin ang configuration ng router gamit Kartero и ODL
  • Часть 7: magdagdag ng Cisco xRV9000
  • Konklusyon
  • PS
  • Bibliograpiya

Kinakailangan na kaalaman

Upang ang artikulo ay hindi maging isang sheet, tinanggal ko ang ilang mga teknikal na detalye (na may mga link sa panitikan kung saan maaari mong basahin ang tungkol sa mga ito).

Kaugnay nito, nag-aalok ako sa iyo ng mga paksa na mabuti (ngunit halos hindi kinakailangan) na malaman bago basahin:

Bahagi 1: ilang teorya

Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab

  • Isang bukas na platform ng SDN para sa pamamahala at pag-automate ng lahat ng uri ng network, na sinusuportahan ng Linux Foundation
  • Java sa loob
  • Batay sa Model-Driven Service Abstraction Level (MD-SAL)
  • Gumagamit ng mga modelo ng YANG upang awtomatikong bumuo ng mga RESTCONF API para sa mga network device

Ang pangunahing module para sa pamamahala ng network. Sa pamamagitan nito ay makikipag-usap tayo sa mga konektadong device. Pinamamahalaan sa pamamagitan ng sarili nitong API.

Maaari kang magbasa nang higit pa tungkol sa OpenDaylight dito.

Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab

  • Tool sa pagsubok ng API
  • Simple at madaling gamitin na interface

Sa aming kaso, interesado kami dito bilang isang paraan para sa pagpapadala ng mga kahilingan sa REST sa OpenDaylight API. Maaari mong, siyempre, magpadala ng mga kahilingan nang manu-mano, ngunit sa Postman ang lahat ay mukhang napakalinaw at ganap na nababagay sa aming mga layunin.

Para sa mga gustong maghukay: maraming materyales sa pagsasanay ang nakasulat dito (halimbawa).

Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab

  • Tool para sa pag-deploy ng mga virtual na router sa Docker
  • Sinusuportahan ang: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR, atbp.
  • Open Source

Isang napaka-interesante ngunit hindi gaanong kilala na instrumento. Sa aming kaso, gagamitin namin ito upang patakbuhin ang Juniper vMX at Cisco xRV9000 sa isang regular na Ubuntu 20.04 LTS.

Maaari mong basahin ang higit pa tungkol dito sa pahina ng proyekto.

Bahagi 2: Lab

Sa tutorial na ito, ise-set up namin ang sumusunod na system:

Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab

Как это работает

  • Juniper vMX tumataas sa Manggagawa sa pantalan lalagyan (sa pamamagitan ng paraan Vrnetlab) at gumagana bilang ang pinakakaraniwang virtual router.
  • ODL nakakonekta sa router at pinapayagan kang kontrolin ito.
  • Kartero inilunsad sa isang hiwalay na makina at sa pamamagitan nito nagpapadala kami ng mga utos ODL: upang ikonekta / alisin ang router, baguhin ang configuration, atbp.

Komentaryo sa device ng system

Juniper vMX и ODL nangangailangan ng napakaraming mapagkukunan para sa kanilang matatag na operasyon. Isa lang vMX humihingi ng 6 Gb ng RAM at 4 na core. Samakatuwid, napagpasyahan na ilipat ang lahat ng "heavyweights" sa isang hiwalay na makina (Heulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). Ang router, siyempre, ay hindi "lumipad" dito, ngunit ang pagganap ay sapat para sa maliliit na eksperimento.

Bahagi 3: I-set up ang OpenDaylight

Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab

Ang kasalukuyang bersyon ng ODL sa oras ng pagsulat na ito ay Magnesium SR1

1) I-install Java Open JDK 11 (para sa mas detalyadong pag-install dito)

ubuntu:~$ sudo apt install default-jdk

2) Hanapin at i-download ang pinakabagong build ODL kaya
3) I-unzip ang na-download na archive
4) Pumunta sa nagresultang direktoryo
5) Ilunsad ./bin/karaf

Sa hakbang na ito ODL dapat magsimula at makikita natin ang ating sarili sa console (Ginagamit ang Port 8181 para sa pag-access mula sa labas, na gagamitin natin mamaya).

Susunod, i-install Mga Tampok ng ODLidinisenyo upang gumana sa mga protocol NETCONF и RESTCONF. Upang gawin ito sa console ODL isinasagawa namin:

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

Ito ang pinakasimpleng setup. ODL nakumpleto. (Para sa higit pang mga detalye, tingnan dito).

Bahagi 4: Pagse-set up ng Vrnetlab

Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab

Paghahanda ng system

Bago i-install Vrnetlab kailangan mong i-install ang mga pakete na kinakailangan para sa operasyon nito. Tulad ng Manggagawa sa pantalan, pumunta, 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

Pag-install ng Vrnetlab

Upang mai-install Vrnetlab I-clone ang kaukulang repositoryo mula sa github:

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

Pumunta sa direktoryo vrnetlab:

ubuntu:~$ cd ~/vrnetlab

Dito makikita mo ang lahat ng mga script na kailangan para tumakbo. Pakitandaan na ang isang kaukulang direktoryo ay ginawa para sa bawat uri ng 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

Lumikha ng isang imahe ng router

Ang bawat router na sinusuportahan Vrnetlab, ay may sariling natatanging pamamaraan sa pag-setup. Kailan Juniper vMX kailangan lang nating i-upload ang .tgz archive kasama ang router (maaari mong i-download ito mula sa opisyal na site) sa vmx directory at patakbuhin ang command make:

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

Pagbuo ng isang imahe vMX aabutin ng mga 10-20 minuto. Oras na para kumuha ng kape!

Bakit ang tagal, tanong mo?

Pagsasalin sagot may-akda sa tanong na ito:

"Ito ay dahil sa unang pagkakataon na ang VCP (Control Plane) ay nagsimula, ito ay nagbabasa ng isang config file na tumutukoy kung ito ay tatakbo bilang isang VRR VCP sa vMX. Dati, ang paglulunsad na ito ay ginawa sa panahon ng Docker startup, ngunit ito ay nangangahulugan na ang VCP ay palaging na-restart nang isang beses bago naging available ang virtual na router, na nagreresulta sa mahabang oras ng boot (mga 5 minuto) Ngayon ang unang pagpapatakbo ng VCP ay ginagawa sa panahon ng pagbuo ng imahe ng Docker, at dahil ang build ng Docker ay hindi maaaring patakbuhin gamit ang - -privileged na opsyon, nangangahulugan ito na gumagana ang qemu nang walang KVM hardware acceleration at sa gayon ang build ay tumatagal ng napakatagal na oras. Sa prosesong ito, maraming mga log ang na-output, kaya kahit papaano ay makikita mo kung ano ang nangyayari. Sa tingin ko ay isang mahabang build ay hindi nakakatakot dahil lumikha kami ng isang imahe nang isang beses, ngunit naglulunsad kami ng marami."

Pagkatapos mong makita ang imahe ng aming router sa Manggagawa sa pantalan:

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

Ilunsad ang vr-vmx container

Nagsisimula kami sa utos:

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

Susunod, makakakita tayo ng impormasyon tungkol sa mga aktibong container:

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

Kumokonekta sa router

Ang IP address ng network interface ng router ay maaaring makuha gamit ang sumusunod na command:

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

Default, Vrnetlab lumilikha ng user sa router vrnetlab/VR-netlab9.
Kumokonekta sa 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

Kinukumpleto nito ang pag-setup ng router.

Ang mga rekomendasyon sa pag-install para sa mga router ng iba't ibang mga vendor ay matatagpuan sa proyekto ng github sa kani-kanilang mga direktoryo.

Part 5: Postman - ikonekta ang router sa OpenDaylight

Pag-install ng postman

Upang i-install, i-download lamang ang application kaya.

Pagkonekta ng router sa ODL

Lumikha tayo PUT hiling:

Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab

  1. Query string:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Body ng kahilingan (Body tab):
    <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. Sa tab na Awtorisasyon, dapat mong itakda ang parameter Basic Auth at login/password: admin/admin. Ito ay kinakailangan upang ma-access ang ODL:
    Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab
  4. Sa tab na Mga Header, kailangan mong magdagdag ng dalawang header:
    • Tanggapin ang application/xml
    • Application/xml na Uri ng Nilalaman

Nagawa na ang aming kahilingan. Nagpapadala kami. Kung na-configure nang tama ang lahat, dapat nating ibalik ang katayuan na "201 Created":

Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab

Ano ang ginagawa ng kahilingang ito?

Lumilikha kami ng node sa loob ODL gamit ang mga parameter ng totoong router na gusto naming i-access.

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

Ito ay mga panloob na namespace XML (XML namespace) para sa ODL ayon sa kung saan ito lumilikha ng node.

Dagdag pa, ayon sa pagkakabanggit, ang pangalan ng router ay node-id, address ng router - marami at iba pa.

Ang pinakakawili-wiling linya ay ang huli. Schema-cache-directory lumilikha ng isang direktoryo kung saan na-download ang lahat ng mga file Yang Schema nakakonektang router. Maaari mong mahanap ang mga ito sa $ODL_ROOT/cache/jun01_cache.

Sinusuri ang koneksyon ng router

Lumikha tayo GET hiling:

  1. Query string:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. Sa tab na Awtorisasyon, dapat mong itakda ang parameter Basic Auth at login/password: admin/admin.

Nagpapadala kami. Dapat makatanggap ng status na "200 OK" at isang listahan ng lahat ng sinusuportahan ng device Yang Schema:

Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab

Puna: Upang makita ang huli, sa aking kaso ay kailangang maghintay ng mga 10 minuto pagkatapos ng pagpapatupad PUThanggang sa lahat YANG schema magdiskarga sa ODL. Hanggang sa puntong ito, kapag ginagawa ito GET ipapakita ng query ang sumusunod:

Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab

Tanggalin ang router

Lumikha tayo ALISIN hiling:

  1. Query string:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Sa tab na Awtorisasyon, dapat mong itakda ang parameter Basic Auth at login/password: admin/admin.

Bahagi 6: Baguhin ang configuration ng router

Pagkuha ng configuration

Lumikha tayo GET hiling:

  1. Query string:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. Sa tab na Awtorisasyon, dapat mong itakda ang parameter Basic Auth at login/password: admin/admin.

Nagpapadala kami. Dapat makatanggap ng katayuang "200 OK" at ang configuration ng router:

Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab

Gumawa ng configuration

Bilang halimbawa, gawin natin ang sumusunod na configuration at baguhin ito:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

Lumikha tayo POST hiling:

  1. Query string:
    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. Body ng kahilingan (Body tab):
    <bgp xmlns="http://yang.juniper.net/junos/conf/protocols">
    <disable/>
    <shutdown>
    </shutdown>
    </bgp>
  3. Sa tab na Awtorisasyon, dapat mong itakda ang parameter Basic Auth at login/password: admin/admin.
  4. Sa tab na Mga Header, kailangan mong magdagdag ng dalawang header:
    • Tanggapin ang application/xml
    • Application/xml na Uri ng Nilalaman

Pagkatapos ipadala, dapat nilang matanggap ang katayuang "204 Walang Nilalaman"

Upang tingnan kung nagbago ang configuration, maaari mong gamitin ang nakaraang query. Ngunit halimbawa, gagawa kami ng isa pa na magpapakita lamang ng impormasyon tungkol sa mga protocol na na-configure sa router.

Lumikha tayo GET hiling:

  1. Query string:
    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. Sa tab na Awtorisasyon, dapat mong itakda ang parameter Basic Auth at login/password: admin/admin.

Pagkatapos isagawa ang kahilingan, makikita natin ang sumusunod:

Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab

Baguhin ang configuration

Baguhin natin ang impormasyon tungkol sa BGP protocol. Pagkatapos ng aming mga aksyon, magiging ganito ang hitsura:

protocols {
    bgp {
        disable;
    }
}

Lumikha tayo PUT hiling:

  1. Query string:
    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. Body ng kahilingan (Body tab):
    <protocols xmlns="http://yang.juniper.net/junos/conf/protocols">
    <bgp>
        <disable/>
    </bgp>
    </protocols>
  3. Sa tab na Awtorisasyon, dapat mong itakda ang parameter Basic Auth at login/password: admin/admin.
  4. Sa tab na Mga Header, kailangan mong magdagdag ng dalawang header:
    • Tanggapin ang application/xml
    • Application/xml na Uri ng Nilalaman

Gamit ang nauna GET kahilingan, nakikita namin ang mga pagbabago:

Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab

Tanggalin ang pagsasaayos

Lumikha tayo ALISIN hiling:

  1. Query string:
    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. Sa tab na Awtorisasyon, dapat mong itakda ang parameter Basic Auth at login/password: admin/admin.

Kapag tumatawag GET humiling na may impormasyon tungkol sa mga protocol, makikita natin ang sumusunod:

Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab

Pagdagdag:

Upang mabago ang configuration, hindi kinakailangang ipadala ang request body sa format XML. Maaari rin itong gawin sa format JSON.

Upang gawin ito, halimbawa, sa query PUT para baguhin ang configuration, palitan ang request body ng:

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

Huwag kalimutang baguhin ang mga header sa tab na Mga Header sa:

  • Tanggapin ang application/json
  • Application/json na Uri ng Nilalaman

Pagkatapos ipadala, makukuha natin ang sumusunod na resulta (Tingnan natin ang sagot gamit ang GET hiling):

Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab

Bahagi 7: Pagdaragdag ng Cisco xRV9000

Ano tayong lahat tungkol sa Juniper, oo Juniper? Pag-usapan natin ang Cisco!
Nakakita ako ng xRV9000 na bersyon 7.0.2 (isang hayop na nangangailangan ng 8Gb RAM at 4 na core. Hindi ito malayang magagamit, kaya makipag-ugnayan Cisco) - patakbuhin natin ito.

Nagpapatakbo ng lalagyan

Ang proseso ng paglikha ng isang Docker container ay halos hindi naiiba sa Juniper. Katulad nito, ibinabagsak namin ang .qcow2 file kasama ang router sa direktoryo na naaayon sa pangalan nito (sa kasong ito, xrv9k) at isagawa ang command make docker-image.

Pagkatapos ng ilang minuto, nakita namin na ang imahe ay nilikha:

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

Sinimulan namin ang lalagyan:

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

Pagkaraan ng ilang sandali, nakikita namin na nagsimula na ang lalagyan:

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

Kumonekta sa pamamagitan ng 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

Pagkonekta sa router sa OpenDaylight

Ang pagdaragdag ay nangyayari sa isang ganap na katulad na paraan sa vMX. Kailangan lang nating baguhin ang mga pangalan.
PUT hiling:
Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab

Tumawag pagkatapos ng ilang sandali GET query upang suriin na ang lahat ay konektado:
Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab

Baguhin ang configuration

I-set up natin ang sumusunod na configuration:

!
router ospf LAB
 mpls ldp auto-config
!

Lumikha tayo POST hiling:

  1. Query string:
    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. Body ng kahilingan (Body tab):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. Sa tab na Awtorisasyon, dapat mong itakda ang parameter Basic Auth at login/password: admin/admin.
  4. Sa tab na Mga Header, kailangan mong magdagdag ng dalawang header:
    • Tanggapin ang application/json
    • Application/json na Uri ng Nilalaman

Pagkatapos ng pagpapatupad nito, dapat nilang matanggap ang katayuang "204 Walang Nilalaman".

Suriin natin kung ano ang nakuha natin.
Upang gawin ito, lilikha kami GET hiling:

  1. Query string:
    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. Sa tab na Awtorisasyon, dapat mong itakda ang parameter Basic Auth at login/password: admin/admin.

Pagkatapos ng pagpapatupad, dapat mong makita ang sumusunod:

Automation ng mga serbisyo sa network o kung paano bumuo ng isang virtual na laboratoryo gamit ang OpenDaylight, Postman at Vrnetlab

Upang alisin ang paggamit ng pagsasaayos ALISIN:

  1. Query string:
    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. Sa tab na Awtorisasyon, dapat mong itakda ang parameter Basic Auth at login/password: admin/admin.

Konklusyon

Sa kabuuan, tulad ng napansin mo, ang mga pamamaraan para sa pagkonekta ng Cisco at Juniper sa OpenDaylight ay hindi naiiba - nagbubukas ito ng isang malawak na saklaw para sa pagkamalikhain. Simula sa pamamahala ng pagsasaayos ng lahat ng bahagi ng network at nagtatapos sa paglikha ng sarili mong mga patakaran sa network.
Sa tutorial na ito, nagbigay ako ng mga pinakasimpleng halimbawa kung paano ka makikipag-ugnayan sa mga kagamitan sa network gamit ang OpenDaylight. Walang alinlangan, ang mga query mula sa mga halimbawa sa itaas ay maaaring gawing mas kumplikado at i-set up ang buong serbisyo sa isang pag-click ng mouse - lahat ay limitado lamang ng iyong imahinasyon *

Upang patuloy ...

PS

Kung bigla mong nalaman ang lahat ng ito o, sa kabaligtaran, ay dumaan at lumubog sa kaluluwa ng ODL, pagkatapos ay inirerekumenda ko ang pagtingin sa pagbuo ng mga aplikasyon sa ODL controller. Maaari mong simulan ang kaya.

Matagumpay na mga eksperimento!

Mga sanggunian

  1. Vrnetlab: Tularan ang mga network gamit ang KVM at Docker /Brian Linkletter
  2. OpenDaylight Cookbook / Mathieu Lemay, Alexis de Talhouet, Et al
  3. Network Programmability kasama ang YANG / Benoît Claise, Loe Clarke, Jan Lindblad
  4. Learning XML, Second Edition / Erik T. Ray
  5. Epektibong DevOps / Jennifer Davis, Ryn Daniels

Pinagmulan: www.habr.com

Magdagdag ng komento