የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ

የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ

በዚህ ጽሑፍ ውስጥ, እንዴት ማዋቀር እንዳለብዎ እነግርዎታለሁ OpenDaylight ከአውታረ መረብ መሳሪያዎች ጋር ለመስራት እና እንዲሁም እንዴት እንደሚጠቀሙ ያሳዩ ፖስትማን እና ቀላል RESTCONF ጥያቄዎች, ይህ መሳሪያ ቁጥጥር ሊደረግበት ይችላል. ከሃርድዌር ጋር አንሰራም ፣ ግን በምትኩ አንድ ራውተር በመጠቀም ትናንሽ ምናባዊ ላቦራቶሪዎችን እናሰማራለን። Vrnetlab አበቃ ኡቡንቱ 20.04 LTS.

የራውተርን ምሳሌ በመጠቀም በመጀመሪያ ዝርዝር ቅንጅቶችን አሳያለሁ Juniper vMX 20.1R1.11, ከዚያም ከቅንብሩ ጋር እናነፃፅራለን Cisco xRV9000 7.0.2.

ይዘቶች

  • ተፈላጊ እውቀት
  • የ 1 ክፍል: ባጭሩ ተወያዩ ክፍት የቀን ብርሃን (ከዚህ በኋላ ኦ.ኤል.ኤል.), ፖስትማን и Vrnetlab እና ለምን ያስፈልገናል
  • የ 2 ክፍልየቨርቹዋል ላብራቶሪ መግለጫ
  • የ 3 ክፍል: ማበጀት OpenDaylight
  • የ 4 ክፍል: ማበጀት Vrnetlab
  • የ 5 ክፍል: በመጠቀም ፖስትማን ምናባዊ ራውተር ያገናኙ (Juniper vMX) ወደ ኦ.ኤል.ኤል.
  • የ 6 ክፍል: አግኝ እና ራውተር ውቅር በመጠቀም ቀይር ፖስትማን и ኦ.ኤል.ኤል.
  • የ 7 ክፍል: Cisco xRV9000 አክል
  • መደምደሚያ
  • PS
  • መጽሃፍ ቅዱስ

ተፈላጊ እውቀት

ጽሁፉ ወደ ሉህ እንዳይቀየር አንዳንድ ቴክኒካዊ ዝርዝሮችን (ስለ ስነ-ጽሑፍ አገናኞች ስለእነሱ ማንበብ ይችላሉ) አስቀርቻለሁ።

ከዚህ ጋር በተያያዘ፣ ከማንበብዎ በፊት ማወቅ ጥሩ (ነገር ግን አስፈላጊ አይደለም) ርዕሶችን አቀርባለሁ።

ክፍል 1: አንዳንድ ጽንሰ-ሐሳብ

የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ

  • ሁሉንም አይነት አውታረ መረቦችን ለማስተዳደር እና በራስ ሰር የሚሰራ ክፍት የኤስዲኤን መድረክ፣ የሚደገፍ Linux Foundation
  • ውስጥ ጃቫ
  • በሞዴል የሚመራ የአገልግሎት ማጠቃለያ ደረጃ (MD-SAL) ላይ የተመሠረተ
  • RESTCONF ኤፒአይዎችን ለአውታረ መረብ መሳሪያዎች በራስ-ሰር ለማመንጨት YANG ሞዴሎችን ይጠቀማል

ለአውታረ መረብ አስተዳደር ዋናው ሞጁል. ከተገናኙ መሳሪያዎች ጋር የምንገናኘው በእሱ በኩል ነው. በራሱ ኤፒአይ የሚተዳደር።

ስለ Opendaylight የበለጠ ማንበብ ትችላለህ እዚህ.

የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ

  • የኤፒአይ ሙከራ መሣሪያ
  • በይነገጽ ለመጠቀም ቀላል እና ቀላል

በእኛ ሁኔታ፣ የREST ጥያቄዎችን ወደ OpenDaylight API ለመላክ እንደ መንገድ እንፈልገዋለን። በእርግጥ ጥያቄዎችን እራስዎ መላክ ይችላሉ ፣ ግን በፖስታ ቤት ውስጥ ሁሉም ነገር በጣም ግልፅ እና ከዓላማችን ጋር የሚስማማ ነው።

መቆፈር ለሚፈልጉ: ብዙ የስልጠና ቁሳቁሶች በላዩ ላይ ተጽፈዋል (ለምሳሌ).

የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ

  • በ Docker ውስጥ ምናባዊ ራውተሮችን ለማሰማራት መሳሪያ
  • ይደግፋል: Cisco XRv, Juniper vMX, Arista vEOS, Nokia VSR, ወዘተ.
  • ክፍት ምንጭ

በጣም የሚስብ ነገር ግን ብዙም የማይታወቅ መሳሪያ. በእኛ ሁኔታ, በመደበኛ ኡቡንቱ 9000 LTS ላይ Juniper vMX እና Cisco xRV20.04 ን ለማስኬድ እንጠቀማለን.

ስለ እሱ የበለጠ በ ላይ ማንበብ ይችላሉ። የፕሮጀክት ገጽ.

ክፍል 2፡ ቤተ ሙከራ

በዚህ መማሪያ ውስጥ የሚከተለውን ስርዓት እናዘጋጃለን፡

የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ

ይህን ሥራ የሚያደርገው እንዴት ነው?

  • Juniper vMX ውስጥ ይነሳል Docker መያዣ (በማለት Vrnetlab) እና እንደ በጣም የተለመደው ምናባዊ ራውተር ይሰራል.
  • ኦ.ኤል.ኤል. ከ ራውተር ጋር የተገናኘ እና እንዲቆጣጠሩት ይፈቅድልዎታል.
  • ፖስትማን በተለየ ማሽን ላይ ተነሳ እና በእሱ በኩል ትዕዛዞችን እንልካለን። ኦ.ኤል.ኤል.ራውተርን ለማገናኘት / ለማስወገድ, አወቃቀሩን ለመለወጥ, ወዘተ.

በስርዓቱ መሣሪያ ላይ አስተያየት

Juniper vMX и ኦ.ኤል.ኤል. ለተረጋጋ ሥራቸው ብዙ ሀብቶችን ይፈልጋሉ ። አንድ ብቻ vMX 6 ጊባ ራም እና 4 ኮሮች ይጠይቃል። ስለዚህ ሁሉንም "ከባድ ክብደቶች" ወደ የተለየ ማሽን ለማንቀሳቀስ ተወስኗል (ሄውሌት ፓካርድ ኢንተርፕራይዝ ማይክሮሰርቨር ፕሮሊየንት Gen8፣ ኡቡንቱ 20.04 LTS). ራውተር, በእርግጥ, በእሱ ላይ "አይበርም", ነገር ግን አፈፃፀሙ ለአነስተኛ ሙከራዎች በቂ ነው.

ክፍል 3፡ ክፍት የቀን ብርሃንን ያዋቅሩ

የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ

ይህ በሚጻፍበት ጊዜ የአሁኑ የኦዲኤል እትም ማግኒዥየም SR1 ነው።

1) ጫን ጃቫ ክፈት JDK 11 (ለበለጠ ዝርዝር ጭነት እዚህ)

ubuntu:~$ sudo apt install default-jdk

2) የቅርብ ጊዜውን ግንባታ ይፈልጉ እና ያውርዱ ኦ.ኤል.ኤል. እዚህ
3) የወረደውን ማህደር ይክፈቱ
4) ወደ ውጤቱ ማውጫ ይሂዱ
5) ማስጀመር ./bin/karaf

በዚህ ደረጃ ኦ.ኤል.ኤል. መጀመር አለበት እና እራሳችንን በኮንሶል ውስጥ እናገኛለን (ፖርት 8181 ከውጭ ለመድረስ ጥቅም ላይ ይውላል, ይህም በኋላ እንጠቀማለን).

በመቀጠል ጫን ODL ባህሪዎችከፕሮቶኮሎች ጋር ለመስራት የተነደፈ NETCONF и RESTCONF. ይህንን በኮንሶል ውስጥ ለማድረግ ኦ.ኤል.ኤል. እኛ እንፈጽማለን:

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

ይህ በጣም ቀላሉ ማዋቀር ነው። ኦ.ኤል.ኤል. ተጠናቋል። (ለተጨማሪ ዝርዝሮች፣ ይመልከቱ እዚህ).

ክፍል 4፡ Vrnetlabን በማዘጋጀት ላይ

የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ

የስርዓት ዝግጅት

ከመጫንዎ በፊት Vrnetlab ለሥራው የሚያስፈልጉትን ፓኬጆች መጫን ያስፈልግዎታል. እንደ Docker, ሂድ, መሻገሪያ:

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

Vrnetlabን በመጫን ላይ

ለመጫን Vrnetlab ተዛማጅ ማከማቻውን ከgithub ይዝጉ፡

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

ወደ ማውጫ ይሂዱ vrnetlab:

ubuntu:~$ cd ~/vrnetlab

እዚህ ለማሄድ የሚያስፈልጉትን ሁሉንም ስክሪፕቶች ማየት ይችላሉ። እባክዎ ለእያንዳንዱ የራውተር አይነት ተጓዳኝ ማውጫ መሰራቱን ልብ ይበሉ፡-

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

የራውተሩን ምስል ይፍጠሩ

የሚደገፍ እያንዳንዱ ራውተር Vrnetlab፣ የራሱ የሆነ ልዩ የማዋቀር ሂደት አለው። መቼ Juniper vMX የ .tgz ማህደሩን በራውተር መስቀል ብቻ ያስፈልገናል (ከዚህ ማውረድ ይችላሉ። ይፋዊ ጣቢያ) ወደ vmx ማውጫ እና ትዕዛዙን ያሂዱ make:

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

ምስል መገንባት vMX ከ10-20 ደቂቃዎች ይወስዳል. ቡና ለመውሰድ ጊዜው አሁን ነው!

ለምን ረጅም ጊዜ ትጠይቃለህ?

ትርጉም መልስ ለዚህ ጥያቄ ደራሲ፡-

"ይህ የሆነበት ምክንያት ቪሲፒ (የቁጥጥር አውሮፕላን) ለመጀመሪያ ጊዜ ሲጀመር እንደ VRR VCP በ vMX ውስጥ እንደሚሠራ የሚወስን የማዋቀሪያ ፋይል ያነባል። ከዚህ ቀደም ይህ ጅምር የተደረገው በ Docker ጅምር ወቅት ነበር ፣ ግን ይህ ማለት ቪሲፒ ማለት ነው ። ቨርቹዋል ራውተር ከመገኘቱ በፊት አንድ ጊዜ እንደገና ይጀመራል ፣ ይህም ረጅም የማስነሳት ጊዜ (5 ደቂቃዎች ያህል) አሁን የቪሲፒ የመጀመሪያ ሩጫ የሚከናወነው በ Docker ምስል ግንባታ ጊዜ ነው ፣ እና የ Docker ግንባታ በ - -privileged አማራጭ ይህ ማለት qemu ያለ KVM ሃርድዌር ማጣደፍ ይሰራል እና ግንባታው በጣም ረጅም ጊዜ ይወስዳል በዚህ ሂደት ውስጥ ብዙ ምዝግብ ማስታወሻዎች ይወጣሉ, ስለዚህ ቢያንስ ምን እየተከናወነ እንዳለ ማየት ይችላሉ.ረጅም ግንባታ ይመስለኛል. ያን ያህል አስፈሪ አይደለም ምክንያቱም አንድ ጊዜ ምስል ስለምንፈጥር ብዙዎችን እናስነሳለን።

የኛን ራውተር ምስል ከተመለከቱ በኋላ Docker:

ubuntu:~$ sudo docker image list
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
vrnetlab/vr-vmx     20.1R1.11           b1b2369b453c        3 weeks ago         4.43GB
debian              stretch             614bb74b620e        7 weeks ago         101MB

የvr-vmx መያዣን ያስጀምሩ

በትእዛዙ እንጀምራለን-

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

በመቀጠል ስለ ንቁ መያዣዎች መረጃ ማየት እንችላለን፡-

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

ወደ ራውተር በመገናኘት ላይ

የራውተሩ የአውታረ መረብ በይነገጽ አይፒ አድራሻ በሚከተለው ትዕዛዝ ሊገኝ ይችላል-

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

ነባሪ ፣ Vrnetlab በራውተር ላይ ተጠቃሚ ይፈጥራል vrnetlab/VR-netlab9.
ጋር በመገናኘት ላይ 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

ይህ የራውተር ማዋቀሩን ያጠናቅቃል።

ለተለያዩ አቅራቢዎች ራውተሮች የመጫኛ ምክሮች በ ላይ ይገኛሉ github ፕሮጀክት በሚመለከታቸው ማውጫዎች ውስጥ.

ክፍል 5፡ ፖስትማን - ራውተርን ከOpenDaylight ጋር ያገናኙት።

የፖስታ ሰው መጫን

ለመጫን፣ መተግበሪያውን ብቻ ያውርዱ እዚህ.

ራውተርን ከኦዲኤል ጋር በማገናኘት ላይ

እንፍጠር አስቀመጠ ጥያቄ፡-

የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ

  1. የመጠይቅ ሕብረቁምፊ፡
    PUT http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. የጥያቄ አካል (የሰውነት ትር)
    <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. በፈቀዳ ትሩ ላይ መለኪያውን ማዘጋጀት አለብዎት Basic Auth እና መግቢያ/የይለፍ ቃል፡ አስተዳዳሪ/አስተዳዳሪ። ODLን ለመድረስ ይህ ያስፈልጋል፡-
    የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ
  4. ራስጌዎች ትር ላይ ሁለት ራስጌዎችን ማከል አለብህ፡
    • መተግበሪያ/xml ተቀበል
    • የይዘት አይነት መተግበሪያ/xml

ጥያቄያችን ቀርቧል። እንልካለን። ሁሉም ነገር በትክክል ከተዋቀረ "201 ተፈጠረ" የሚለውን ሁኔታ መመለስ አለብን.

የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ

ይህ ጥያቄ ምን ያደርጋል?

በውስጡ አንጓ እንፈጥራለን ኦ.ኤል.ኤል. ልንደርስበት የምንፈልገው ከእውነተኛው ራውተር መለኪያዎች ጋር.

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

እነዚህ የውስጥ ስሞች ናቸው። XML (የኤክስኤምኤል ስም ቦታ) ለ ኦ.ኤል.ኤል. በዚህ መሠረት መስቀለኛ መንገድን ይፈጥራል.

በተጨማሪ, በቅደም ተከተል, የራውተሩ ስም ነው መስቀለኛ-መታወቂያ, ራውተር አድራሻ - አስተናጋጅ እና የመሳሰሉት.

በጣም የሚያስደስት መስመር የመጨረሻው ነው. ሼማ-መሸጎጫ-ማውጫ ሁሉም ፋይሎች የሚወርዱበት ማውጫ ይፈጥራል YANG እቅድ የተገናኘ ራውተር. ውስጥ ልታገኛቸው ትችላለህ $ODL_ROOT/cache/jun01_cache.

የራውተሩን ግንኙነት በመፈተሽ ላይ

እንፍጠር አግኝ ጥያቄ፡-

  1. የመጠይቅ ሕብረቁምፊ፡
    GET http://10.132.1.202:8181/restconf/operational/network-topology:network-topology/topology/topology-netconf/
  2. በፈቀዳ ትሩ ላይ መለኪያውን ማዘጋጀት አለብዎት Basic Auth እና መግቢያ/የይለፍ ቃል፡ አስተዳዳሪ/አስተዳዳሪ።

እንልካለን። የ"200 እሺ" ሁኔታ እና በመሳሪያው የሚደገፉ ሁሉንም ዝርዝር ማግኘት አለበት። YANG እቅድ:

የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ

አስተያየት: የኋለኛውን ለማየት በእኔ ሁኔታ ግድያው ከተፈጸመ በኋላ 10 ደቂቃ ያህል መጠበቅ አስፈላጊ ነበር አስቀመጠእስከ ሁሉም ድረስ YANG ንድፍ ማራገፍ ላይ ኦ.ኤል.ኤል.. እስከዚህ ነጥብ ድረስ, ይህንን ሲያደርጉ አግኝ መጠይቁ የሚከተሉትን ያሳያል

የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ

ራውተርን ሰርዝ

እንፍጠር ሰርዝ ጥያቄ፡-

  1. የመጠይቅ ሕብረቁምፊ፡
    DELETE http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01
  2. በፈቀዳ ትሩ ላይ መለኪያውን ማዘጋጀት አለብዎት Basic Auth እና መግቢያ/የይለፍ ቃል፡ አስተዳዳሪ/አስተዳዳሪ።

ክፍል 6: የራውተር ውቅር ለውጥ

አወቃቀሩን በማግኘት ላይ

እንፍጠር አግኝ ጥያቄ፡-

  1. የመጠይቅ ሕብረቁምፊ፡
    GET http://10.132.1.202:8181/restconf/config/network-topology:network-topology/topology/topology-netconf/node/jun01/yang-ext:mount/
  2. በፈቀዳ ትሩ ላይ መለኪያውን ማዘጋጀት አለብዎት Basic Auth እና መግቢያ/የይለፍ ቃል፡ አስተዳዳሪ/አስተዳዳሪ።

እንልካለን። የ "200 እሺ" ሁኔታ እና የራውተር ውቅር መቀበል አለበት:

የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ

ውቅር ይፍጠሩ

እንደ ምሳሌ፣ የሚከተለውን ውቅር እንፍጠር እና እናስተካክለው፡-

protocols {
    bgp {
        disable;
        shutdown;
    }
}

እንፍጠር POST ጥያቄ፡-

  1. የመጠይቅ ሕብረቁምፊ፡
    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. የጥያቄ አካል (የሰውነት ትር)
    <bgp xmlns="http://yang.juniper.net/junos/conf/protocols">
    <disable/>
    <shutdown>
    </shutdown>
    </bgp>
  3. በፈቀዳ ትሩ ላይ መለኪያውን ማዘጋጀት አለብዎት Basic Auth እና መግቢያ/የይለፍ ቃል፡ አስተዳዳሪ/አስተዳዳሪ።
  4. ራስጌዎች ትር ላይ ሁለት ራስጌዎችን ማከል አለብህ፡
    • መተግበሪያ/xml ተቀበል
    • የይዘት አይነት መተግበሪያ/xml

ከላኩ በኋላ፣ “204 ምንም ይዘት የለም” የሚለውን ሁኔታ መቀበል አለባቸው።

አወቃቀሩ መቀየሩን ለማረጋገጥ የቀደመውን መጠይቅ መጠቀም ይችላሉ። ግን ለምሳሌ በራውተር ላይ ስለተዋቀሩ ፕሮቶኮሎች ብቻ መረጃን የሚያሳይ ሌላ እንፈጥራለን።

እንፍጠር አግኝ ጥያቄ፡-

  1. የመጠይቅ ሕብረቁምፊ፡
    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. በፈቀዳ ትሩ ላይ መለኪያውን ማዘጋጀት አለብዎት Basic Auth እና መግቢያ/የይለፍ ቃል፡ አስተዳዳሪ/አስተዳዳሪ።

ጥያቄውን ከፈጸምን በኋላ የሚከተለውን እንመለከታለን።

የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ

አወቃቀሩን ይቀይሩ

ስለ BGP ፕሮቶኮል መረጃውን እንለውጥ። ከድርጊታችን በኋላ የሚከተለውን ይመስላል።

protocols {
    bgp {
        disable;
    }
}

እንፍጠር አስቀመጠ ጥያቄ፡-

  1. የመጠይቅ ሕብረቁምፊ፡
    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. የጥያቄ አካል (የሰውነት ትር)
    <protocols xmlns="http://yang.juniper.net/junos/conf/protocols">
    <bgp>
        <disable/>
    </bgp>
    </protocols>
  3. በፈቀዳ ትሩ ላይ መለኪያውን ማዘጋጀት አለብዎት Basic Auth እና መግቢያ/የይለፍ ቃል፡ አስተዳዳሪ/አስተዳዳሪ።
  4. ራስጌዎች ትር ላይ ሁለት ራስጌዎችን ማከል አለብህ፡
    • መተግበሪያ/xml ተቀበል
    • የይዘት አይነት መተግበሪያ/xml

ያለፈውን በመጠቀም አግኝ ጥያቄ፣ ለውጦቹን እናያለን፡-

የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ

አወቃቀሩን ሰርዝ

እንፍጠር ሰርዝ ጥያቄ፡-

  1. የመጠይቅ ሕብረቁምፊ፡
    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. በፈቀዳ ትሩ ላይ መለኪያውን ማዘጋጀት አለብዎት Basic Auth እና መግቢያ/የይለፍ ቃል፡ አስተዳዳሪ/አስተዳዳሪ።

ሲደውሉ አግኝ ስለ ፕሮቶኮሎች መረጃ ከጠየቅን የሚከተሉትን እናያለን፡-

የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ

ማከል

አወቃቀሩን ለመለወጥ የጥያቄውን አካል በቅርጸቱ መላክ አስፈላጊ አይደለም XML. ይህ ደግሞ በቅርጸቱ ውስጥ ሊከናወን ይችላል JSON.

ይህንን ለማድረግ, ለምሳሌ, በመጠይቁ ውስጥ አስቀመጠ አወቃቀሩን ለመቀየር የጥያቄውን አካል በ

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

በራስጌዎች ትር ላይ ያሉትን ራስጌዎች ወደሚከተለው መለወጥ እንዳትረሳ:

  • ማመልከቻ/ json ተቀበል
  • የይዘት አይነት መተግበሪያ/json

ከላኩ በኋላ የሚከተለውን ውጤት እናገኛለን (መልሱን ተጠቅመን እንመለከታለን አግኝ ጥያቄ፡-

የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ

ክፍል 7: Cisco xRV9000 መጨመር

ሁላችንም ስለ Juniper ፣ አዎ Juniper ምንድነው? እስቲ ስለሲስኮ እንነጋገር!
xRV9000 ስሪት 7.0.2 አገኘሁ (8ጂቢ ራም እና 4 ኮሮች የሚያስፈልገው አውሬ በነጻ አይገኝም። ስለዚህ ተገናኝ) Cisco) - እናሮጠው።

መያዣን ማካሄድ

የዶከር ኮንቴይነር የመፍጠር ሂደት በተግባር ከጁኒፐር የተለየ አይደለም. በተመሳሳይ የ .qcow2 ፋይል ከራውተሩ ጋር ወደ ስሙ በሚዛመደው ማውጫ ውስጥ እንጥላለን (በዚህ ጉዳይ ላይ xrv9k) እና ትዕዛዙን እንፈጽማለን make docker-image.

ከጥቂት ደቂቃዎች በኋላ ምስሉ እንደተፈጠረ እናያለን-

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

መያዣውን እንጀምራለን-

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

ከጥቂት ቆይታ በኋላ, መያዣው እንደጀመረ እንመለከታለን.

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

በ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

ራውተርን ከ Opendaylight ጋር በማገናኘት ላይ

መደመር ከ vMX ጋር ሙሉ በሙሉ ተመሳሳይ በሆነ መንገድ ይከሰታል። ስሞቹን መቀየር ብቻ ያስፈልገናል.
አስቀመጠ ጥያቄ፡-
የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ

ከጥቂት ጊዜ በኋላ ይደውሉ አግኝ ሁሉም ነገር የተገናኘ መሆኑን ለማረጋገጥ ጥያቄ፡-
የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ

አወቃቀሩን ይቀይሩ

የሚከተለውን ውቅር እናዋቅር፡

!
router ospf LAB
 mpls ldp auto-config
!

እንፍጠር POST ጥያቄ፡-

  1. የመጠይቅ ሕብረቁምፊ፡
    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. የጥያቄ አካል (የሰውነት ትር)
    {
        "processes": {
            "process": [
                {
                    "process-name": "LAB",
                    "default-vrf": {
                        "process-scope": {
                            "ldp-auto-config": [
                                null
                            ]
                        }
                    }
                }
            ]
        }
    }
  3. በፈቀዳ ትሩ ላይ መለኪያውን ማዘጋጀት አለብዎት Basic Auth እና መግቢያ/የይለፍ ቃል፡ አስተዳዳሪ/አስተዳዳሪ።
  4. ራስጌዎች ትር ላይ ሁለት ራስጌዎችን ማከል አለብህ፡
    • ማመልከቻ/ json ተቀበል
    • የይዘት አይነት መተግበሪያ/json

ከተፈፀመ በኋላ "204 ምንም ይዘት" የሚለውን ሁኔታ መቀበል አለባቸው.

ያገኘነውን እንፈትሽ።
ይህንን ለማድረግ, እንፈጥራለን አግኝ ጥያቄ፡-

  1. የመጠይቅ ሕብረቁምፊ፡
    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. በፈቀዳ ትሩ ላይ መለኪያውን ማዘጋጀት አለብዎት Basic Auth እና መግቢያ/የይለፍ ቃል፡ አስተዳዳሪ/አስተዳዳሪ።

ከትግበራ በኋላ የሚከተሉትን ማየት አለብዎት:

የአውታረ መረብ አገልግሎቶችን በራስ-ሰር ማድረግ ወይም OpenDaylight፣ Postman እና Vrnetlabን በመጠቀም ምናባዊ ላብራቶሪ እንዴት እንደሚገነባ

የውቅረት አጠቃቀምን ለማስወገድ ሰርዝ:

  1. የመጠይቅ ሕብረቁምፊ፡
    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. በፈቀዳ ትሩ ላይ መለኪያውን ማዘጋጀት አለብዎት Basic Auth እና መግቢያ/የይለፍ ቃል፡ አስተዳዳሪ/አስተዳዳሪ።

መደምደሚያ

በአጠቃላይ ፣ እርስዎ እንዳስተዋሉት ፣ Cisco እና Juniper ን ከ OpenDaylight ጋር የማገናኘት ሂደቶች አይለያዩም - ይህ ለፈጠራ ሰፊ ወሰን ይከፍታል። ከሁሉም የአውታረ መረብ አካላት ውቅረት አስተዳደር ጀምሮ እና የራስዎን የአውታረ መረብ ፖሊሲዎች በመፍጠር ያበቃል።
በዚህ ማጠናከሪያ ትምህርት Opendaylightን በመጠቀም ከአውታረ መረብ መሳሪያዎች ጋር እንዴት እንደሚገናኙ በጣም ቀላሉ ምሳሌዎችን ሰጥቻለሁ። ምንም ጥርጥር የለውም ፣ ከላይ ከተጠቀሱት ምሳሌዎች ውስጥ ያሉ ጥያቄዎች የበለጠ ውስብስብ ሊሆኑ እና ሁሉንም አገልግሎቶች በአንድ መዳፊት ጠቅታ ማዋቀር ይችላሉ - ሁሉም ነገር በአዕምሮዎ ብቻ የተገደበ ነው *

ይቀጥላል…

PS

ይህንን ሁሉ በድንገት ካወቁ ወይም በተቃራኒው ወደ ODL ነፍስ ውስጥ ከገቡ እና በ ODL መቆጣጠሪያ ላይ መተግበሪያዎችን እንዲመለከቱ እመክራለሁ ። መጀመር ትችላለህ እዚህ.

የተሳካ ሙከራዎች!

ማጣቀሻ

  1. Vrnetlab፡ KVM እና Dockerን በመጠቀም አውታረ መረቦችን አስመስለው / Brian Linkletter
  2. ክፍት የቀን ብርሃን የማብሰያ መጽሐፍ / Mathieu Lemay፣ አሌክሲስ ደ ታልሆውት፣ እና ሌሎችም።
  3. ከያንግ/ቤኖይት ክሌዝ፣ ሎ ክላርክ፣ ጃን ሊንድብላድ ጋር የአውታረ መረብ ፕሮግራም መቻል
  4. ኤክስኤምኤልን መማር፣ ሁለተኛ እትም / Erik T. Ray
  5. ውጤታማ DevOps / ጄኒፈር ዴቪስ, Ryn Daniels

ምንጭ: hab.com

አስተያየት ያክሉ