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 powiem Ci jak skonfigurować OpenDaylight do pracy ze sprzętem sieciowym i pokażę Ci również, jak go używać Listonosz i proste KONF.REST żąda, aby ten sprzęt mógł być kontrolowany. Nie będziemy pracować ze sprzętem, ale zamiast tego wdrożymy małe laboratoria wirtualne z jednym routerem, korzystając z Laboratorium sieciowe przez Ubuntu 20.04 LTS.

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

Zawartość

  • Niezbędna wiedza
  • Часть 1:krótko omówić OpenDaylight (zwany dalej ODL), Listonosz и Laboratorium sieciowe i dlaczego ich potrzebujemy
  • Часть 2:opis wirtualnego laboratorium
  • Часть 3:ustawiamy OpenDaylight
  • Часть 4:ustawiamy Laboratorium sieciowe
  • Часть 5:za pomocą Listonosz podłącz wirtualny router (Jałowiec vMX) Do ODL
  • Часть 6:pobierz i zmień konfigurację routera za pomocą Listonosz и ODL
  • Часть 7:dodanie Cisco xRV9000
  • wniosek
  • PS
  • Bibliografia

Niezbędna wiedza

Aby artykuł nie stał się długą opowieścią, pominąłem pewne szczegóły techniczne (i podałem odnośniki do literatury, w której można o nich przeczytać).

W związku z tym proponuję Ci tematy, które warto (choć nie jest to konieczne) poznać 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
  • Na podstawie poziomu abstrakcji usług opartego na modelach (MD-SAL)
  • Wykorzystuje modele YANG do automatycznego generowania interfejsów API RESTCONF dla urządzeń sieciowych

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

Więcej informacji na temat OpenDaylight można znaleźć 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 on jako sposób na wysyłanie żądań REST do API OpenDaylight. Oczywiście, możesz wysyłać prośby ręcznie, ale w programie Postman wszystko wygląda bardzo przejrzyście i idealnie nadaje się do naszych celów.

Dla tych, którzy chcą zgłębić temat: istnieje wiele materiałów edukacyjnych na ten temat (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 i inne.
  • open Source

Bardzo ciekawe, choć mało znane narzędzie. W naszym przypadku użyjemy go do uruchomienia Juniper vMX i Cisco xRV9000 na zwykłym komputerze. Ubuntu 20.04 LTS.

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

Część 2: Praca laboratoryjna

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 wzrasta w Doker pojemnik (z środkami Laboratorium sieciowe) i działa jak standardowy wirtualny router.
  • ODL podłączony do routera i umożliwia sterowanie nim.
  • Listonosz działa na oddzielnej maszynie i wysyłamy przez nią polecenia ODL: aby podłączyć/usunąć router, zmienić konfigurację, itp.

Komentarz do urządzenia systemowego

Jałowiec vMX и ODL do stabilnego działania wymagają sporej ilości zasobów. Tylko jeden vMX wymaga 6 GB pamięci RAM i 4 rdzeni. Dlatego postanowiono przenieść wszystkie „ciężkie” urządzenia na osobną maszynę (Heulett Packard Enterprise MicroServer ProLiant Gen8, Ubuntu 20.04 LTS). Router oczywiście na nim nie „lata”, ale jego wydajność jest wystarczająca do małych eksperymentów.

Część 3: Konfigurowanie OpenDaylight

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

Aktualna wersja ODL w momencie pisania tego tekstu to Magnesium SR1

1) Zainstaluj Java OpenJDK 11 (aby uzyskać bardziej szczegółową instalację tutaj)

ubuntu:~$ sudo apt install default-jdk

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

Na tym etapie ODL powinien się uruchomić i znajdziemy się w konsoli (Do dostępu zewnętrznego używany jest port 8181, którego użyjemy później).

Następnie instalujemy Funkcje ODL, zaprojektowany 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. (Więcej na ten temat możesz przeczytać tutaj 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 Laboratorium sieciowe Do jego działania konieczna jest instalacja pakietów niezbędnych do jego uruchomienia. 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

Instalowanie Vrnetlab

Do instalacji Laboratorium sieciowe sklonuj odpowiednie repozytorium z githuba:

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

Przejdź do katalogu wirtualna sieć:

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 Laboratorium sieciowe, ma swoją własną, unikalną procedurę konfiguracji. W przypadku Jałowiec vMX musimy tylko przesłać archiwum .tgz za pomocą routera (możesz je pobrać z Oficjalna strona) do katalogu vmx i uruchom polecenie make:

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

Składanie obrazu vMX zajmie to około 10-20 minut. Czas zrobić sobie kawę!

Dlaczego tak długo, pytasz?

Tłumaczenie odpowiedź odpowiedź autora na to pytanie:

„Dzieje się tak, ponieważ VCP (Control Plane) uruchamia się po raz pierwszy, odczytuje plik konfiguracyjny, który określa, czy będzie działać jako VRR VCP w vMX. Wcześniej to uruchomienie było wykonywane podczas uruchamiania Dockera, ale oznaczało to, że VCP był zawsze restartowany raz, zanim wirtualny router był dostępny, co prowadziło do długich czasów rozruchu (około 5 minut). Teraz pierwsze uruchomienie VCP jest wykonywane podczas kompilacji obrazu Dockera, a ponieważ kompilacji Dockera nie można uruchamiać z opcją --privileged, oznacza to, że qemu działa bez sprzętowej akceleracji KVM, a zatem kompilacja trwa bardzo długo. Podczas tego procesu jest dużo danych wyjściowych dziennika, więc przynajmniej można zobaczyć, co się dzieje. Myślę, że długa kompilacja nie jest taka zła, ponieważ budujemy obraz raz i uruchamiamy go wiele razy”.

Następnie będziesz mógł zobaczyć 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

Uruchamianie kontenera vr-vmx

Uruchom poleceniem:

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

Następnie możemy przyjrzeć się informacjom 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, Laboratorium sieciowe tworzy użytkownika na routerze VR-netlab9.
Połącz za pomocą ssh:

ubuntu:~$ ssh vrnetlab@172.17.0.2
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 dostawców można znaleźć na stronie projekt github w odpowiednich katalogach.

Część 5: Postman — podłączanie routera do OpenDaylight

Instalowanie Postmana

Aby zainstalować, wystarczy pobrać 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 (zakładka Body):
    <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 i login/hasło: admin/admin. Jest to wymagane do uzyskania dostępu do ODL:
    Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab
  4. Na karcie Nagłówki należy dodać dwa nagłówki:
    • Akceptuj aplikację/xml
    • Typ zawartości aplikacja/xml

Nasze zapytanie zostało wygenerowane. Wysyłamy. Jeżeli wszystko zostało skonfigurowane poprawnie, powinniśmy otrzymać status „201 Utworzono”:

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

Co robi to zapytanie?

Tworzymy węzeł wewnątrz ODL z parametrami prawdziwego 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 węzeł.

Ponadto nazwa routera jest odpowiednia identyfikator węzła, adres routera — gospodarz i tak dalej.

Najciekawsza jest ostatnia linijka. Schemat-katalog-pamięci-podręcznej tworzy katalog, do którego pobierane są wszystkie pliki Schemat YANG podłączony router. Można je znaleźć w $ODL_ROOT/cache/jun01_cache.

Sprawdzanie połączenia z routerem

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 i login/hasło: admin/admin.

Wysyłamy. Powinien otrzymać status „200 OK” i listę wszystkich obsługiwanych urządzeń 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 konieczne było odczekanie około 10 minut po wykonaniu PUT, pa wszystkim Schemat YANG zostanie rozładowany na ODL. Do tego momentu podczas wykonywania tej czynności GET Zapytanie zwróci następujące wyniki:

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

Usuwanie routera

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 i login/hasło: admin/admin.

Część 6: Zmiana konfiguracji 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 i login/hasło: admin/admin.

Wysyłamy. Powinieneś otrzymać status „200 OK” i 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 ją zmodyfikujmy:

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 (zakładka Body):
    <bgp xmlns="http://yang.juniper.net/junos/conf/protocols">
    <disable/>
    <shutdown>
    </shutdown>
    </bgp>
  3. Na karcie Autoryzacja należy ustawić parametr Basic Auth i login/hasło: admin/admin.
  4. Na karcie Nagłówki należy dodać dwa nagłówki:
    • Akceptuj aplikację/xml
    • Typ zawartości aplikacja/xml

Po wysłaniu powinieneś otrzymać status „204 Brak zawartości”

Aby sprawdzić czy konfiguracja uległa zmianie, możesz skorzystać z poprzedniego zapytania. Jednak dla przykładu utworzymy 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 i login/hasło: admin/admin.

Po wykonaniu zapytania zobaczymy następujący widok:

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

Zmiana konfiguracji

Zmieńmy informacje o protokole BGP. Po wykonaniu naszych czynności będzie to wyglądać 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 (zakładka Body):
    <protocols xmlns="http://yang.juniper.net/junos/conf/protocols">
    <bgp>
        <disable/>
    </bgp>
    </protocols>
  3. Na karcie Autoryzacja należy ustawić parametr Basic Auth i login/hasło: admin/admin.
  4. Na karcie Nagłówki należy dodać dwa nagłówki:
    • Akceptuj aplikację/xml
    • Typ zawartości aplikacja/xml

Korzystając z poprzedniego GET żądanie, 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 i login/hasło: admin/admin.

Kiedy dzwonisz GET poproszeni o informacje o protokołach zobaczymy następujące wyniki:

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

Dodanie:

Aby zmienić konfigurację, nie jest konieczne wysyłanie treści żądania w formacie XML. Można to również zrobić w formacie JSON.

W tym celu na przykład w żądaniu PUT aby zmienić konfigurację zastępujemy treść żądania następującą:

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

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

  • Akceptuj aplikację/json
  • Typ zawartości aplikacja/json

Po wysłaniu otrzymamy następujący wynik (Odpowiedź sprawdzamy za pomocą GET wniosek):

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

Część 7: Dodawanie Cisco xRV9000

Czemu wszyscy rozmawiamy o jałowcu, jałowcu? Porozmawiajmy o Cisco!
Znalazłem wersję xRV9000 7.0.2 (bestia, która potrzebuje 8 GB pamięci RAM i 4 rdzeni). Nie jest dostępna bezpłatnie, więc skontaktuj się z Cisco) - uruchomimy go.

Prowadzenie kontenera

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

Po kilku minutach zobaczymy, ż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 pewnym czasie widzimy, że kontener został uruchomiony:

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 się przez SSH:

ubuntu@ubuntu:~$ ssh vrnetlab@172.17.0.2
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 sposób dokładnie podobny do vMX. Wystarczy zmienić nazwy.
PUT wniosek:
Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

Po pewnym czasie dzwonimy GET zapytanie sprawdzające czy wszystko jest podłączone:
Automatyzacja usług sieciowych, czyli jak zbudować wirtualne laboratorium z wykorzystaniem OpenDaylight, Postman i Vrnetlab

Zmiana konfiguracji

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 (zakładka Body):
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. Na karcie Autoryzacja należy ustawić parametr Basic Auth i login/hasło: admin/admin.
  4. Na karcie Nagłówki należy dodać dwa nagłówki:
    • Akceptuj aplikację/json
    • Typ zawartości aplikacja/json

Po jego wykonaniu powinieneś otrzymać status "204 Brak zawartości".

Sprawdźmy, co mamy.
Aby to zrobić, utworzymy 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 i login/hasło: admin/admin.

Po wykonaniu polecenia powinieneś zobaczyć następujące informacje:

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 i login/hasło: admin/admin.

wniosek

Jak zapewne zauważyłeś, procedury podłączania Cisco i Juniper do OpenDaylight niczym się nie różnią, co otwiera ogromne pole do popisu dla kreatywności. Od zarządzania konfiguracją wszystkich komponentów sieciowych po tworzenie własnych zasad sieciowych.
W tym samouczku podałem podstawowe przykłady interakcji ze sprzętem sieciowym za pomocą OpenDaylight. Oczywiście zapytania z podanych przykładów można uczynić dużo bardziej złożonymi, a całe usługi można skonfigurować jednym kliknięciem myszy - wszystko ogranicza jedynie Twoja wyobraźnia*

To be continued ...

PS

Jeśli już to wszystko wiesz lub wręcz przeciwnie, masz to już za sobą i ODL zdobył Twoje serce, to polecam zainteresować się tworzeniem aplikacji na kontrolerze ODL. Możemy zacząć stąd.

Udane eksperymenty!

Referencje

  1. Vrnetlab: Emulacja sieci za pomocą KVM i Dockera / Brian Linkletter
  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. Nauka XML, drugie wydanie / Erik T. Ray
  5. Efektywne DevOps / Jennifer Davis, Ryn Daniels

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

Kup niezawodny hosting dla stron z ochroną DDoS, serwery VPS VDS 🔥 Kup niezawodny hosting stron internetowych z ochroną DDoS, serwery VPS VDS | ProHoster