Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

W tym artykule pokażę, jak skonfigurować OpenDaylight pracować ze sprzętem sieciowym, a także pokazać, jak z niego korzystać Listonosz i proste KONF.REST żądania, to urządzenie może być kontrolowane. Nie będziemy pracować ze sprzętem, ale zamiast tego wdrożymy małe wirtualne laboratoria z użyciem jednego routera Vrnetlab przez Ubuntu LTS 20.04.

Najpierw pokażę szczegółowe ustawienia na przykładzie routera Jałowiec vMX 20.1R1.11, a następnie porównujemy go z ustawieniem Cisco xRV9000 7.0.2.

Zawartość

  • Wymagana wiedza
  • Часть 1: omówić krótko OpenDaylight (dalej ODL), Listonosz и Vrnetlab i dlaczego ich potrzebujemy
  • Часть 2: opis wirtualnego laboratorium
  • Часть 3: skonfiguruj OpenDaylight
  • Часть 4: skonfiguruj Vrnetlab
  • Часть 5: używając Listonosz podłącz wirtualny router (Jałowiec vMX) Do ODL
  • Часть 6: pobierz i zmień konfigurację routera za pomocą Listonosz и ODL
  • Часть 7: dodaj Cisco xRV9000
  • wniosek
  • PS
  • Bibliografia

Wymagana wiedza

Aby artykuł nie zamienił się w arkusz, pominąłem kilka szczegółów technicznych (z linkami do literatury, gdzie można o nich poczytać).

W związku z tym proponuję Ci tematy, które dobrze byłoby (choć prawie niekonieczne) znać przed lekturą:

Część 1: trochę teorii

Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

  • Otwarta platforma SDN do zarządzania i automatyzacji wszelkiego rodzaju sieci, obsługiwana przez Linux Foundation
  • Jawa w środku
  • W oparciu o poziom abstrakcji usług oparty na modelu (MD-SAL)
  • Wykorzystuje modele YANG do automatycznego generowania interfejsów API RESTCONF dla urządzeń sieciowych

Główny moduł do zarządzania siecią. To za jej pośrednictwem będziemy komunikować się z podłączonymi urządzeniami. Zarządzane przez własne API.

Możesz przeczytać więcej o OpenDaylight tutaj.

Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

  • Narzędzie do testowania API
  • Prosty i łatwy w użyciu interfejs

W naszym przypadku interesuje nas to jako środek do wysyłania żądań REST do OpenDaylight API. Możesz oczywiście wysyłać żądania ręcznie, ale w Postmanie wszystko wygląda bardzo przejrzyście i idealnie pasuje do naszych celów.

Dla tych, którzy chcą kopać: napisano na nim wiele materiałów szkoleniowych (Przykładowo).

Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

  • Narzędzie do wdrażania wirtualnych routerów w Dockerze
  • Obsługuje: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR itp.
  • open Source

Bardzo ciekawy, choć mało znany instrument. W naszym przypadku użyjemy go do uruchomienia Juniper vMX i Cisco xRV9000 na zwykłym Ubuntu 20.04 LTS.

Więcej na ten temat można przeczytać na strona projektu.

Część 2: Laboratorium

W tym samouczku skonfigurujemy następujący system:

Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

Jak to działa

  • Jałowiec vMX wznosi się Doker kontener (tzw Vrnetlab) i działa jako najpopularniejszy router wirtualny.
  • ODL podłączony do routera i umożliwia sterowanie nim.
  • Listonosz uruchamiamy na osobnej maszynie i za jej pośrednictwem wysyłamy polecenia ODL: aby podłączyć / usunąć router, zmienić konfigurację itp.

Komentarz do urządzenia systemu

Jałowiec vMX и ODL wymagają dość dużo zasobów do ich stabilnej pracy. Tylko jeden vMX prosi o 6 Gb RAM i 4 rdzenie. Dlatego postanowiono przenieść wszystkie „ciężkie” do osobnej maszyny (Heulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). Router oczywiście na nim nie „lata”, ale wydajność wystarcza na małe eksperymenty.

Część 3: Skonfiguruj OpenDaylight

Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

Obecna wersja ODL w chwili pisania tego tekstu to Magnesium SR1

1) Zainstaluj Java Open JDK 11 (dla bardziej szczegółowej instalacji tutaj)

ubuntu:~$ sudo apt install default-jdk

2) Znajdź i pobierz najnowszą wersję ODL stąd
3) Rozpakuj pobrane archiwum
4) Przejdź do wynikowego katalogu
5) Uruchom ./bin/karaf

Na tym etapie ODL powinien się uruchomić i znajdziemy się w konsoli (port 8181 służy do dostępu z zewnątrz, z którego skorzystamy później).

Następnie zainstaluj Funkcje ODLzaprojektowany do pracy z protokołami NETKONF и KONF.REST. Aby to zrobić w konsoli ODL wykonujemy:

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

To jest najprostsza konfiguracja. ODL zakończony. (Aby uzyskać więcej informacji, zob tutaj).

Część 4: Konfigurowanie Vrnetlab

Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

Przygotowanie systemu

Przed montażem Vrnetlab musisz zainstalować pakiety wymagane do jego działania. Jak na przykład Doker, odrzutowiec, chrzanić:

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

Instalacja Vrnetlaba

Do instalacji Vrnetlab sklonuj odpowiednie repozytorium z github:

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

Przejdź do katalogu vrnetlab:

ubuntu:~$ cd ~/vrnetlab

Tutaj możesz zobaczyć wszystkie skrypty potrzebne do uruchomienia. Należy pamiętać, że dla każdego typu routera utworzono odpowiedni katalog:

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

Utwórz obraz routera

Każdy obsługiwany router Vrnetlab, ma własną unikalną procedurę konfiguracji. Gdy Jałowiec vMX musimy tylko wgrać archiwum .tgz z routerem (można je pobrać z Oficjalna strona) do katalogu vmx i uruchom komendę make:

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

Budowanie wizerunku vMX zajmie około 10-20 minut. Pora iść na kawę!

Dlaczego tak długo, pytasz?

Tłumaczenie odpowiedź autor tego pytania:

„Dzieje się tak, ponieważ przy pierwszym uruchomieniu VCP (Control Plane) odczytuje plik konfiguracyjny, który określa, czy będzie działał jako VRR VCP w vMX. Wcześniej to uruchamianie odbywało się podczas uruchamiania Dockera, ale oznaczało to, że VCP był zawsze restartowany raz, zanim wirtualny router stał się dostępny, co skutkowało długim czasem rozruchu (około 5 minut) Teraz pierwsze uruchomienie VCP odbywa się podczas budowania obrazu Dockera, a ponieważ kompilacji Dockera nie można uruchomić z - opcja uprzywilejowana, oznacza to, że qemu działa bez akceleracji sprzętowej KVM, przez co kompilacja zajmuje bardzo dużo czasu. Podczas tego procesu wyprowadzanych jest wiele logów, więc przynajmniej widać, co się dzieje. Myślę, że długa kompilacja nie jest takie straszne, bo raz tworzymy obraz, ale uruchamiamy wiele”.

Po tym, jak zobaczysz obraz naszego routera w Doker:

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

Uruchom kontener vr-vmx

Zaczynamy od polecenia:

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

Następnie możemy zobaczyć informacje o aktywnych kontenerach:

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

Łączenie z routerem

Adres IP interfejsu sieciowego routera można uzyskać za pomocą następującego polecenia:

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

Domyślny, Vrnetlab tworzy użytkownika na routerze vrnetlab/VR-netlab9.
Łączenie z 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

To kończy konfigurację routera.

Zalecenia dotyczące instalacji routerów różnych producentów można znaleźć pod adresem projekt na githubie w odpowiednich katalogach.

Część 5: Listonosz - podłącz router do OpenDaylight

Instalacja listonosza

Aby zainstalować, po prostu pobierz aplikację stąd.

Podłączanie routera do ODL

stwórzmy PUT wniosek:

Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

  1. Ciąg zapytania:
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Treść żądania (karta Treść):
    <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 karcie Autoryzacja należy ustawić parametr Basic Auth oraz login/hasło: admin/admin. Jest to wymagane, aby uzyskać dostęp do ODL:
    Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab
  4. Na karcie Nagłówki musisz dodać dwa nagłówki:
    • Zaakceptuj aplikację/xml
    • Aplikacja typu zawartości/xml

Nasza prośba została spełniona. Wysyłamy. Jeśli wszystko zostało poprawnie skonfigurowane, powinniśmy zwrócić status „201 Created”:

Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

Co robi ta prośba?

Tworzymy node wewnątrz ODL z parametrami rzeczywistego routera, do którego chcemy uzyskać dostęp.

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

Są to wewnętrzne przestrzenie nazw XML (Przestrzeń nazw XML) dla ODL zgodnie z którym tworzy node.

Ponadto odpowiednio nazwa routera to identyfikator węzła, adres routera - gospodarz i tak dalej.

Najciekawsza linia to ostatnia. Katalog-pamięć podręczna schematu tworzy katalog, w którym pobierane są wszystkie pliki Schemat YANG podłączony router. Można je znaleźć w $ODL_ROOT/cache/jun01_cache.

Sprawdzanie połączenia routera

stwórzmy GET wniosek:

  1. Ciąg zapytania:
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. Na karcie Autoryzacja należy ustawić parametr Basic Auth oraz login/hasło: admin/admin.

Wysyłamy. Powinien otrzymać status "200 OK" oraz listę wszystkich obsługiwanych przez urządzenie Schemat YANG:

Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

Komentarz: Aby zobaczyć to drugie, w moim przypadku trzeba było odczekać około 10 minut po egzekucji PUTaż wszystko Schemat YANG rozładować na ODL. Do tego momentu, podczas wykonywania tego GET zapytanie wyświetli następujące informacje:

Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

Usuń router

stwórzmy DELETE wniosek:

  1. Ciąg zapytania:
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. Na karcie Autoryzacja należy ustawić parametr Basic Auth oraz login/hasło: admin/admin.

Część 6: Zmień konfigurację routera

Pobieranie konfiguracji

stwórzmy GET wniosek:

  1. Ciąg zapytania:
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. Na karcie Autoryzacja należy ustawić parametr Basic Auth oraz login/hasło: admin/admin.

Wysyłamy. Powinien otrzymać status "200 OK" oraz konfigurację routera:

Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

Utwórz konfigurację

Jako przykład utwórzmy następującą konfigurację i zmodyfikujmy ją:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

stwórzmy POST wniosek:

  1. Ciąg zapytania:
    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. Treść żądania (karta Treść):
    <bgp xmlns="http://yang.juniper.net/junos/conf/protocols">
    <disable/>
    <shutdown>
    </shutdown>
    </bgp>
  3. Na karcie Autoryzacja należy ustawić parametr Basic Auth oraz login/hasło: admin/admin.
  4. Na karcie Nagłówki musisz dodać dwa nagłówki:
    • Zaakceptuj aplikację/xml
    • Aplikacja typu zawartości/xml

Po wysłaniu powinny otrzymać status „204 Brak treści”

Aby sprawdzić, czy konfiguracja uległa zmianie, możesz użyć poprzedniego zapytania. Ale na przykład stworzymy inny, który będzie wyświetlał informacje tylko o protokołach skonfigurowanych na routerze.

stwórzmy GET wniosek:

  1. Ciąg zapytania:
    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 karcie Autoryzacja należy ustawić parametr Basic Auth oraz login/hasło: admin/admin.

Po wykonaniu żądania zobaczymy:

Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

Zmień konfigurację

Zmieńmy informacje o protokole BGP. Po naszych działaniach będzie to wyglądało tak:

protocols {
    bgp {
        disable;
    }
}

stwórzmy PUT wniosek:

  1. Ciąg zapytania:
    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. Treść żądania (karta Treść):
    <protocols xmlns="http://yang.juniper.net/junos/conf/protocols">
    <bgp>
        <disable/>
    </bgp>
    </protocols>
  3. Na karcie Autoryzacja należy ustawić parametr Basic Auth oraz login/hasło: admin/admin.
  4. Na karcie Nagłówki musisz dodać dwa nagłówki:
    • Zaakceptuj aplikację/xml
    • Aplikacja typu zawartości/xml

Korzystanie z poprzedniego GET wniosek, widzimy zmiany:

Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

Usuń konfigurację

stwórzmy DELETE wniosek:

  1. Ciąg zapytania:
    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 karcie Autoryzacja należy ustawić parametr Basic Auth oraz login/hasło: admin/admin.

Kiedy dzwonisz GET żądanie z informacją o protokołach, zobaczymy:

Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

Dodanie:

W celu zmiany konfiguracji nie jest konieczne przesyłanie treści żądania w formacie XML. Można to również zrobić w formacie JSON.

Aby to zrobić, na przykład w zapytaniu PUT aby zmienić konfigurację, zamień treść żądania na:

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

Nie zapomnij zmienić nagłówków na karcie Nagłówki na:

  • Zaakceptuj aplikację/json
  • Aplikacja typu zawartości/json

Po wysłaniu otrzymamy następujący wynik (Patrzymy na odpowiedź za pomocą GET wniosek):

Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

Część 7: Dodawanie Cisco xRV9000

O co nam chodzi w Juniper, tak, Juniper? Porozmawiajmy o Cisco!
Znalazłem xRV9000 w wersji 7.0.2 (bestia, która potrzebuje 8Gb RAM i 4 rdzenie. Nie jest dostępna za darmo, więc skontaktuj się Cisco) - uruchommy to.

Prowadzenie kontenera

Proces tworzenia kontenera Docker praktycznie nie różni się od Junipera. Podobnie upuszczamy plik .qcow2 z routerem do katalogu odpowiadającego jego nazwie (w tym przypadku xrv9k) i wykonujemy polecenie make docker-image.

Po kilku minutach widzimy, że obraz został utworzony:

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

Uruchamiamy kontener:

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

Po chwili wyglądamy, że kontener się uruchomił:

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

Połącz przez 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

Podłączanie routera do OpenDaylight

Dodawanie odbywa się w zupełnie podobny sposób z vMX. Musimy tylko zmienić nazwy.
PUT wniosek:
Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

Zadzwoń po chwili GET zapytanie, aby sprawdzić, czy wszystko jest połączone:
Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

Zmień konfigurację

Ustawmy następującą konfigurację:

!
router ospf LAB
 mpls ldp auto-config
!

stwórzmy POST wniosek:

  1. Ciąg zapytania:
    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. Treść żądania (karta Treść):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. Na karcie Autoryzacja należy ustawić parametr Basic Auth oraz login/hasło: admin/admin.
  4. Na karcie Nagłówki musisz dodać dwa nagłówki:
    • Zaakceptuj aplikację/json
    • Aplikacja typu zawartości/json

Po jego wykonaniu powinny otrzymać status „204 Brak treści”.

Sprawdźmy, co mamy.
Aby to zrobić, stworzymy GET wniosek:

  1. Ciąg zapytania:
    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 karcie Autoryzacja należy ustawić parametr Basic Auth oraz login/hasło: admin/admin.

Po wykonaniu powinieneś zobaczyć:

Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

Aby usunąć konfigurację, użyj DELETE:

  1. Ciąg zapytania:
    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 karcie Autoryzacja należy ustawić parametr Basic Auth oraz login/hasło: admin/admin.

wniosek

W sumie, jak być może zauważyłeś, procedury łączenia Cisco i Junipera z OpenDaylight nie różnią się - otwiera to dość szerokie pole do kreatywności. Począwszy od zarządzania konfiguracją wszystkich komponentów sieciowych, a skończywszy na stworzeniu własnych polityk sieciowych.
W tym samouczku podałem najprostsze przykłady interakcji ze sprzętem sieciowym za pomocą OpenDaylight. Bez wątpienia zapytania z powyższych przykładów można znacznie bardziej rozbudować i skonfigurować całe usługi jednym kliknięciem myszki - wszystko ogranicza tylko wyobraźnia *

To be continued ...

PS

Jeśli nagle już to wszystko wiesz lub wręcz przeciwnie, przeszedłeś i zatopiłeś się w duszy ODL, to polecam przyjrzeć się rozwijaniu aplikacji na kontrolerze ODL. Możesz zaczynać stąd.

Udane eksperymenty!

Referencje

  1. Vrnetlab: Emuluj sieci za pomocą KVM i Docker / Briana Linklettera
  2. Książka kucharska OpenDaylight / Mathieu Lemay, Alexis de Talhouet i in.
  3. Programowalność sieciowa z YANG / Benoît Claise, Loe Clarke, Jan Lindblad
  4. Uczenie się XML, wydanie drugie / Erik T. Ray
  5. Skuteczne DevOps / Jennifer Davis, Ryn Daniels

Źródło: www.habr.com

Dodaj komentarz