Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab

Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab

Dalam artikel ini, saya akan menunjukkan kepada anda cara untuk menyediakan BukaDaylight untuk bekerja dengan peralatan rangkaian, dan juga menunjukkan cara menggunakannya Postman dan ringkas RESTCONF permintaan, peralatan ini boleh dikawal. Kami tidak akan bekerja dengan perkakasan, tetapi sebaliknya kami akan menggunakan makmal maya kecil dengan satu penghala menggunakan Vrnetlab di atas Ubuntu LTS 20.04.

Saya akan menunjukkan tetapan terperinci terlebih dahulu menggunakan contoh penghala Juniper vMX 20.1R1.11, dan kemudian kami membandingkannya dengan tetapan Cisco xRV9000 7.0.2.

Содержание

  • Pengetahuan yang diperlukan
  • Часть 1: bincang secara ringkas OpenDaylight (selepas ini ODL), Postman и Vrnetlab dan mengapa kita memerlukannya
  • Часть 2: penerangan tentang makmal maya
  • Часть 3: sesuaikan BukaDaylight
  • Часть 4: sesuaikan Vrnetlab
  • Часть 5: dengan menggunakan Postman sambung penghala maya (Juniper vMXKe ODL
  • Часть 6: dapatkan dan tukar konfigurasi penghala menggunakan Postman и ODL
  • Часть 7: tambah Cisco xRV9000
  • Kesimpulan
  • PS
  • Bibliografi

Pengetahuan yang diperlukan

Agar artikel itu tidak menjadi helaian, saya meninggalkan beberapa butiran teknikal (dengan pautan ke kesusasteraan di mana anda boleh membaca tentangnya).

Dalam hubungan ini, saya menawarkan kepada anda topik yang bagus (tetapi hampir tidak perlu) untuk diketahui sebelum membaca:

Bahagian 1: beberapa teori

Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab

  • Platform SDN terbuka untuk mengurus dan mengautomasikan semua jenis rangkaian, disokong oleh Yayasan Linux
  • Jawa di dalam
  • Berdasarkan Tahap Abstraksi Perkhidmatan Didorong Model (MD-SAL)
  • Menggunakan model YANG untuk menjana API RESTCONF secara automatik untuk peranti rangkaian

Modul utama untuk pengurusan rangkaian. Melaluinya kami akan berkomunikasi dengan peranti yang bersambung. Diuruskan melalui API sendiri.

Anda boleh membaca lebih lanjut mengenai OpenDaylight di sini.

Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab

  • Alat ujian API
  • Antara muka yang ringkas dan mudah digunakan

Dalam kes kami, kami berminat dengannya sebagai cara untuk menghantar permintaan REST ke OpenDaylight API. Anda boleh, sudah tentu, menghantar permintaan secara manual, tetapi dalam Postman semuanya kelihatan sangat jelas dan sesuai dengan tujuan kami dengan sempurna.

Bagi mereka yang ingin menggali: banyak bahan latihan telah ditulis di atasnya (sebagai contoh).

Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab

  • Alat untuk menggunakan penghala maya dalam Docker
  • Menyokong: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR, dll.
  • Open Source

Alat yang sangat menarik tetapi kurang dikenali. Dalam kes kami, kami akan menggunakannya untuk menjalankan Juniper vMX dan Cisco xRV9000 pada Ubuntu 20.04 LTS biasa.

Anda boleh membaca lebih lanjut mengenainya di halaman projek.

Bahagian 2: Makmal

Dalam tutorial ini, kami akan menyediakan sistem berikut:

Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab

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

  • Juniper vMX naik masuk buruh pelabuhan bekas (dengan cara Vrnetlab) dan berfungsi sebagai penghala maya yang paling biasa.
  • ODL disambungkan ke penghala dan membolehkan anda mengawalnya.
  • Postman dilancarkan pada mesin yang berasingan dan melaluinya kami menghantar arahan ODL: untuk menyambung / mengalih keluar penghala, menukar konfigurasi, dsb.

Ulasan tentang peranti sistem

Juniper vMX и ODL memerlukan sumber yang cukup banyak untuk operasi stabil mereka. Satu sahaja vMX meminta 6 Gb RAM dan 4 teras. Oleh itu, telah diputuskan untuk memindahkan semua "wajaran berat" ke mesin yang berasingan (Heulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). Penghala, tentu saja, tidak "terbang" di atasnya, tetapi prestasinya cukup untuk eksperimen kecil.

Bahagian 3: Sediakan OpenDaylight

Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab

Versi semasa ODL pada masa penulisan ini ialah Magnesium SR1

1) Pasang Java Open JDK 11 (untuk pemasangan yang lebih terperinci di sini)

ubuntu:~$ sudo apt install default-jdk

2) Cari dan muat turun binaan terkini ODL oleh itu
3) Nyahzip arkib yang dimuat turun
4) Pergi ke direktori yang terhasil
5) Pelancaran ./bin/karaf

Pada langkah ini ODL harus bermula dan kita akan mendapati diri kita berada dalam konsol (Port 8181 digunakan untuk akses dari luar, yang akan kita gunakan kemudian).

Seterusnya, pasang Ciri ODLdireka untuk bekerja dengan protokol NETCONF и RESTCONF. Untuk melakukan ini dalam konsol ODL kami melaksanakan:

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

Ini adalah persediaan yang paling mudah. ODL selesai. (Untuk butiran lanjut, lihat di sini).

Bahagian 4: Menyediakan Vrnetlab

Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab

Penyediaan sistem

Sebelum pemasangan Vrnetlab anda perlu memasang pakej yang diperlukan untuk operasinya. Seperti buruh pelabuhan, pergi, 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

Memasang Vrnetlab

Untuk memasang Vrnetlab klon repositori yang sepadan dari github:

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

Pergi ke direktori vrnetlab:

ubuntu:~$ cd ~/vrnetlab

Di sini anda boleh melihat semua skrip yang diperlukan untuk dijalankan. Sila ambil perhatian bahawa direktori yang sepadan telah dibuat untuk setiap jenis penghala:

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

Buat imej penghala

Setiap penghala yang disokong Vrnetlab, mempunyai prosedur persediaan uniknya sendiri. Bila Juniper vMX kami hanya perlu memuat naik arkib .tgz dengan penghala (anda boleh memuat turunnya dari laman rasmi) ke direktori vmx dan jalankan arahan make:

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

Membina imej vMX akan mengambil masa kira-kira 10-20 minit. Sudah tiba masanya untuk pergi minum kopi!

Mengapa begitu lama, anda bertanya?

Terjemahan tindak balas penulis kepada soalan ini:

"Ini kerana pada kali pertama VCP (Pesawat Kawalan) dimulakan, ia membaca fail konfigurasi yang menentukan sama ada ia akan dijalankan sebagai VCP VRR dalam vMX. Sebelum ini, pelancaran ini dilakukan semasa permulaan Docker, tetapi ini bermakna VCP sentiasa dimulakan semula sekali sebelum penghala maya tersedia, menyebabkan masa but yang lama (kira-kira 5 minit) Kini larian pertama VCP dilakukan semasa membina imej Docker, dan kerana binaan Docker tidak boleh dijalankan dengan - -pilihan istimewa, ini bermakna qemu berfungsi tanpa pecutan perkakasan KVM dan oleh itu binaan mengambil masa yang sangat lama. Semasa proses ini banyak log dikeluarkan, jadi sekurang-kurangnya anda dapat melihat apa yang sedang berlaku. Saya fikir binaan yang panjang adalah tidak begitu menakutkan kerana kami mencipta imej sekali, tetapi kami melancarkan banyak."

Selepas anda boleh melihat imej penghala kami masuk buruh pelabuhan:

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

Lancarkan bekas vr-vmx

Kita mulakan dengan arahan:

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

Seterusnya, kita boleh melihat maklumat tentang bekas aktif:

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

Menyambung ke penghala

Alamat IP antara muka rangkaian penghala boleh diperolehi dengan arahan berikut:

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

lalai, Vrnetlab mencipta pengguna pada penghala vrnetlab/VR-netlab9.
Berhubung dengan 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

Ini melengkapkan persediaan penghala.

Cadangan pemasangan untuk penghala pelbagai vendor boleh didapati di projek github dalam direktori masing-masing.

Bahagian 5: Posmen - sambungkan penghala ke OpenDaylight

Pemasangan posmen

Untuk memasang, muat turun sahaja aplikasi oleh itu.

Menyambungkan penghala ke ODL

Jom buat PUT permintaan:

Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab

  1. Rentetan pertanyaan:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Badan permintaan (tab Badan):
    <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. Pada tab Kebenaran, anda mesti menetapkan parameter Basic Auth dan log masuk/kata laluan: admin/admin. Ini diperlukan untuk mengakses ODL:
    Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab
  4. Pada tab Pengepala, anda perlu menambah dua pengepala:
    • Terima aplikasi/xml
    • Aplikasi Jenis Kandungan/xml

Permintaan kami telah dibuat. Kami hantar. Jika semuanya telah dikonfigurasikan dengan betul, maka kita harus mengembalikan status "201 Created":

Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab

Apakah permintaan ini?

Kami mencipta nod di dalam ODL dengan parameter penghala sebenar yang ingin kami akses.

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

Ini adalah ruang nama dalaman XML (Ruang nama XML) untuk ODL mengikut mana ia mewujudkan nod.

Selanjutnya, masing-masing, nama penghala ialah nod-id, alamat penghala - tuan rumah dan sebagainya.

Baris yang paling menarik ialah yang terakhir. Direktori-cache-schema mencipta direktori di mana semua fail dimuat turun Skema YANG penghala yang disambungkan. Anda boleh menemui mereka di $ODL_ROOT/cache/jun01_cache.

Memeriksa sambungan penghala

Jom buat GET permintaan:

  1. Rentetan pertanyaan:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. Pada tab Kebenaran, anda mesti menetapkan parameter Basic Auth dan log masuk/kata laluan: admin/admin.

Kami hantar. Harus menerima status "200 OK" dan senarai semua yang disokong oleh peranti Skema YANG:

Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab

Komen: Untuk melihat yang terakhir, dalam kes saya, perlu menunggu kira-kira 10 minit selepas pelaksanaan PUTsehingga semua skema YANG memunggah pada ODL. Sehingga ke tahap ini, apabila melakukan ini GET pertanyaan akan memaparkan perkara berikut:

Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab

Padam penghala

Jom buat DELETE permintaan:

  1. Rentetan pertanyaan:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Pada tab Kebenaran, anda mesti menetapkan parameter Basic Auth dan log masuk/kata laluan: admin/admin.

Bahagian 6: Tukar konfigurasi penghala

Mendapatkan konfigurasi

Jom buat GET permintaan:

  1. Rentetan pertanyaan:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. Pada tab Kebenaran, anda mesti menetapkan parameter Basic Auth dan log masuk/kata laluan: admin/admin.

Kami hantar. Harus menerima status "200 OK" dan konfigurasi penghala:

Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab

Buat konfigurasi

Sebagai contoh, mari buat konfigurasi berikut dan ubah suainya:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

Jom buat SELEPAS permintaan:

  1. Rentetan pertanyaan:
    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. Badan permintaan (tab Badan):
    <bgp xmlns="http://yang.juniper.net/junos/conf/protocols">
    <disable/>
    <shutdown>
    </shutdown>
    </bgp>
  3. Pada tab Kebenaran, anda mesti menetapkan parameter Basic Auth dan log masuk/kata laluan: admin/admin.
  4. Pada tab Pengepala, anda perlu menambah dua pengepala:
    • Terima aplikasi/xml
    • Aplikasi Jenis Kandungan/xml

Selepas menghantar, mereka sepatutnya menerima status "204 Tiada Kandungan"

Untuk menyemak sama ada konfigurasi telah berubah, anda boleh menggunakan pertanyaan sebelumnya. Tetapi sebagai contoh, kami akan mencipta satu lagi yang akan memaparkan maklumat hanya tentang protokol yang dikonfigurasikan pada penghala.

Jom buat GET permintaan:

  1. Rentetan pertanyaan:
    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. Pada tab Kebenaran, anda mesti menetapkan parameter Basic Auth dan log masuk/kata laluan: admin/admin.

Selepas melaksanakan permintaan, kita akan melihat perkara berikut:

Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab

Tukar konfigurasi

Mari tukar maklumat tentang protokol BGP. Selepas tindakan kita, ia akan kelihatan seperti ini:

protocols {
    bgp {
        disable;
    }
}

Jom buat PUT permintaan:

  1. Rentetan pertanyaan:
    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. Badan permintaan (tab Badan):
    <protocols xmlns="http://yang.juniper.net/junos/conf/protocols">
    <bgp>
        <disable/>
    </bgp>
    </protocols>
  3. Pada tab Kebenaran, anda mesti menetapkan parameter Basic Auth dan log masuk/kata laluan: admin/admin.
  4. Pada tab Pengepala, anda perlu menambah dua pengepala:
    • Terima aplikasi/xml
    • Aplikasi Jenis Kandungan/xml

Menggunakan sebelumnya GET permintaan, kami melihat perubahan:

Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab

Padamkan konfigurasi

Jom buat DELETE permintaan:

  1. Rentetan pertanyaan:
    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. Pada tab Kebenaran, anda mesti menetapkan parameter Basic Auth dan log masuk/kata laluan: admin/admin.

Apabila memanggil GET permintaan dengan maklumat tentang protokol, kita akan melihat perkara berikut:

Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab

Tambahan:

Untuk menukar konfigurasi, tidak perlu menghantar badan permintaan dalam format XML. Ini juga boleh dilakukan dalam format JSON.

Untuk melakukan ini, sebagai contoh, dalam pertanyaan PUT untuk menukar konfigurasi, gantikan badan permintaan dengan:

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

Jangan lupa untuk menukar pengepala pada tab Pengepala kepada:

  • Terima aplikasi/json
  • Aplikasi Jenis Kandungan/json

Selepas menghantar, kami akan mendapat keputusan berikut (Kami melihat jawapan menggunakan GET permintaan):

Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab

Bahagian 7: Menambah Cisco xRV9000

Apa yang kita semua tentang Juniper, ya Juniper? Mari bercakap tentang Cisco!
Saya menjumpai xRV9000 versi 7.0.2 (binatang yang memerlukan 8Gb RAM dan 4 teras. Ia tidak tersedia secara percuma, jadi hubungi Cisco) - mari jalankan.

Menjalankan bekas

Proses mencipta bekas Docker secara praktikalnya tidak berbeza dengan Juniper. Begitu juga, kami melepaskan fail .qcow2 dengan penghala ke dalam direktori yang sepadan dengan namanya (dalam kes ini, xrv9k) dan laksanakan arahan make docker-image.

Selepas beberapa minit, kita melihat bahawa imej telah dibuat:

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

Kami memulakan bekas:

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

Selepas beberapa ketika, kami melihat bahawa bekas telah bermula:

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

Sambung melalui 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

Menyambungkan penghala ke OpenDaylight

Penambahan berlaku dalam cara yang sama sekali dengan vMX. Kami hanya perlu menukar nama.
PUT permintaan:
Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab

Panggil selepas beberapa ketika GET pertanyaan untuk memeriksa sama ada semuanya bersambung:
Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab

Tukar konfigurasi

Mari kita sediakan konfigurasi berikut:

!
router ospf LAB
 mpls ldp auto-config
!

Jom buat SELEPAS permintaan:

  1. Rentetan pertanyaan:
    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. Badan permintaan (tab Badan):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. Pada tab Kebenaran, anda mesti menetapkan parameter Basic Auth dan log masuk/kata laluan: admin/admin.
  4. Pada tab Pengepala, anda perlu menambah dua pengepala:
    • Terima aplikasi/json
    • Aplikasi Jenis Kandungan/json

Selepas pelaksanaannya, mereka harus menerima status "204 Tiada Kandungan".

Mari kita semak apa yang kita dapat.
Untuk melakukan ini, kami akan mencipta GET permintaan:

  1. Rentetan pertanyaan:
    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. Pada tab Kebenaran, anda mesti menetapkan parameter Basic Auth dan log masuk/kata laluan: admin/admin.

Selepas pelaksanaan, anda akan melihat perkara berikut:

Automasi perkhidmatan rangkaian atau cara membina makmal maya menggunakan OpenDaylight, Postman dan Vrnetlab

Untuk mengalih keluar penggunaan konfigurasi DELETE:

  1. Rentetan pertanyaan:
    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. Pada tab Kebenaran, anda mesti menetapkan parameter Basic Auth dan log masuk/kata laluan: admin/admin.

Kesimpulan

Secara keseluruhan, seperti yang anda mungkin perasan, prosedur untuk menyambungkan Cisco dan Juniper ke OpenDaylight tidak berbeza - ini membuka skop yang agak luas untuk kreativiti. Bermula daripada pengurusan konfigurasi semua komponen rangkaian dan berakhir dengan penciptaan dasar rangkaian anda sendiri.
Dalam tutorial ini, saya telah memberikan contoh paling mudah tentang cara anda boleh berinteraksi dengan peralatan rangkaian menggunakan OpenDaylight. Tidak syak lagi, pertanyaan daripada contoh di atas boleh dibuat lebih kompleks dan menyediakan keseluruhan perkhidmatan dengan satu klik tetikus - semuanya terhad hanya oleh imaginasi anda *

Perlu diteruskan ...

PS

Jika anda tiba-tiba sudah mengetahui semua ini atau, sebaliknya, telah melalui dan tenggelam dalam jiwa ODL, maka saya cadangkan melihat ke arah membangunkan aplikasi pada pengawal ODL. Anda boleh mulakan oleh itu.

Eksperimen yang berjaya!

Rujukan

  1. Vrnetlab: Tiru rangkaian menggunakan KVM dan Docker /Brian Linkletter
  2. Buku Masakan OpenDaylight / Mathieu Lemay, Alexis de Talhouet, Et al
  3. Kebolehprograman Rangkaian dengan YANG / Benoît Claise, Loe Clarke, Jan Lindblad
  4. Pembelajaran XML, Edisi Kedua / Erik T. Ray
  5. DevOps Berkesan / Jennifer Davis, Ryn Daniels

Sumber: www.habr.com

Tambah komen