اتوماسیون خدمات شبکه یا نحوه ساخت آزمایشگاه مجازی با استفاده از OpenDaylight، Postman و Vrnetlab

اتوماسیون خدمات شبکه یا نحوه ساخت آزمایشگاه مجازی با استفاده از OpenDaylight، Postman و Vrnetlab

در این مقاله نحوه راه اندازی را به شما خواهم گفت OpenDaylight برای کار با تجهیزات شبکه، و همچنین نحوه استفاده را نشان خواهد داد پستچی و ساده RESTCONF درخواست، این تجهیزات را می توان کنترل کرد. ما با سخت افزار کار نخواهیم کرد، اما در عوض آزمایشگاه های مجازی کوچکی را با استفاده از یک روتر مستقر خواهیم کرد Vrnetlab بالای سر اوبونتو LTS 20.04.

من ابتدا تنظیمات دقیق را با استفاده از مثال روتر نشان خواهم داد Juniper vMX 20.1R1.11، و سپس آن را با تنظیمات مقایسه می کنیم Cisco xRV9000 7.0.2.

مقدار

  • دانش مورد نیاز
  • Часть 1: بحث مختصر OpenDaylight (از این پس به عنوان ODL), پستچی и Vrnetlab و چرا به آنها نیاز داریم
  • Часть 2: توضیحات آزمایشگاه مجازی
  • Часть 3: شخصی سازی OpenDaylight
  • Часть 4: شخصی سازی Vrnetlab
  • Часть 5: با استفاده از پستچی اتصال یک روتر مجازی (Juniper vMX) به ODL
  • Часть 6: با استفاده از پیکربندی روتر را دریافت و تغییر دهید پستچی и ODL
  • Часть 7: سیسکو xRV9000 را اضافه کنید
  • نتیجه
  • PS
  • کتابشناسی - فهرست کتب

دانش مورد نیاز

برای جلوگیری از تبدیل مقاله به صفحه، برخی از جزئیات فنی را حذف کردم (با پیوندهایی به ادبیات که می توانید در مورد آنها مطالعه کنید).

در این راستا، من به شما موضوعاتی را پیشنهاد می کنم که قبل از خواندن، دانستن آنها خوب است (اما تقریباً ضروری نیست):

بخش اول: یک نظریه کوچک

اتوماسیون خدمات شبکه یا نحوه ساخت آزمایشگاه مجازی با استفاده از OpenDaylight، Postman و Vrnetlab

  • یک پلت فرم SDN باز برای مدیریت و خودکارسازی انواع شبکه ها، پشتیبانی شده توسط بنیاد لینوکس
  • جاوا داخل
  • بر اساس سطح انتزاع خدمات مبتنی بر مدل (MD-SAL)
  • از مدل های YANG برای ایجاد خودکار RESTCONF API برای دستگاه های شبکه استفاده می کند

ماژول اصلی مدیریت شبکه از طریق آن است که ما با دستگاه های متصل ارتباط برقرار خواهیم کرد. از طریق API خود مدیریت می شود.

می‌توانید درباره OpenDaylight بیشتر بخوانید اینجا.

اتوماسیون خدمات شبکه یا نحوه ساخت آزمایشگاه مجازی با استفاده از OpenDaylight، Postman و Vrnetlab

  • ابزار تست API
  • رابط کاربری ساده و آسان

در مورد ما، ما به آن به عنوان وسیله ای برای ارسال درخواست های REST به OpenDaylight API علاقه مندیم. البته می توانید درخواست ها را به صورت دستی ارسال کنید، اما در Postman همه چیز بسیار واضح به نظر می رسد و برای اهداف ما عالی است.

برای کسانی که می خواهند در آن تحقیق کنند: مطالب آموزشی زیادی روی آن نوشته شده است (مثلا).

اتوماسیون خدمات شبکه یا نحوه ساخت آزمایشگاه مجازی با استفاده از OpenDaylight، Postman و Vrnetlab

  • ابزاری برای استقرار روترهای مجازی در داکر
  • پشتیبانی از: Cisco XRv، Juniper vMX، Arista vEOS، Nokia VSR و غیره.
  • متن باز

ساز بسیار جالب، اما کمتر شناخته شده است. در مورد ما، با کمک آن، Juniper vMX و Cisco xRV9000 را بر روی Ubuntu 20.04 LTS معمولی اجرا خواهیم کرد.

می توانید در مورد او بیشتر بخوانید صفحه پروژه.

بخش دوم: کار آزمایشگاهی

در این آموزش سیستم زیر را راه اندازی می کنیم:

اتوماسیون خدمات شبکه یا نحوه ساخت آزمایشگاه مجازی با استفاده از OpenDaylight، Postman و Vrnetlab

چطور کار می کند؟

  • Juniper vMX بالا می رود به کارگر بارانداز ظرف (به وسیله Vrnetlab) و به عنوان رایج ترین روتر مجازی عمل می کند.
  • ODL به روتر متصل می شود و به شما امکان کنترل آن را می دهد.
  • پستچی روی یک ماشین جداگانه راه اندازی می شود و از طریق آن دستورات را ارسال می کنیم ODL: برای اتصال/حذف روتر، تغییر پیکربندی و غیره.

توضیحاتی در مورد طراحی سیستم

Juniper vMX и ODL برای عملکرد پایدار آنها به منابع بسیار زیادی نیاز دارند. فقط یکی vMX 6 گیگابایت رم و 4 هسته درخواست می کند. بنابراین، تصمیم گرفته شد که تمام "سنگین وزن" را به یک ماشین جداگانه منتقل کنیم (Heulett Packard Enterprise MicroServer ProLiant Gen8، اوبونتو 20.04 LTS). روتر، البته، روی آن "پرواز" نمی کند، اما عملکرد کافی برای آزمایش های کوچک وجود دارد.

قسمت 3: راه اندازی OpenDaylight

اتوماسیون خدمات شبکه یا نحوه ساخت آزمایشگاه مجازی با استفاده از OpenDaylight، Postman و Vrnetlab

نسخه فعلی ODL در زمان نگارش، منیزیم SR1 است

1) نصب کنید جاوا OpenJDK 11 (برای نصب دقیق تر اینجا)

ubuntu:~$ sudo apt install default-jdk

2) آخرین بیلد را پیدا و دانلود کنید ODL از این رو
3) آرشیو دانلود شده را از حالت فشرده خارج کنید
4) به دایرکتوری به دست آمده بروید
5) راه اندازی کنید ./bin/karaf

در این مرحله ODL باید شروع شود و ما خود را در کنسول خواهیم یافت (برای دسترسی خارجی از پورت 8181 استفاده می شود که بعداً از آن استفاده خواهیم کرد).

بعد، نصب کنید ویژگی های ODL، برای کار با پروتکل ها طراحی شده است NETCONF и RESTCONF. برای انجام این کار در کنسول ODL انجام دادن:

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

این ساده ترین راه اندازی است ODL تکمیل شد. (برای جزئیات بیشتر می توانید مطالعه کنید اینجا).

قسمت 4: راه اندازی Vrnetlab

اتوماسیون خدمات شبکه یا نحوه ساخت آزمایشگاه مجازی با استفاده از OpenDaylight، Postman و Vrnetlab

آماده سازی سیستم

قبل از نصب Vrnetlab باید بسته های مورد نیاز برای کارکرد آن را نصب کنید. مانند کارگر بارانداز, دستگاه گوارش, 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

نصب 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 دقیقه طول خواهد کشید. وقت آن است که برویم قهوه درست کنیم!

می پرسی چرا اینقدر طولانی؟

انتقال جواب پاسخ نویسنده به این سوال:

"این به این دلیل است که هنگامی که VCP (Control Plane) برای اولین بار شروع می شود، یک فایل پیکربندی را می خواند که تعیین می کند آیا به عنوان VCP VCP در vMX اجرا می شود یا خیر. قبلاً این راه اندازی در حین راه اندازی Docker انجام می شد، اما این بدان معنی بود که VCP همیشه یک بار راه اندازی مجدد می شد. قبل از اینکه روتر مجازی در دسترس قرار گیرد، در نتیجه زمان بوت طولانی (حدود 5 دقیقه) در حال حاضر اولین اجرای VCP در طول ساخت تصویر Docker انجام می شود، و از آنجایی که ساخت Docker نمی تواند با گزینه --privileged اجرا شود، به این معنی است که qemu بدون شتاب سخت‌افزاری KVM اجرا می‌شود و در نتیجه ساخت آن زمان بسیار زیادی می‌برد. بسیاری از لاگ‌ها در طول این فرآیند خروجی می‌شوند، بنابراین حداقل می‌توانید ببینید که چه اتفاقی می‌افتد. ، اما بسیاری را راه اندازی کنید."

پس از آن می توانید تصویر روتر ما را در آن مشاهده کنید کارگر بارانداز:

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

اتصال به روتر

آدرس IP رابط شبکه روتر را می توان با دستور زیر بدست آورد:

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

نصب پستچی

برای نصب کافیست اپلیکیشن را دانلود کنید از این رو.

اتصال روتر به ODL

بیایید ایجاد کنیم قرار دادن استعلام:

اتوماسیون خدمات شبکه یا نحوه ساخت آزمایشگاه مجازی با استفاده از 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 و لاگین/رمز عبور: admin/admin. برای دسترسی به ODL این مورد لازم است:
    اتوماسیون خدمات شبکه یا نحوه ساخت آزمایشگاه مجازی با استفاده از OpenDaylight، Postman و Vrnetlab
  4. در تب Headers باید دو هدر اضافه کنید:
    • پذیرش برنامه/xml
    • برنامه نوع محتوا/xml

درخواست ما تکمیل شد. ما فرستادیم. اگر همه چیز به درستی پیکربندی شده بود، باید وضعیت "201 Created" را برگردانیم:

اتوماسیون خدمات شبکه یا نحوه ساخت آزمایشگاه مجازی با استفاده از OpenDaylight، Postman و Vrnetlab

این درخواست چه می کند؟

ما یک گره در داخل ایجاد می کنیم ODL با پارامترهای روتر واقعی که می خواهیم به آن دسترسی داشته باشیم.

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

این فضاهای نام داخلی هستند XML (فضای نام XML) برای ODL بر اساس آن گره ایجاد می کند.

علاوه بر این، بر این اساس، نام روتر است شناسه گره، آدرس روتر - میزبان و غیره

جالب ترین خط آخری است. Schema-cache-directory دایرکتوری ایجاد می کند که تمام فایل ها در آن دانلود می شوند طرحواره یانگ روتر متصل شما میتونید اونها رو در ... پیدا کنید $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 و لاگین/رمز عبور: admin/admin.

ما فرستادیم. باید وضعیت "200 OK" و لیستی از تمام دستگاه های پشتیبانی شده را دریافت کند طرحواره یانگ:

اتوماسیون خدمات شبکه یا نحوه ساخت آزمایشگاه مجازی با استفاده از OpenDaylight، Postman و Vrnetlab

توضیح: برای دیدن دومی، در مورد من باید حدود 10 دقیقه بعد از اعدام صبر می کرد قرار دادناین همه در حال حاضر طرح واره یانگ در تخلیه خواهد شد ODL. تا این مرحله، هنگام انجام این شو پرس و جو موارد زیر را نمایش می دهد:

اتوماسیون خدمات شبکه یا نحوه ساخت آزمایشگاه مجازی با استفاده از 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 و لاگین/رمز عبور: admin/admin.

قسمت 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 و لاگین/رمز عبور: admin/admin.

ما فرستادیم. باید وضعیت "200 OK" و پیکربندی روتر را دریافت کند:

اتوماسیون خدمات شبکه یا نحوه ساخت آزمایشگاه مجازی با استفاده از OpenDaylight، Postman و Vrnetlab

ایجاد یک پیکربندی

به عنوان مثال، اجازه دهید پیکربندی زیر را ایجاد کرده و آن را تغییر دهیم:

protocols {
    bgp {
        disable;
        shutdown;
    }
}

بیایید ایجاد کنیم پست استعلام:

  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 و لاگین/رمز عبور: admin/admin.
  4. در تب Headers باید دو هدر اضافه کنید:
    • پذیرش برنامه/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 و لاگین/رمز عبور: admin/admin.

پس از اجرای درخواست، موارد زیر را مشاهده خواهیم کرد:

اتوماسیون خدمات شبکه یا نحوه ساخت آزمایشگاه مجازی با استفاده از 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 و لاگین/رمز عبور: admin/admin.
  4. در تب Headers باید دو هدر اضافه کنید:
    • پذیرش برنامه/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 و لاگین/رمز عبور: admin/admin.

وقتی تماس گرفته شود شو درخواست با اطلاعات مربوط به پروتکل ها موارد زیر را مشاهده خواهیم کرد:

اتوماسیون خدمات شبکه یا نحوه ساخت آزمایشگاه مجازی با استفاده از OpenDaylight، Postman و Vrnetlab

موارد اضافی:

برای تغییر پیکربندی، نیازی به ارسال بدنه درخواست در قالب نیست XML. این کار در قالب نیز قابل انجام است JSON.

برای انجام این کار، به عنوان مثال، در درخواست قرار دادن برای تغییر پیکربندی، بدنه درخواست را با:

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

فراموش نکنید که سربرگ های تب سربرگ ها را به:

  • پذیرش اپلیکیشن/json
  • Content-Type application/json

پس از ارسال، نتیجه زیر را دریافت می کنیم (با استفاده از پاسخ به آن نگاه می کنیم شو درخواست):

اتوماسیون خدمات شبکه یا نحوه ساخت آزمایشگاه مجازی با استفاده از OpenDaylight، Postman و Vrnetlab

قسمت 7: Cisco xRV9000 را اضافه کنید

همه ما در مورد Juniper چیست، بله در مورد Juniper؟ بیایید در مورد سیسکو صحبت کنیم!
من xRV9000 نسخه 7.0.2 را پیدا کردم (جانوری که به 8 گیگابایت رم و 4 هسته نیاز دارد. رایگان در دسترس نیست، بنابراین تماس بگیرید سیسکو) - بیایید آن را راه اندازی کنیم.

اجرای یک کانتینر

فرآیند ایجاد کانتینر Docker عملاً هیچ تفاوتی با Juniper ندارد. به همین ترتیب، فایل 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
!

بیایید ایجاد کنیم پست استعلام:

  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 و لاگین/رمز عبور: admin/admin.
  4. در تب Headers باید دو هدر اضافه کنید:
    • پذیرش اپلیکیشن/json
    • Content-Type application/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 و لاگین/رمز عبور: admin/admin.

پس از اجرا باید موارد زیر را مشاهده کنید:

اتوماسیون خدمات شبکه یا نحوه ساخت آزمایشگاه مجازی با استفاده از 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 و لاگین/رمز عبور: admin/admin.

نتیجه

در مجموع، همانطور که ممکن است متوجه شده باشید، روش‌های اتصال Cisco و Juniper به OpenDaylight هیچ تفاوتی ندارند - این دامنه وسیعی را برای خلاقیت باز می‌کند. از مدیریت تنظیمات همه اجزای شبکه شروع کنید و با ایجاد خط مشی های شبکه خود پایان دهید.
در این آموزش مثال های ساده ای از نحوه تعامل با تجهیزات شبکه با استفاده از OpenDaylight ارائه کردم. بدون شک، درخواست‌های مثال‌های بالا را می‌توان بسیار پیچیده‌تر کرد و کل سرویس‌ها را می‌توان با یک کلیک ماوس پیکربندی کرد - همه چیز فقط با تخیل شما محدود می‌شود*

ادامه ...

PS

اگر به طور ناگهانی همه اینها را می دانید یا برعکس، از آن عبور کرده اید و ODL در روح شما فرو رفته است، توصیه می کنم به دنبال توسعه برنامه های کاربردی بر روی یک کنترلر ODL باشید. می توانید شروع کنید از این رو.

آزمایش های موفق!

منابع

  1. Vrnetlab: شبیه سازی شبکه ها با استفاده از KVM و Docker /برایان لینکلتتر
  2. کتاب آشپزی OpenDaylight / متیو لمی، الکسیس دی تالهوت، و همکاران
  3. قابلیت برنامه ریزی شبکه با YANG / Benoît Claise، Loe Clarke، Jan Lindblad
  4. یادگیری XML، ویرایش دوم / Erik T. Ray
  5. DevOps موثر / جنیفر دیویس، راین دنیلز

منبع: www.habr.com

اضافه کردن نظر