Anda di halaman 1dari 29

LAPORAN 15

PRAKTEK ADMINISTRASI JARINGAN

CISCO PLATFORMS AND DEVELOPMENT CONTENT

SEMESTER IV

DISUSUN OLEH

MUHAMMAD HAFIZ
1901082028
TEKNIK KOMPUTER 2 A

JURUSAN TEKNOLOGI INFORMASI


PROGRAM STUDI D3 TEKNIK
KOMPUTER POLITEKNIK NEGERI
PADANG
2021
I. TUJUAN
a. Mahasiswa dapat memahami Cisco Platforms and Development Content

II. TEORI DASAR


YANG adalah bahasa pemodelan data untuk definisi data yang dikirim melalui
protokol manajemen jaringan seperti NETCONF dan RESTCONF. Bahasa
pemodelan data YANG dikelola oleh kelompok kerja NETMOD di Internet
Engineering Task Force (IETF) dan awalnya diterbitkan sebagai RFC 6020 pada
Oktober 2010, dengan pembaruan pada Agustus 2016 ( RFC 7950 ).

Model Open YANG: Dikembangkan oleh vendor dan badan standar, seperti IETF,
ITU, OpenConfig, dll. Mereka dirancang untuk tidak bergantung pada platform yang
mendasarinya dan menormalkan konfigurasi per-vendor perangkat jaringan.

Model Asli: Dikembangkan oleh vendor, seperti Cisco. Mereka berhubungan dan
dirancang untuk mengintegrasikan fitur atau konfigurasi yang hanya relevan dengan
platform tersebut.

Konfigurasi Jaringan (NETCONF) adalah protokol yang ditentukan oleh IETF


RFC7519. Ini dirancang untuk menginstal, memanipulasi, dan menghapus
konfigurasi perangkat jaringan. Ini adalah protokol utama yang digunakan dengan
model data YANG saat ini. Operasinya diwujudkan di atas Remote Procedure Call
(RPC) yang dipertukarkan melalui protokol transport aman seperti SSH.

Memahami Platform API Cisco

Untuk membantu memilah-milah semua penawaran pengembang Cisco, DevNet


membuat Pusat Pengembang untuk setiap grup teknologi, dan Pusat Pengembang
tersebut adalah cara yang nyaman untuk mengelompokkan teknologi bersama-sama.

Cisco SDK

Biasanya SDK berisi seperangkat alat pengembangan perangkat lunak yang


terintegrasi untuk mengembangkan aplikasi untuk perangkat atau sistem tertentu.
SDK sering kali membantu dengan pembatasan paginasi atau pembatasan kecepatan
pada respons untuk API tertentu.

Manajemen Jaringan Cisco

IOS singkatan dari «Sistem Operasi Internet.» IOS adalah sistem operasi asli untuk
router Cisco Systems dan switch jaringan Cisco. Control plane «mengontrol»
jaringan, artinya menyimpan rute, pemetaan, umumnya semua «sinyal» yang
diperlukan untuk menjalankan router atau switch. Cisco DNA Center adalah
platform pengontrol dan
analitik dasar untuk organisasi besar dan menengah dan merupakan inti dari Cisco
IBN. Ini menyediakan dasbor tunggal untuk manajemen jaringan, otomatisasi
jaringan, jaminan jaringan, pemantauan, analitik, dan keamanan.

Cisco DNA Center menyediakan dasbor GUI berbasis web dan RESTful Intent API
yang digunakan untuk mengakses layanan dan fungsinya secara terprogram. Platform
Cisco ACI adalah solusi Cisco untuk SDN. Modul ACI/MSO memungkinkan
pembuatan sederhana elemen buku pedoman untuk melakukan tugas penyelidikan,
administrasi, dan manajemen pada struktur ACI. Untuk menyederhanakan
pengembangan aplikasi dengan ACI, Cisco telah mengembangkan Cobra, pustaka
Python yang kuat untuk APIC REST API.

Cisco Meraki adalah rangkaian solusi jaringan yang dikelola cloud yang
memungkinkan satu sumber manajemen untuk infrastruktur, lokasi, dan perangkat.
Awan Meraki menggunakan lokasi fisik titik akses untuk memperkirakan lokasi klien.
NX-OS adalah sistem operasi pusat data untuk sakelar Nexus. NSO memungkinkan
operator untuk mengadopsi solusi konfigurasi layanan secara dinamis, sesuai dengan
perubahan dalam portofolio layanan yang ditawarkan.

Cisco SD-WAN mencakup protokol perutean umum yang digunakan untuk semua
penerapan SD-WAN perusahaan, seperti BGP, OSPF, VRRP, dan IPv6.

Manajemen Komputasi Cisco

Cisco Unified Computing System , bersama dengan perangkat lunak dan tambahan
SaaS, menyediakan pabrik fisik dan logis yang lengkap untuk komputasi, jaringan,
dan penyimpanan di pusat data modern. Semua permintaan XML ke Cisco UCS tidak
sinkron dan berakhir pada Cisco UCS Manager yang aktif. Server Cisco UCS
Manager adalah blade yang berada di sasis atau dipasang di rak . Keduanya terhubung
ke sepasang sakelar yang disebut UCS Fabric Interconnects .

UCS PowerTool adalah pustaka PowerShell Cmdlet yang memungkinkan


pengelolaan lingkungan UCS dari Sistem Operasi Microsoft, melalui UCS XML API.
Cisco UCS Director memperluas penyatuan lapisan komputasi dan jaringan melalui
Cisco UCS untuk memberikan visibilitas dan pengelolaan komponen infrastruktur
pusat data. Anda dapat menggunakan Cisco UCS Director untuk mengonfigurasi,
mengelola, dan memantau komponen Cisco dan non-Cisco yang didukung. Saat Anda
mengaktifkan menu pengembang, Cisco UCS Director GUI menyediakan opsi menu
pengembang bagi pengembang untuk mengakses metadata laporan dan REST API
Browser.
Cisco Intersight adalah platform manajemen sistem Software as a Service yang
mampu mengelola infrastruktur di tepi dan lokasi terpencil serta di pusat data. Karena
menyediakan REST API untuk mengakses MIM, Anda dapat mengelola infrastruktur
sebagai kode.

III. ALAT DAN BAHAN


a. LAPTOP
b. DEVASC LAB
c. VIRTUAL BOX
IV. LANGKAH KERJA
A. Lab 8.3.5. Lab - Explore YANG Models
Bagian 1: Luncurkan DEVASC VM
Jika Anda belum menyelesaikan Lab - Instal DEVASC-LAB , lakukan sekarang.
Jika Anda telah menyelesaikan lab tersebut, luncurkan DEVASC VM sekarang.
Bagian 2: Jelajahi Model YANG di GitHub
Di Bagian ini, Anda akan menginstal modul pyang ke dalam DEVASC VM Anda
dan mempelajari bagaimana modul tersebut mengubah file YANG. Pyang
menyederhanakan bekerja dengan file YANG. Modul ini dilengkapi dengan baris
perintah pyang yang dapat dieksekusi yang mengubah file YANG menjadi format
yang lebih dapat dibaca manusia.
Langkah 1: Jelajahi model Cisco IOS XE YANG di repositori GitHub.
Buka Chromium dan navigasikan ke https://github.com/YangModels/yang
.
b. Di bawah cabang master , navigasikan ke model YANG untuk Cisco IOS XE
versi 16.9.3 dengan mengklik direktori berikut: vendor > cisco > xe > 1693 .
c. Gulir ke bawah di bawah semua model Cisco YANG dan temukan di mana
model IETF dimulai. Cari ietf-interfaces.yang .
d. Klik ietf-interfaces.yang dan gulir ke semua node container, leaf node, dan
list node. Jika Anda terbiasa dengan output dari antarmuka pertunjukan perintah
IOS, maka Anda harus mengenali beberapa atau semua node. Misalnya, di sekitar
baris 221 Anda akan melihat daun diaktifkan.
Langkah 2: Salin model ietf-interfaces.yang ke folder di VM Anda.
Sebuah. Buka kode VS.
b. Klik File > Open Folder... dan arahkan ke direktori devnet-src .
c. Klik Oke .
d. Buka jendela terminal di Kode VS: Terminal > Terminal Baru .
e. Buat subdirektori bernama pyang di direktori /devnet-src .
f. Kembali ke tab Chromium tempat model ietf-interfaces.yang masih terbuka.
Gulir kembali ke atas, jika perlu, dan klik Raw untuk menampilkan data model
YANG saja.
g. Pilih dan salin URL-nya.
h. Di terminal, buka folder pyang.
Bagian 3: Jelajahi Model YANG Menggunakan pyang
Di Bagian ini, Anda akan menginstal modul pyang ke dalam DEVASC VM Anda
dan menjelajahi bagaimana modul itu mengubah model YANG Anda salin dari
GitHub. Pyang menyederhanakan bekerja dengan file YANG. Modul ini
dilengkapi dengan baris perintah pyang yang dapat dieksekusi yang mengubah
file YANG menjadi format yang lebih mudah dibaca manusia.
Langkah 1: Verifikasi pyang diinstal dan mutakhir.
Di VS Code, buka jendela terminal.
b. Verifikasi bahwa pyang sudah diinstal dengan perintah pyang -v . Nomor
versi Anda mungkin berbeda dari yang ditampilkan di sini. Anda juga bisa
devasc@labvm:~/labs/devnet-src$ pyang -v
c. (Opsional) Anda dapat memverifikasi bahwa Anda memiliki pembaruan
pyang terbaru menggunakan perintah pip3 berikut . Setiap pembaruan setelah lab
ini ditulis akan diunduh dan diinstal.
devasc@labvm:~/labs/devnet-src$ pip3 instal pyang --upgrade
Langkah 2: Transformasikan model ietf-interfaces.yang.
Arahkan ke direktori pyang .
devasc@labvm:~/labs/devnet-src$ cd pyang
b. Masukkan pyang -h | lebih untuk mengeksplorasi opsi untuk
mentransformasi model YANG. Cari opsi -f seperti yang ditunjukkan di bawah
ini. Anda akan menggunakan opsi pemformatan pohon .
devasc@labvm:~/labs/devnet-src/pyang$ pyang -h | more
c. Ubah model ietf-interfaces.yang menjadi format pohon dengan perintah
berikut. Perhatikan bahwa daun yang diaktifkan jauh lebih mudah ditemukan dan
dibaca dalam format ini.
devasc@labvm:~/labs/devnet-src/pyang$ pyang -f tree ietf-interfaces.yang
ietf-interfaces.yang:6: error: module "ietf-yang-types" tidak ditemukan di jalur
pencarian

B. Lab 8.3.6. Lab - Use NETCONF to Access an IOS XE Device

Bagian 1: Luncurkan VM dan Verifikasi Konektivitas

Di Bagian ini, Anda meluncurkan dua VM dan memverifikasi


konektivitas. Anda kemudian akan membuat koneksi shell aman (SSH).

Langkah 1: Luncurkan VM

Jika Anda belum menyelesaikan Lab - Instal Lingkungan Lab Mesin


Virtual dan Lab - Instal VM CSR1kv , lakukan sekarang. Jika Anda telah
menyelesaikan lab ini, luncurkan DEVASC VM dan CSR1000v VM sekarang.

Langkah 2: Verifikasi konektivitas antar VM.

Sebuah. Di CSR1kv VM, tekan Enter untuk mendapatkan prompt perintah dan
kemudian gunakan show ip interface brief untuk memverifikasi bahwa alamat
IPv4 adalah 192.168.56.101. Jika alamatnya berbeda, catatlah.

b. Buka terminal di VS Code di DEVASC VM.

c. Ping CSR1kv untuk memverifikasi konektivitas. Anda seharusnya sudah


melakukan ini sebelumnya di lab instalasi. Jika Anda tidak dapat melakukan
ping, kunjungi kembali lab yang tercantum di atas di Bagian 1a.

devasc@labvm:~$ ping -c 5 192.168.56.101

Langkah 3: Verifikasi konektivitas SSH ke VM CSR1kv.

Sebuah. Di terminal untuk DEVASC VM, SSH ke CSR1kv VM dengan


perintah berikut:

devasc@labvm:~$ ssh cisco@192.168.56.101

b. Masuk cisco123! sebagai kata sandi dan Anda sekarang harus berada di
prompt perintah EXEC istimewa untuk CSR1kv.
Kata sandi:

CSR1kv#

c. Biarkan sesi SSH terbuka untuk Bagian berikutnya.

Bagian 2: Gunakan Sesi NETCONF untuk Mengumpulkan Informasi

Di Bagian ini, Anda akan memverifikasi bahwa NETCONF sedang berjalan,


mengaktifkan NETCONF jika tidak, dan memverifikasi bahwa NETCONF siap
untuk koneksi SSH. YSou kemudian akan terhubung ke proses NETCONF,
memulai sesi NETCONF, mengumpulkan informasi antarmuka, dan menutup
sesi.

Langkah 1: Periksa apakah NETCONF berjalan di CSR1kv.

Sebuah. NETCONF mungkin sudah berjalan jika siswa lain mengaktifkannya,


atau jika versi IOS yang lebih baru mengaktifkannya secara default. Dari sesi
SSH Anda dengan CSR1kv, gunakan perintah show platform software yang-
management process untuk melihat apakah daemon NETCONF SSH ( ncsshd )
sedang berjalan.

b. Jika NETCONF tidak berjalan, seperti yang ditunjukkan pada output di


atas, masukkan perintah konfigurasi global netconf-yang .

CSR1kv# konfigurasi untuk

c. Ketik exit untuk menutup sesi SSH.

Langkah 2: Akses proses NETCONF melalui terminal SSH.

Pada langkah ini, Anda akan membangun kembali sesi SSH dengan
CSR1kv. Tapi kali ini, Anda akan menentukan port NETCONF 830 dan
mengirim netconf sebagai perintah subsistem.

b. CSR1kv akan merespons dengan pesan halo yang mencakup lebih dari 400
baris output yang mencantumkan semua kemampuan NETCONF-nya. Akhir
pesan NETCONF diidentifikasi dengan ]]>]]> .

Langkah 3: Mulai sesi NETCONF dengan mengirim pesan halo dari klien.

Untuk memulai sesi NETCONF, klien perlu mengirim pesan halonya


sendiri. Pesan halo harus menyertakan versi kemampuan dasar NETCONF yang
ingin digunakan klien.
Sebuah. Salin dan tempel kode XML berikut ke dalam sesi SSH. Perhatikan
bahwa akhir dari pesan hello klien diidentifikasi dengan ]]>]]> .

b. Beralih ke CSR1kv VM dan gunakan perintah show netconf-yang


session untuk memverifikasi bahwa sesi NETCONF telah dimulai. Jika layar
CSR1kv VM gelap, tekan Enter untuk membangunkannya.

Buka jendela konfigurasi

Langkah 4: Kirim pesan RPC ke perangkat IOS XE.

Selama sesi SSH, klien NETCONF dapat menggunakan pesan Remote


Procedure Call (RPC) untuk mengirim operasi NETCONF ke perangkat IOS
XE. Tabel mencantumkan beberapa operasi NETCONF yang lebih umum.

Salin dan tempel kode XML get message RPC berikut ke dalam sesi SSH
terminal untuk mengambil informasi tentang antarmuka pada R1.

b. Ingat bahwa XML tidak memerlukan indentasi atau spasi. Oleh karena itu,
CSR1kv akan mengembalikan string data XML yang panjang.

c. Salin XML yang dikembalikan, tetapi jangan sertakan karakter akhir


“]]>]]>”. Karakter ini bukan bagian dari XML yang dikembalikan oleh
router.

d. Cari di internet untuk "mempercantik XML". Temukan situs yang sesuai


dan gunakan alatnya untuk mengubah XML Anda menjadi format yang lebih
mudah dibaca, seperti berikut ini:

Langkah 5: Tutup sesi NETCONF.

Sebuah. Untuk menutup sesi NETCONF, klien perlu mengirim pesan RPC
berikut:

b. Setelah beberapa detik, Anda akan kembali ke terminal prompt. Kembali ke


prompt CSR1kv dan tampilkan sesi netconf yang terbuka. Anda akan melihat
bahwa sesi telah ditutup.

Bagian 3: Gunakan ncclient untuk Terhubung ke NETCONF

Bekerja dengan NETCONF tidak perlu bekerja dengan pesan RPC NETCONF
mentah dan XML. Di Bagian ini, Anda akan mempelajari cara
menggunakan modul ncclient Python untuk berinteraksi dengan mudah dengan
perangkat jaringan menggunakan NETCONF. Selain itu, Anda akan
mempelajari cara mengidentifikasi model YANG mana yang didukung oleh
perangkat. Informasi ini berguna ketika membangun sistem otomasi jaringan
produksi yang memerlukan model YANG spesifik untuk didukung oleh
perangkat jaringan yang diberikan.

Langkah 1: Verifikasi bahwa ncclient telah diinstal dan siap digunakan.

Di terminal DEVASC-VM, masukkan perintah pip3 list --format=columns untuk


melihat semua modul Python yang saat ini diinstal. Pipa output ke more . Output
Anda mungkin berbeda dari berikut ini. Tetapi Anda akan
melihat nclient terdaftar, seperti yang ditunjukkan. Jika tidak, gunakan
perintah pip3 install ncclient untuk menginstalnya.

devasc@labvm:~$ daftar pip3 --format=columns | lebih

Langkah 2: Buat skrip untuk menggunakan ncclient untuk terhubung ke layanan


NETCONF.

Modul ncclient menyediakan kelas manajer dengan metode connect() untuk


mengatur koneksi NETCONF jarak jauh. Setelah koneksi berhasil, objek yang
dikembalikan mewakili koneksi NETCONF ke perangkat jarak jauh.

Sebuah. Dalam kode VS, klik File > Open Folder... dan arahkan
ke direktori devnet-src . Klik Oke .

b. Buka jendela terminal di Kode VS: Terminal > Terminal Baru .

c. Buat subdirektori bernama netconf di direktori /devnet-src .

devasc@labvm:~/labs/devnet-src$ mkdir netconf

d. Di panel EXPLORER di bawah DEVNET-SRC ,


klik kanan direktori netconf dan pilih File Baru .

e. Beri nama file nclient-netconf.py .

f. Di file skrip Anda, impor kelas manajer dari modul ncclient . Kemudian
buat variabel m untuk mewakili metode connect() . Metode connect() mencakup
semua informasi yang diperlukan untuk terhubung ke layanan NETCONF yang
berjalan di CSR1kv. Perhatikan bahwa portnya adalah 830 untuk NETCONF.

g. Simpan dan jalankan program untuk memverifikasi bahwa tidak ada


kesalahan. Anda belum akan melihat output apa pun.
devasc@labvm:~/labs/devnet-src$ cd netconf/

devasc@labvm:~/labs/devnet-src/netconf$ python3 ncclient-netconf.py

h. Anda dapat memverifikasi bahwa CSR1kv menerima permintaan untuk sesi


NETCONF. Seharusnya ada pesan syslog %DMI-5-AUTH_PASSED di
CSR1kv VM. Jika layarnya hitam, tekan Enter untuk membangunkan
router. Pesan syslog dapat dilihat di atas spanduk.

Langkah 3: Tambahkan fungsi cetak ke skrip sehingga kemampuan NETCONF


untuk CSR1kv terdaftar.

The m objek dikembalikan oleh manager.connect () fungsi mewakili netconf sesi


remote. Seperti yang Anda lihat sebelumnya, di setiap sesi NETCONF, server
pertama-tama mengirimkan kemampuannya, yang merupakan daftar, dalam
format XML, model YANG didukung. Dengan modul ncclient , daftar
kemampuan yang diterima disimpan dalam daftar m.server_capabilities .

Sebuah. Gunakan for loop dan fungsi print untuk menampilkan kemampuan
perangkat:

b. Simpan dan jalankan programnya. Outputnya adalah output yang sama


yang Anda dapatkan dari pengiriman pesan hello kompleks sebelumnya, tetapi
tanpa tag XML pembuka dan penutup <capability> pada setiap baris.

devasc@labvm:~/labs/devnet-src/netconf$ python3 ncclient-netconf.py

Bagian 4: Gunakan nclient untuk Mengambil Konfigurasi

Di Bagian ini, Anda akan menggunakan nclient NETCONF untuk mengambil


konfigurasi untuk CSR1kv, menggunakan modul xml.dom.minidom untuk
memformat konfigurasi, dan menggunakan filter dengan get_config() untuk
mengambil sebagian dari konfigurasi yang sedang berjalan.

Langkah 1: Gunakan fungsi get_config() untuk mengambil konfigurasi yang


sedang berjalan untuk R1.

Sebuah. Jika Anda ingin melewatkan menampilkan output kemampuan (400+


baris), komentari blok pernyataan yang mencetak kemampuan, seperti yang
ditunjukkan berikut ini:

b. Anda dapat menggunakan metode get_config() dari objek


sesi m NETCONF untuk mengambil konfigurasi untuk
CSR1kv. Metode get_config() mengharapkan parameter string sumber yang
menentukan penyimpanan data NETCONF sumber. Gunakan fungsi cetak untuk
menampilkan hasilnya. Satu-satunya datastore NETCONF yang saat ini ada di
CSR1kv adalah datastore yang sedang berjalan . Anda dapat memverifikasi ini
dengan perintah show netconf-yang datastores .

c. Simpan dan jalankan program Anda. Outputnya akan lebih dari 100 baris,
jadi IDLE dapat mengompresnya. Klik dua kali pesan teks Diperas di jendela
shell IDLE untuk memperluas output.

d. Perhatikan bahwa XML yang dikembalikan tidak diformat. Anda dapat


menyalinnya ke situs yang sama yang Anda temukan sebelumnya untuk
mempercantik XML. Langkah 2: Gunakan Python untuk mempercantik XML.

Python telah membangun dukungan untuk bekerja dengan file


XML. The xml.dom.minidom modul dapat digunakan untuk mendandani output
dengan toprettyxml () fungsi.

Sebuah. Di awal skrip Anda, tambahkan pernyataan untuk


mengimpor modul xml.dom.minidom .

impor xml.dom.minidom

b. Ganti fungsi cetak sederhana print (netconf_reply) dengan versi yang


mencetak keluaran XML yang telah diedit.

print(xml.dom.minidom.parseString(netconf_reply.xml).toprettyxml())

c. Simpan dan jalankan program Anda. XML ditampilkan dalam format yang
lebih mudah dibaca.

devasc@labvm:~/labs/devnet-src/netconf$ python3 ncclient-netconf.py

Langkah 3: Gunakan filter dengan get_config() untuk hanya mengambil model


YANG tertentu.

Administrator jaringan mungkin hanya ingin mengambil sebagian dari


konfigurasi yang berjalan pada perangkat. NETCONF hanya mendukung
pengembalian data yang ditentukan dalam parameter filter dari
fungsi get_conf() .

Sebuah. Buat variabel bernama netconf_filter yang hanya mengambil data


yang ditentukan oleh model Cisco IOS XE Native YANG.
b. Simpan dan jalankan program Anda. Awal dari output adalah sama, seperti
yang ditunjukkan di bawah ini. Namun, hanya elemen XML <native> yang
ditampilkan kali ini. Sebelumnya, semua model YANG tersedia di CSR1kv
ditampilkan. Memfilter data yang diambil untuk hanya menampilkan modul
YANG asli secara signifikan mengurangi output Anda. Ini karena modul asli
YANG hanya mencakup subset dari semua model Cisco IOX XE YANG.

devasc@labvm:~/labs/devnet-src/netconf$ python3 ncclient-netconf.py

Bagian 5: Gunakan nclient untuk Mengkonfigurasi Perangkat

Di Bagian ini, Anda akan menggunakan ncclient untuk mengonfigurasi CSR1kv


menggunakan metode edit_config() dari modul manager .

Langkah 1: Gunakan ncclient untuk mengedit nama host untuk file CSR1kv.

Untuk memperbarui pengaturan yang ada dalam konfigurasi untuk CSR1kv,


Anda dapat mengekstrak lokasi pengaturan dari konfigurasi yang diambil
sebelumnya. Untuk langkah ini, Anda akan mengatur variabel untuk mengubah
nilai <hostname> .

devasc@labvm:~/labs/devnet-src/netconf$ python3 ncclient-netconf.py

b. Gunakan fungsi edit_config() dari objek sesi m NETCONF untuk mengirim


konfigurasi dan menyimpan hasilnya dalam variabel netconf_reply sehingga
dapat dicetak. Parameter untuk fungsi edit_config() adalah sebagai berikut:
c. Fungsi edit_config() mengembalikan pesan balasan XML RPC
dengan <ok/> yang menunjukkan bahwa perubahan berhasil diterapkan. Ulangi
pernyataan cetak sebelumnya untuk menampilkan hasilnya.

d. Simpan dan jalankan program Anda. Anda harus mendapatkan output yang
mirip dengan output yang ditampilkan di bawah ini. Anda juga dapat
memverifikasi bahwa nama host telah berubah dengan beralih ke CSR1kv VM.
e. Edit skrip Anda untuk mengubah nama host kembali ke CSR1kv. Simpan
dan jalankan program Anda. Anda juga dapat mengomentari kode dari langkah
sebelumnya jika Anda ingin menghindari mengubah nama host lagi.

Langkah 2: Gunakan nclient untuk membuat antarmuka loopback baru di R1.

Sebuah. Buat variabel <config> baru untuk menampung konfigurasi


antarmuka loopback baru. Tambahkan yang berikut ini
ke skrip ncclient_netconf.py Anda .

b. Tambahkan fungsi edit_config() berikut ke ncclient_netconf.py Anda untuk


mengirim konfigurasi loopback baru ke R1 dan kemudian mencetak hasilnya.
c. Simpan dan jalankan program Anda. Anda harus mendapatkan output yang
miripd.

d. Pada CSR1kv, verifikasi bahwa antarmuka loopback baru telah dibuat.

Langkah 3: Cobalah untuk membuat antarmuka loopback baru dengan alamat


IPv4 yang sama.

Sebuah. Buat variabel baru bernama netconf_newloop . Ini akan menampung


konfigurasi yang membuat antarmuka loopback 2 baru tetapi dengan alamat
IPv4 yang sama seperti pada loopback 1: 10.1.1.1 /24. Di CLI router, ini akan
membuat kesalahan karena upaya untuk menetapkan alamat IP duplikat ke
antarmuka.

b. Tambahkan fungsi edit_config() berikut ke ncclient_netconf.py Anda untuk


mengirim konfigurasi loopback baru ke CSR1kv. Anda tidak memerlukan
pernyataan cetak untuk langkah ini.

c. Simpan dan jalankan programnya. Anda akan mendapatkan output error


yang mirip dengan berikut ini dengan pesan RPCError Device menolak satu atau
lebih perintah .

d. NETCONF tidak akan menerapkan konfigurasi apa pun yang dikirim jika
satu atau lebih perintah ditolak. Untuk memverifikasi ini, masukkan
perintah show ip interface brief di R1. Perhatikan bahwa antarmuka baru Anda
tidak dibuat.

Bagian 6: Tantangan: Ubah Program yang Digunakan di Lab Ini

Berikut ini adalah program lengkap yang dibuat di lab ini tanpa ada kode yang
dikomentari sehingga Anda dapat menjalankan skrip tanpa kesalahan. Skrip
Anda mungkin terlihat berbeda. Latih keterampilan Python Anda dengan
memodifikasi program untuk mengirim perintah verifikasi dan konfigurasi yang
berbeda.

C. Lab 8.3.7. Lab - Use RESTCONF to Access an IOS XE Device

Bagian 1: Luncurkan VM dan Verifikasi Konektivitas

Di Bagian ini, Anda meluncurkan dua VM untuk kursus dan memverifikasi


konektivitas. Anda kemudian akan membuat koneksi shell aman (SSH).

Langkah 1: Luncurkan VM
Jika Anda belum menyelesaikan Lab - Instal Lingkungan Lab Mesin
Virtual dan Lab - Instal VM CSR1kv , lakukan sekarang. Jika Anda telah
menyelesaikan lab ini, luncurkan DEVASC VM dan CSR1000v VM sekarang.

Langkah 2: Verifikasi konektivitas antar VM.

Sebuah. Di CSR1kv VM, tekan Enter untuk mendapatkan prompt perintah dan
kemudian gunakan show ip interface brief untuk memverifikasi bahwa alamat
IPv4 adalah 192.168.56.101. Jika alamatnya berbeda, catatlah.

b. Buka terminal di DEVASC VM.

c. Ping CSR1kv untuk memverifikasi konektivitas. Anda seharusnya sudah


melakukan ini di lab instalasi. Jika Anda tidak dapat melakukan ping, kunjungi
kembali lab yang tercantum di atas di Bagian 1a.

devasc@labvm:~$ ping -c 5 192.168.56.101

Langkah 3: Verifikasi konektivitas SSH ke VM CSR1kv.

Sebuah. Di terminal untuk DEVASC VM, SSH ke CSR1kv VM dengan


perintah berikut:

devasc@labvm:~$ ssh cisco@192.168.56.101

b. Masuk cisco123! sebagai kata sandi dan Anda sekarang harus berada di
prompt perintah EXEC istimewa untuk CSR1kv.

Kata sandi: < cisco123! >

CSR1kv#

c. Biarkan sesi SSH terbuka untuk Bagian berikutnya.

Bagian 2: Konfigurasi Perangkat IOS XE untuk Akses RESTCONF

Di Bagian ini, Anda akan mengonfigurasi VM CSR1kv untuk menerima pesan


RESTCONF. Anda juga akan memulai layanan HTTPS.

Langkah 1: Verifikasi bahwa daemon RESTCONF sedang berjalan.

RESTCONF seharusnya sudah berjalan karena itu adalah bagian dari konfigurasi
default yang disediakan oleh NetAcad. Dari terminal, Anda dapat menggunakan
perintah show platform software yang-management process untuk melihat
apakah semua daemon yang terkait dengan layanan RESTCONF sedang
berjalan. Daemon NETCONF mungkin juga sedang berjalan, tetapi tidak akan
digunakan di lab ini. Jika satu atau lebih daemon yang diperlukan tidak berjalan,
lanjutkan ke Langkah 2.

Buka jendela konfigurasi

CSR1kv# menunjukkan perangkat lunak platform yang-proses manajemen

Langkah 2: Aktifkan dan verifikasi layanan RESTCONF.

Sebuah. Masukkan perintah konfigurasi global restconf untuk mengaktifkan


layanan RESTCONF pada file CSR1kv.

CSR1kv# konfigurasi terminal

CSR1kv(config)# restconf

b. Verifikasi bahwa daemon RESTCONF yang diperlukan sekarang sedang


berjalan. Ingatlah bahwa ncsshd adalah layanan NETCONF, yang mungkin
berjalan di perangkat Anda. Kami tidak membutuhkannya untuk lab ini. Namun,
Anda memerlukan nginx , yang merupakan server HTTPS. Ini akan
memungkinkan Anda melakukan panggilan REST API ke layanan RESTCONF.

CSR1kv(config)# keluar

Langkah 3: Aktifkan dan verifikasi layanan HTTPS.

Sebuah. Masukkan perintah konfigurasi global berikut untuk mengaktifkan


server HTTPS dan tentukan bahwa otentikasi server harus menggunakan
database lokal.

CSR1kv# konfigurasi terminal

CSR1kv(config)# ip http server aman

CSR1kv(config)# ip http otentikasi lokal

b. Verifikasi bahwa server HTTPS (nginx) sekarang sedang berjalan.

CSR1kv(config)# keluar

Bagian 3: Buka dan Konfigurasi Tukang Pos

Di Bagian ini, Anda akan membuka Postman, menonaktifkan sertifikat SSL, dan
menjelajahi antarmuka pengguna.

Langkah 1: Buka Tukang Pos.


Sebuah. Di DEVASC VM , buka aplikasi Postman.

b. Jika ini pertama kalinya Anda membuka Postman, ia mungkin meminta


Anda untuk membuat akun atau masuk. Di bagian bawah jendela, Anda juga
dapat mengeklik pesan “Lewati” untuk melewati proses masuk. Masuk tidak
diperlukan untuk menggunakan aplikasi ini.

Langkah 2: Nonaktifkan verifikasi sertifikasi SSL.

Secara default, Postman mengaktifkan verifikasi sertifikasi SSL. Anda tidak


akan menggunakan sertifikat SSL dengan CSR1kv; oleh karena itu, Anda perlu
mematikan fitur ini.

Sebuah. Klik Berkas > Setelan .

b. Di bawah tab Umum , setel verifikasi sertifikat SSL ke OFF .

c. Tutup kotak dialog Pengaturan .

Bagian 4: Gunakan Tukang Pos untuk Mengirim Permintaan GET

Di Bagian ini, Anda akan menggunakan Tukang Pos untuk mengirim permintaan
GET ke CSR1kv untuk memverifikasi bahwa Anda dapat terhubung ke layanan
RESTCONF.

Langkah 1: Jelajahi antarmuka pengguna Postman.

Sebuah. Di tengah, Anda akan melihat Launchpad . Anda dapat menjelajahi


daerah ini jika Anda mau.

b. Klik tanda plus (+) di sebelah tab Launchpad untuk membuka GET Untitled
Request . Antarmuka ini adalah tempat Anda akan melakukan semua pekerjaan
Anda di lab ini.

Langkah 2: Masukkan URL untuk CSR1kv.

Sebuah. Jenis permintaan sudah disetel ke GET. Biarkan jenis permintaan


diatur ke GET.

b. Pada kolom “Enter request URL”, ketikkan URL yang akan


digunakan untuk mengakses layanan RESTCONF yang berjalan pada
CSR1kv:

https://192.168.56.101/restconf/

Langkah 3: Masukkan kredensial otentikasi.


Di bawah bidang URL, ada tab yang terdaftar
untuk Params , Authorization , Headers , Body , Pre-request Script , Test ,
dan Settings . Di lab ini, Anda akan menggunakan Authorization , Headers ,
dan Body .

Sebuah. Klik tab Otorisasi .

b. Di bawah Jenis, klik panah bawah di samping “Mewarisi autentikasi


dari induk” dan pilih Auth Dasar .

c. Untuk Nama Pengguna dan Kata Sandi , masukkan kredensial autentikasi


lokal untuk CSR1kv:

Nama pengguna: cisco

Kata sandi: cisco123!

d. Klik Tajuk . Kemudian klik 7 tersembunyi . Anda dapat memverifikasi


bahwa kunci Otorisasi memiliki nilai Dasar yang akan digunakan untuk
mengautentikasi permintaan saat dikirim ke CSR1kv.

Langkah 4: Tetapkan JSON sebagai tipe data yang akan dikirim dan diterima
dari CSR1kv.

Anda dapat mengirim dan menerima data dari CSR1kv dalam format XML atau
JSON. Untuk lab ini, Anda akan menggunakan JSON.

Sebuah. Di area Header , klik di bidang Key kosong pertama dan


ketik Content-Type untuk tipe kunci. Di bidang Nilai , ketik application/yang-
data+json . Ini memberitahu Postman untuk mengirim data JSON ke CSR1kv.

b. Di bawah kunci Content-Type Anda , tambahkan pasangan kunci/nilai


lainnya. Bidang Kunci adalah Terima dan bidang Nilai adalah application/yang-
data+json .

Langkah 5: Kirim permintaan API ke file CSR1kv.

Tukang pos sekarang memiliki semua informasi yang dibutuhkan untuk


mengirim permintaan GET. Klik Kirim . Di bawah Tajuk Sementara , Anda akan
melihat respons JSON berikut dari file CSR1kv. Jika tidak, verifikasi bahwa
Anda telah menyelesaikan langkah sebelumnya di bagian lab ini dan
mengonfigurasi layanan RESTCONF dan HTTPS dengan benar di Bagian 2.

Langkah 6: Gunakan permintaan GET untuk mengumpulkan informasi untuk


semua antarmuka di CSR1kv.
Sebuah. Sekarang setelah Anda memiliki permintaan GET yang berhasil,
Anda dapat menggunakannya sebagai template untuk permintaan tambahan. Di
bagian atas Postman, di samping tab Launchpad , klik kanan tab GET yang baru
saja Anda gunakan dan pilih Duplicate Tab .

b. Gunakan model ietf-interfaces YANG untuk mengumpulkan informasi


antarmuka. Untuk URL, tambahkan data/ietf-interfaces:interfaces :

https://192.168.56.101/restconf/data/ietf-interfaces:interfaces

c. Klik Kirim . Anda akan melihat respons JSON dari CSR1kv yang mirip
dengan output yang ditunjukkan di bawah ini. Output Anda mungkin berbeda
tergantung pada router khusus Anda.

Langkah 7: Gunakan permintaan GET untuk mengumpulkan informasi untuk


antarmuka tertentu di CSR1kv.

Di lab ini, hanya antarmuka GigabitEthernet1 yang dikonfigurasi. Untuk


menentukan antarmuka ini saja, perluas URL agar hanya meminta informasi
untuk antarmuka ini.

Sebuah. Gandakan permintaan GET terakhir Anda.

b. Tambahkan parameter interface= untuk menentukan antarmuka dan ketik


nama antarmuka.

https://192.168.56.101/restconf/data/ietf-
interfaces:interfaces/interface=GigabitEthernet1

c. Klik Kirim . Anda akan melihat respons JSON dari CSR1kv yang mirip
dengan output di bawah ini. Output Anda mungkin berbeda tergantung pada
router khusus Anda. Dalam pengaturan CSR1kv default, Anda tidak akan
melihat informasi pengalamatan IP.

d. Antarmuka ini menerima pengalamatan dari template Kotak Virtual. Oleh


karena itu, alamat IPv4 tidak ditampilkan di bawah show running-
config . Sebagai gantinya, Anda akan melihat perintah dhcp alamat ip . Anda
dapat melihat ini juga di show ip interface short output. e. Di Bagian
berikutnya Anda perlu menggunakan respons JSON dari antarmuka yang
dikonfigurasi secara manual. Buka terminal perintah dengan CSR1kv dan
konfigurasikan antarmuka GigabitEthernet1 secara manual dengan alamat IPv4
yang sama yang saat ini ditetapkan oleh Virtual Box.

f. Kembali ke Postman dan kirim permintaan GET Anda lagi. Anda sekarang
akan melihat informasi pengalamatan IPv4 dalam respons JSON, seperti yang
ditunjukkan di bawah ini. Di Bagian selanjutnya, Anda akan menyalin format
JSON ini untuk membuat antarmuka baru.

Bagian 5: Gunakan Tukang Pos untuk Mengirim Permintaan PUT

Di Bagian ini, Anda akan mengonfigurasi Postman untuk mengirim permintaan


PUT ke CSR1kv untuk membuat antarmuka loopback baru.

Langkah 1: Duplikat dan modifikasi permintaan GET terakhir.

Sebuah. Gandakan permintaan GET terakhir.

b. Untuk Jenis permintaan, klik panah bawah di sebelah GET dan pilih PUT .

c. Untuk parameter interface= , ubah ke =Loopback1 untuk menentukan


antarmuka baru.

https://192.168.56.101/restconf/data/ietf-
interfaces:interfaces/interface=Loopback1

Langkah 2: Konfigurasikan isi permintaan yang menentukan informasi untuk


loopback baru.

Sebuah. Untuk mengirim permintaan PUT, Anda perlu memberikan informasi


untuk isi permintaan. Di samping tab Tajuk , klik Isi . Kemudian klik tombol
radio Raw . Bidang saat ini kosong. Jika Anda mengklik Kirim sekarang, Anda
akan mendapatkan kode kesalahan 400 Permintaan Buruk karena Loopback1
belum ada dan Anda tidak memberikan informasi yang cukup untuk membuat
antarmuka.

b. Isi bagian Body dengan data JSON yang diperlukan untuk membuat
antarmuka Loopback1 baru. Anda dapat menyalin bagian Tubuh dari permintaan
GET sebelumnya dan memodifikasinya. Atau Anda dapat menyalin yang berikut
ini ke bagian Tubuh permintaan PUT Anda. Perhatikan bahwa jenis antarmuka
harus disetel ke softwareLoopback .

c. Klik Kirim untuk mengirim permintaan PUT ke CSR1kv. Di bawah bagian


Badan, Anda akan melihat kode respons HTTP Status: 201 Created . Ini
menunjukkan bahwa sumber daya telah berhasil dibuat.

d. Anda dapat memverifikasi bahwa antarmuka telah dibuat. Kembali ke sesi


SSH Anda dengan CSR1kv dan masukkan show ip interface brief . Anda juga
dapat menjalankan tab Postman yang berisi permintaan untuk mendapatkan
informasi tentang antarmuka pada CSR1kv yang telah dibuat di Bagian
sebelumnya dari lab ini.
Bagian 6: Gunakan skrip Python untuk Mengirim Permintaan GET

Di Bagian ini, Anda akan membuat skrip Python untuk mengirim permintaan
GET ke CSR1kv.

Langkah 1: Buat direktori RESTCONF dan mulai skrip.

Sebuah. Buka kode VS. Kemudian klik File > Open Folder... dan arahkan
ke direktori devnet-src . Klik Oke .

b. Buka jendela terminal di Kode VS: Terminal > Terminal Baru .

c. Buat subdirektori bernama restconf di direktori /devnet-src .

devasc@labvm:~/labs/devnet-src$ mkdir restconf

devasc@labvm:~/labs/devnet-src$

d. Di panel EXPLORER di bawah DEVNET-SRC ,


klik kanan direktori restconf dan pilih File Baru .

e. Beri nama file restconf-get.py .

Sebuah. Masukkan perintah berikut untuk mengimpor modul yang diperlukan


dan menonaktifkan peringatan sertifikat SSL:

Langkah 2: Buat variabel yang akan menjadi komponen permintaan.

Sebuah. Buat variabel bernama api_url dan tetapkan URL yang akan
mengakses informasi antarmuka pada CSR1kv.

api_url = " https://192.168.56.101/restconf/data/ietf-interfaces:interfaces "

b. Buat variabel kamus bernama header yang memiliki kunci


untuk Accept dan Content-type dan tetapkan kunci nilai application/yang-
data+json .

c. Buat variabel Tuple Python bernama basicauth yang memiliki dua kunci
yang diperlukan untuk otentikasi, nama pengguna dan kata sandi .

Langkah 3: Buat variabel untuk mengirim permintaan dan menyimpan respons


JSON.

Gunakan variabel yang dibuat pada langkah sebelumnya sebagai parameter


untuk metode request.get() . Metode ini mengirimkan permintaan HTTP GET ke
RESTCONF API di CSR1kv. Tetapkan hasil permintaan ke variabel
bernama resp . Variabel itu akan menampung respons JSON dari API. Jika
permintaan berhasil, JSON akan berisi model data YANG dikembalikan.

Sebuah. Masukkan pernyataan berikut:

resp = request.get(api_url, auth=basicauth, header=header, verifikasi=False)

b. Untuk melihat kode respons HTTP, tambahkan pernyataan cetak.

cetak (resp)

c. Simpan dan jalankan skrip Anda. Anda harus mendapatkan output yang
ditunjukkan di bawah ini. Jika tidak, verifikasi semua langkah sebelumnya di
bagian ini serta konfigurasi SSH dan RESTCONF untuk CSR1kv.

devasc@labvm:~/labs/devnet-src$ cd restconf/

Langkah 4: Format dan tampilkan data JSON yang diterima dari CSR1kv.

Sekarang Anda dapat mengekstrak nilai respons model YANG dari JSON
respons.

Sebuah. Respons JSON tidak kompatibel dengan kamus Python dan objek
daftar, sehingga harus dikonversi ke format Python. Buat variabel baru
bernama response_json dan tetapkan variabel resp padanya. Tambahkan
metode json() untuk mengonversi JSON. Pernyataan tersebut adalah sebagai
berikut:

respon_json = resp.json()

b. Tambahkan pernyataan cetak untuk menampilkan data JSON.

cetak (respon_json)

c. Simpan dan jalankan skrip Anda. Anda harus mendapatkan output yang
mirip dengan yang berikut:

devasc@labvm:~/labs/devnet-src/restconf$ python3 restconf-get.py

d. Untuk mempercantik output, edit pernyataan cetak Anda untuk


menggunakan fungsi json.dumps() dengan parameter “indent”:

print(json.dumps(response_json, indent=4))
e. Simpan dan jalankan skrip Anda. Anda harus mendapatkan output yang
ditunjukkan di bawah ini. Output ini hampir identik dengan output dari
permintaan GET Postman pertama Anda.

devasc@labvm:~/labs/devnet-src/restconf$ python3 restconf-get.py

Bagian 7: Gunakan Script Python untuk Mengirim Permintaan PUT

Di Bagian ini, Anda akan membuat skrip Python untuk mengirim permintaan
PUT ke CSR1kv. Seperti yang dilakukan di Postman, Anda akan membuat
antarmuka loopback baru.

Langkah 1: Impor modul dan nonaktifkan peringatan SSL.

Sebuah. Di panel EXPLORER di bawah DEVNET-SRC ,


klik kanan direktori restconf dan pilih File Baru .

b. Beri nama file restconf-put.py .

c. Masukkan perintah berikut untuk mengimpor modul yang diperlukan dan


menonaktifkan peringatan sertifikat SSL:

impor json

Langkah 2: Buat variabel yang akan menjadi komponen permintaan.

Sebuah. Buat variabel bernama api_url dan tetapkan URL yang menargetkan
antarmuka Loopback2 baru.

Catatan : Spesifikasi variabel ini harus berada dalam satu baris dalam skrip
Anda.

api_url = " https://192.168.56.101/restconf/data/ietf-


interfaces:interfaces/interface=Loopback2 "

b. Buat variabel kamus bernama header yang memiliki kunci untuk Accept
dan Content-type dan tetapkan kunci nilai application/yang-data+json .

c. Buat variabel Tuple Python bernama basicauth yang memiliki dua nilai
yang diperlukan untuk otentikasi, nama pengguna dan kata sandi.

basicauth = ("cisco", "cisco123!")

d. Buat variabel kamus Python yangConfig yang akan menampung data


YANG diperlukan untuk membuat antarmuka baru Loopback2. Anda dapat
menggunakan kamus yang sama yang Anda gunakan sebelumnya di
Postman. Namun, ubah nomor dan alamat antarmuka. Perlu diketahui juga
bahwa nilai Boolean harus dikapitalisasi dengan Python. Oleh karena itu,
pastikan bahwa T menggunakan huruf kapital pada pasangan kunci/nilai
untuk "diaktifkan": True .

Langkah 3: Buat variabel untuk mengirim permintaan dan menyimpan respons


JSON.

Gunakan variabel yang dibuat pada langkah sebelumnya sebagai parameter


untuk metode request.put() . Metode ini mengirimkan permintaan HTTP PUT ke
RESTCONF API. Tetapkan hasil permintaan ke variabel
bernama resp . Variabel itu akan menampung respons JSON dari API. Jika
permintaan berhasil, JSON akan berisi model data YANG dikembalikan.

Sebuah. Sebelum memasukkan pernyataan, harap perhatikan bahwa


spesifikasi variabel ini hanya boleh berada pada satu baris dalam skrip
Anda. Masukkan pernyataan berikut:

b. Masukkan kode di bawah ini untuk menangani respons. Jika responsnya


adalah salah satu pesan sukses HTTP, pesan pertama akan dicetak. Nilai kode
lainnya dianggap sebagai kesalahan. Kode respons dan pesan kesalahan akan
dicetak jika kesalahan telah terdeteksi. c. Simpan dan jalankan skrip untuk
mengirim permintaan PUT ke CSR1kv. Anda harus mendapatkan pesan 201
Status Created . Jika tidak, periksa kode Anda dan konfigurasi untuk CSR1kv.

d. Anda dapat memverifikasi bahwa antarmuka telah dibuat dengan


memasukkan show ip interface brief pada CSR1kv.

Buka jendela konfigurasi

CSR1kv# tampilkan antarmuka ip singkat

V. Hasil Pengujian
 Lab 8.3.5. Lab - Explore YANG Models
 Lab 8.3.6. Lab - Use NETCONF to Access an IOS XE Device
 Lab 8.3.7. Lab - Use RESTCONF to Access an IOS XE Device

VI. PEMBAHASAN

Dalam konteks ini kita menjelajahi Model YANG, menggunakan RESTCONF untuk
Mengakses Perangkat IOS XE, membuat Skrip Python untuk Mengelola Tim Webex
Bagian ini kita belajar tentang menyatukan semuanya dalam kategori besar, seperti
kolaborasi, komputasi termasuk pusat data, jaringan termasuk model data, dan
keamanan.

VII. KESIMPULAN
YANG adalah bahasa pemodelan data untuk definisi data yang dikirim melalui
protokol manajemen jaringan seperti NETCONF dan RESTCONF. Bahasa
pemodelan data YANG dikelola oleh kelompok kerja NETMOD di Internet
Engineering Task Force (IETF) dan awalnya diterbitkan sebagai RFC 6020 pada
Oktober 2010, dengan pembaruan pada Agustus 2016 ( RFC 7950 ).

VIII. REFERENSI
https://spadati.pnp.ac.id/

Anda mungkin juga menyukai