Template Skripsi dengan LibreOffice Writer

Assalamualaikum Wr. Wb

7
Cover Template Skripsi

Bagi para mahasiswa/ mahasiswi sudah pastinya mereka menghadapi yang namanya Tugas Akhir/ Skripsi bagi calon lulusan sarjana. Dalam penulisan skripsi terdapat format- format yang jauh berbeda dengan tugas harian biasa. Karena dalam format skripsi sifatnya detail dan harus sesuai dengan standar yang diberikan kampus. Format tersebut mulai dari page- style, character- style, paragraph-style, list-style dan lain sebagainya. Semua itu harus diatur dengan presisi agar penulisan sesuai dengan format yang diberikan. Nah, format tersebut dalam sebuah dokumen atau lembar kerja jika sudah diatur dan disimpan akan menjadi template. Template ini merupakan kerangka kerja yang sudah siap untuk diisi sebuah content. Lalu apa perbedaannya kita membuat template dengan langsung mengisi content dalam dokumen atau lembar kerja ? Nah ini yang harus diketahui oleh semua penulis pada khususnya, jika kita membuat suatu template akan mempermudah proses penulisan terhadap content, dan sudah sesuai dengan pengaturan yang kita buat. Sehingga tulisan kita sudah rapi dan urut.

Untuk penulisan yang dianjurkan itu menggunakan software/ aplikasi yang tentunya sudah berlisensi dan legalitasnya sudah terjamin. Jika kita menggunakan software/ aplikasi yang ilegal itu yang seharusnya kita hindari, karena selain itu kita membajak dan juga tidak menghargai karya dari orang lain. Daripada kita tersandung masalah, lebih baik kita menggunakan software/ aplikasi yang sudah jelas lisensinya dan penggunaanya juga sudah familiar serta user-friendly. Alternatifnya menggunakan aplikasi/ software opensource, yakni aplikasi yang memang dikembangkan secara terbuka oleh banyak orang diseluruh belahan dunia sehingga aplikasi tersebut dapat didistribusikan dan digunakan secara bebas dan merdeka. Khususnya administrasi perkantoran seperti aplikasi LibreOffice. LibreOffice ini adalah perangkat lunak yang bersifat terbuka dan bebas yang dikembangkan oleh TDF (The Document Foundation). Perangkat ini secara khusus digunakan untuk administrasi perkantoran yang sama halnya dengan Microsoft Office. Bedanya hanya dari lisensi saja, yang mana Microsoft Office merupakan perangkat lunak bersifat closesource yang lisensinya jelas harus dibeli. Aplikasi yang terdapat pada LibreOffice sama dengan Microsoft Office yang terdiri dari : Pengolah Kata (LibreOffice Writer), Pengolah Angka (LibreOffice Calc), Pengolah Salindia (LibreOffice Impress), Pengolah Gambar (LibreOffice Draw), Pengolah Basis Data (LibreOffice Base), dan Pengolah Rumus/ Formula (LibreOffice Math). sumber dari : https://id.wikipedia.org/wiki/LibreOffice.

Untuk membuat template skripsi dari LibreOffice Writer, anda bisa mengunduh link yang sudah saya sediakan dibawah artikel. Saya membuat template skripsi dan template tugas- tugas kuliah saya yang lain atas informasi dan pengetahuan yang saya dapat dari Buku dengan judul “Menulis Buku dengan LibreOffice” karya dari Bapak Sokibi dan juga bantuan dari rekan- rekan tim BLOI (Belajar LibreOffice Indonesia) dan Tim Kontribusi LibreOffice Indonesia.

Cover Buku
Buku Karya Pak Sokibi

Anda dapat mengunduh template skripsi LibreOffice Writer dibawah ini, dan jangan lupa jika anda merasa bingung menggunakannya bisa bertanya di komen bawah ini secara langsung.

Terimakasih, dan semoga bermanfaat.

Template Skripsi- LibreOfice Writer.

Modifikasi Footnote pada LibreOffice Writer

Assalamualaikum Wr. Wb.

Apa kabar sahabat blogger ? pada kali ini saya ingin berbagi pengetahuan tentang bagaimana melakukan modifikasi pada footnote di LibreOffice Writer. Kenapa saya ingin berbagi pengetahuan ini ? ketika saya mengerjakan tugas akhir atau skripsi saya, disitu saya mengalami kendala dengan penulisan sitasi, karena pada format yang diberikan dari kampus tidak sama pada format LibreOffice Writer secara default/ baku. Pada waktu saya mencoba menjelajah dan mencari tahu bagaimana cara menyunting format foonote yang sesuai dengan format dari kampus. Format yang dimaksud adalah nomor sitasi yang berada di footnote itu berbentuk superscript. Ternyata setelah saya cari tahu, masalah masih belum terselesaikan.

Hal tersebut semakin memicu saya untuk terus menemukan jawabannya, yang akhirnya saya mencoba untuk bertanya di grup BLOI (Belajar LibreOffice Indonesia). Dan alhamdulillah, banyak teman- teman yang support dan ikhlas dalam membantu saya untuk menemukan solusinya. Baik, saya akan menjelaskan bagaimana cara memecahkan masalah format sitasi tersebut, sebagai berikut :

  • Buatlah style character terlebih dahulu, disini kita mulai bermain dengan style character. Misalnya disini saya memberi nama style ‘nomor footnote’ (opsional).
Membuat Nama Style
  • Pilih tab ‘Font’, sunting Font Family dan ukuran Font yang anda inginkan
  • Pilih tab ‘Position’ dan pilih radio button ‘Superscript’. Setelah itu baru konfirmasi pengaturan dengan menekan tombol ‘Apply’ dan ‘OK’.
Mengatur tab font dan tab posisi
  • Setelah membuat style character, saatnya kita mengatur format foonote dengan menyesuaikan format style yang sudah kita buat sebelumnya.
  • Masuk pada posisi footnote, tapi sebelum itu buat tulisan beberapa kata saja, kemudian masukkan footnote dengan cara klik menu ‘Insert’ dan pilih ‘Footnote and Endnote’ dan pilih ‘Footnote’.
  • Setelah anda beralih pada posisi footnote, klik kanan dan pilih ‘Footnotes and Endnotes’.
  • Pilih nama format style yang sudah dibuat sebelumnya pada bagian ‘Footnote area’. Nah, disitu kita akan membuat number footnote menjadi superscript sesuai dengan format yang kita inginkan. Jika sudah selesai, jangan lupa untuk mengkonfirmasi perubahan pengaturan.
Hasil akhir membuat format footnote
  • Berikut adalah perbedaan hasil format foonote sebelum dan sesudah :
Sebelum menggunakan format footnoteHasil akhir membuat format footnote

Perbedannya jelas terlihat, format yang diminta kampus saya memiliki nomor footnote menjadi superscript atau tidak sejajar dengan kalimat sitasinya. Mungkin itu saja pengetahuan yang dapat saya bagikan, sekali lagi saya sangat berterimakasih kepada semua rekan yang telah sudi membantu dan memberikan pendidikan serta pengetahuan dalam Belajar LibreOffice ini dengan baik bahkan bisa membantu kontribusi pada proyek LibreOffice ini. Karena kita tidak harus menggunakan software yang ilegal (tanpa membeli lisensi) jika software itu berbayar, tapi sebenarnya banyak sekali software alternatif yang dapat mengatasi masalah itu agar kita terhindar dari kasus pembajakan software/ aplikasi. Maka dari itu, saya sangat merasa terbantu dan semakin sadar bahwa berkarya dengan software/ aplikasi opensource ini sangat membantu bahkan membuat karya kita semakin dihargai oleh orang lain, kalau bukan kita sendiri yang mulai menghargai karya orang lain lalu siapa lagi dan kalu bukan waktunya sekarang mau ditunda kapan lagi? Selamat berkarya di dunia ‘Anti Pembajakan Aplikasi’.

Semoga bermanfaat, barokah dan sampai jumpa pada pertemuan selanjutnya.

Selayang Pandang Workshop LibreOffice Writer

Assalamualaikum Wr. Wb.

Sudah lama sekali saya tidak menulis lagi di blog ini, rasanya kepikiran jika tidak menulis sepatah katapun. Tapi itu semua tidak akan sirna selagi kita masih haus ilmu dan ingin mengamalkannya. Pada tulisan kali ini saya akan bercerita tentang pengalaman menjadi pemateri Workshop LibreOffice Writer di kampus saya tercinta sebut saja nama yang sudah familiar yaitu UNIDA Gontor (Universitas Darussalam Gontor). Workshop LibreOffice Writer ini baru pertama kali di adakan di kampus ini. Awalnya saya memang berniat mengadakan workshop ini, tapi belum tahu mau kapan dilaksanakannya. Ide itu muncul setelah saya mengikuti acara bergengsi yakni LibreOffice Conference Indonesia yang diadakan di Politeknik Elektronika Negeri Surabaya (PENS). 

Saya bersama teman- teman Komunitas Linux Universitas Darussalam (KSL – Dragon) sangat tertarik sekali mengikuti acara tersebut, karena selain kita mendapat ilmu dan pengalaman, kita juga mendapatkan banyak relasi khususnya para kontributor LibreOffice Indonesia. Oleh karena itu, saya bersama teman- teman ingin sekali untuk mengadakan acara workshop libreoffice ini di kampus kami. Kenapa saya dan teman- teman komunitas KSL- Dragon ingin sekali mengadakan acara ini ? para mahasiswa harus tahu tentang LibreOffice. Kebutuhan mahasiswa secara akademis tidak lain dan tidak bukan keseharian mereka menulis dan membuat laporan tugas baik itu dari dosen atau tugas mandiri. Jika mahasiswa menulis dengan menggunakan software/ aplikasi ilegal, bagaimana mahasiswa bisa menulis karya dengan nyaman dan tenteram. Karena penggunaan software secara ilegal sangat tidak diperbolehkan, dan akan kena hukuman pembajakan software. Dengan begitu kami bersama komunitas KSL- Dragon berniat ingin mengenalkan penggunaan LibreOffice kepada seluruh sivitas akademika UNIDA Gontor pada khususnya.

LibreOffice merupakan aplikasi perkantoran yang mirip sekali dengan Microsoft Office. Perbedaannya LibreOffice ini merupakan perangkat lunak Open Source (Kode Terbuka). LibreOffice bebas untuk diunduh, digunakan, dan disebarkan oleh siapapun. Berikut merupakan cuplikan dari kegiatan Worshop LibreOffice Writer.

Poster Acara Workshop LibreOffice

Peserta workshop ini bersifat umum siapa saja boleh ikut, baik kalangan mahasiswa bahkan dosen. Workshop ini dilaksanakan pada tanggal 10 Januari 2019 di Laboratorium Jaringan Komputer Lt. 1 Universitas Darussalam Gontor- Ponorogo. Waktu pelaksanaan dari pukul 08.00 pagi – 16.00 sore. Untuk tema workshop yang dibawakan yaitu “Membuat Karya Tulis dengan LibreOffice Writer”. Peserta yang menghadiri acara ini sangat ramai dan antusias juga terlihat mereka banyak yang aktif ketika mengikuti workshop. Dan saya juga pertama kali terkejut melihat salah satu peserta yang menjadi satu- satunya peserta wanita pada workshop LibreOffice Writer ini. Beliau datang dari STKIP Pacitan jauh- jauh untuk menimba ilmu workshop ini. Luar biasa sekali ..

Suasana Workshop LibreOffice

Materi yang dibahas pada workshop kali ini, yaitu pengenalan dasar apa itu LibreOffice ? dilanjutkan dengan teori dan praktik kepenulisan karya tulis mulai dari cara pengaturan ukuran, pengaturan halaman, pengaturan styling, penggunaan atau penerapan styling, membuat daftar isi, sampai membuat template LibreOffice Writer. Acara workshop ini dibagi menjadi tiga sesi. Adapun sesi pertama perkenalan LibreOffice, membuat styling tahap I diisi dengan coffee break pada pukul 10.00. Lanjut sampai waktu dzuhur dan ishoma. Kemudian sesi kedua melanjutkan membuat styling dan formatting serta ditemani dengan snack dan aneka minuman (soft drink) sampai tahap terakhir pada pukul 16.00. Alhamduillah, target workshop LibreOffice Writer ini sungguh sesuai dengan target, materi dapat tersampaikan dengan baik dan sesuai dengan waktu yang ditentukan, alhasil para peserta juga sangat tertarik tidak ada kendala dan semuanya merasa puas mengikuti workshop ini.

Troubleshoot LibreOffice Writer

Sebelum sesi terakhir, kurang menarik apabila tidak mendengar pesan dan kesan para peserta selama mengikuti acara workshop ini, ada dua mahasiswa yang menyampaikan pesan dan kesan mereka. Yang pertama saudara Arta Zulian Effendi (mahasiswa UNIDA Gontor), dia menyampaikan bahwa penggunaan LibreOffice Writer ini enak, nyaman, dan tidak susah digunakan. Salah satunya yaitu ketika membuat suatu daftar isi, membuat daftar terasa lebih mudah. Sedangkan yang kedua saudari Tiyara (mahasiswi STKIP Pacitan) yang menyampaikan bahwa selama ini tugas kuliah dan proposal yang banyak sangat terbantu sekali jika menggunakan LibreOffce Writer ini, karena menggunakannya pun tidak susah.

Dengan begitu, kami sebagai penyelenggara acara workshop ini merasa lega dapat mengadakannya dengan lancar dan sukses. Dan sebagai motivasi buat seluruh peserta, panitia juga membuat suatu challenge yang mana setiap peserta dapat menuliskan cerita selama mengikuti kegiatan workshop LibreOffice Writer dengan tema : “Membuat Karya Tulis dengan LibreOffice Writer” dalam bentuk format .odt (Open Document Text) dan menggunakan format styling yang sudah diajarkan. Hadiah  bagi yang menjadi penulis terbaik, akan mendapatkan buku LibreOffice Writer karya Bapak Sokibi.

Foto Bersama Para Peserta Workshop LibreOffice

Dan terakhir, saya ucapkan terimakasih banyak kepada Bapak Sokibi yang sudah memberikan izin kepada saya menjadikan buku beliau sebagai referensi modul workshop yang saya buat, dan kepada TIM LibreOffice.ID yang memberikan banyak masukan serta tak lupa kepada segenap teman seperjuangan KSL- Dragon yang dapat memberikan kesempatan untuk membagi ilmu dan pengalaman saya kepada teman- teman sekalian. Harapan saya semoga dengan adanya acara ini, para mahasiswa semakin terbuka wawasan mereka untuk mengutamakan menggunakan software/ aplikasi yang legal. Dan lebih- lebih dapat berkontribusi pada aplikasi berbasis opensource salah satunya yaitu LibreOffice.

Terimakasih, Wassalamualaikum Wr. Wb. Semoga bermanfaat dan barokah. Aamiin.

Network Automation with Ansible

Assalamualaikum Wr. Wb.

Apa kabar blogger ? Apa kabar engineer ? semoga kalian selalu semangat dalam mengais ilmu IPTEK. Karena semakin lama semakin cepat perkembangan IPTEK ini. Sama dengan Network Automation ini, sebelum kenal dengan makanan ini kita mungkin mengkonfigurasi router dengan cara manual. Oke kalau router itu jumlahnya masih sedikit, naah bagaimana jika routernya sangat banyak jumlahnya. Berarti kita harus login satu- persatu baru mulai konfigurasi. Nah hal semacam itu sudah mulai ditinggalkan karena sekarang sudah ada alternatifnya yaitu otomatisasi. Dimana engineer dapat mengkonfigurasi banyak perangkat hanya dengan satu perintah saja. Ini akan sangat membantu pekerjaan manusia, mengurangi buang- buang waktu, tidak akan terjadi kesalahan karena sudah dimasukkan kedalam script.
Oke itu sedikit intro pada pembahasan tool Network Automation kita yang terakhir ini. Nah tool yang kita gunakan kali ini yaitu Ansible. Ansible merupakan tool automation yang sangat populer saat ini. Ansible bisa membantu kita untuk melakukan tugas yang sama berkali- kali.

Akan ada banyak sekali keuntungan yang kita dapat jika kita menggunakan ansible, diantaranya :

  1. Menghemat waktu dan menjadi lebih produktif
  2. Menghindari pekerjaan yang berulang- ulang
  3. Mengurangi kemungkinan kesalahan
  4. Meningkatkan keuntungan

Mungkin ada yang bertanya, kenapa kita menggunakan ansible ? Berikut bebreapa alasannya :

  1. Sangat mudah dipelajari
  2. Tidak memerlukan kemampuan spesial dalam coding
  3. Tidak membutuhkan agent di device yang ingin di otomasi
  4. Bisa menggunakan SSH
  5. Predictible, reliable, and secure.

Jika kalian ingin lebih lengkap informasi dari ansible, kalian bisa mengunjungi link ada yang ada disini atau anda bisa mengunjungi dokumentasinya disini.

Oke sebelum kita mulai otomasi, kita cek terlebih dahulu ansible pada server kita apakah sudah terinstall atau belum :

6
Cek Ansible

Jika ansible sudah diinstall, tahap kedua yaitu kita setup hosts nya dengan menambahkan IP Address dan hostnamenya, misalkan :

7
Edit file /etc/hosts

Coba kita ping R1 dan pastikan koneksi sudah menyambung. Kemudian buat direktori ansible dan buat 2 file yaitu ansible.cfg dan host. Berikut isi dari file ansible.cfg :

[defaults]
inventory = ./hosts
host_key_checking = false
timeout = 5
Pada file ansible.cfg diatas, kita mendefinisikan bahwa file inventory adalah hosts. File inventory ini adalah file yang menyimpan list dari device yang ingin kita otomasi. Sekarang kita buat file hostsnya.
[group1]
R1
R2
R3
[group2]
R4
R5
R6
File file hosts tersebut terdapat dua kelompok/ grup. Dimana grup1 terdapat R1 – R3, sedangkan grup2 terdapat R4- R6.
Sekarang kita gunakan perintah ansible untuk melihat list host yang sudah kita konfigurasi.
ansible –list-host group1
Ini hasilnya :
8
List host group1

Nah sekarang kita akan menggunakan Ad- Hoc Command. Ad- Hoc Command merupakan fitur di ansible yang digunakan jika kita ingin melakukan dengan sangat cepat tanpa menyimpannya. Pada kasus kali ini kita akan mencoba melihat semua interface yang aktif pada semua router. Sebelumnya buatlah topologi multiple- device seperti ini :

9
Topologi Multiple Devices

Berikut perintah yang kita gunakan untuk melihat interface yang aktif pada seluruh router.

ansible all -m raw -a “show ip int brief | i up” -u imron -k
Keterangan :
-m adalah module: Modul yang kita gunakan yaitu modul raw
-a adalah perintah: perintah yang ingin kita gunakan
-u adalah user: User apa yang ingin di remote
-k adalah password: perintah tersebut akan memberikan perintah kepada user untuk input password
Berikut hasilnya :
10
Hasil ansible dengan Ad- Hoc Command

Nah, bagaimana dengan port default router yang sudah dirubah ? Jangan khawatir pada ansible sudah disediakan solusinya. Kita cuma menambahkan port baru pada file hostsnya. Contohnya seperti ini :

11
Rubah port defaul router

Jika sudah selesai ditambahkan, sekarang kita coba melihat tabel ARP pada R1 dengan cara :

ansible R1 -m raw -a “sh arp” -u imron -k
Hasilnya :
12

Selain menggunakan Ad- Hoc Command, Ansible juga menyediakan fitur playbook. Pada playbook ini butuh pemrograman juga yang menggunakan bahasa yaml. Bahasa yaml ini sangat mudah sekali dipahami oleh seorang pemula seperti saya ini, karena sangat user-friendly sekali. Oke langsung saja kita membuat file yaml nya. Pada script kali ini kita akan melihat tabel arp pada router yang ada pada group2. Berikut script nya :


– name: Get ARP Info
hosts: group1
gather_facts: false
connection: local

vars:
cli:
host: “{{ inventory_hostname }}”
username: imron
password: “123”
tasks:
– name: Show ARP Table
ios_command:
provider: “{{ cli }}”
commands:
– show arp

register: print_out
– debug: var=print_out.stdout_lines

Jalankan script tersebut dengan perintah ‘ansible-playbook test1.yml’ (tanpa tanda petik), jika berhasil akan keluar seperti pada gambar berikut :

13
Hasil show tabel arp pada group2

Yang terakhir kita akan mencoba membuat access- list pada group2, berikut scriptnya :


– name: Configure ACL
hosts: R4
gather_facts: false
connection: local

vars:
cli:
host: “{{ inventory_hostname }}”
username: imron
password: “123”
tasks:
– name: Configuring Access List
ios_config:
provider: “{{ cli }}”
authorize: yes
parents: ip access-list extended 100
lines:
– deny icmp any any
– deny icmp any any
– deny tcp any any eq 80
– deny tcp any any eq 23
– permit ip any any

register: print_out
– debug: var=print_out

Perhatikan bahwa kita membuat 4 rule access-listm yaitu untuk memblokir koneksi ping, http, dan telnet, kemudian mengizinkan traffic lain selain ketiga traffic tersebut. Kita coba jalankan script tersebut, dan hasilnya akan tampak seperti ini :

14
Hasil pembuatan access-list

Untuk sementara ini cukup sampai disini dulu ya teman- teman, masih banyak sekali modul ansible yang tersedia di website dokumentasi ansible dan itu sudah saya kasih link diatas. Silahkan menikmati dan semoga bermanfaat. Aamiin

Wassalamualaikum Wr. WB.

Referensi :
Rosid Komarudin, Ahmad. 2018. Otomatisasi Administrasi Jaringan Dengan Script Python. Jakarta: Jasakom

 

Network Automation with PyNTC

Assalamualaikum Wr. Wb.

Apa kabar blogger ? sudah tidak sabar kan dengan pembahasan network automation yang lain. Yapss,, kali ini saya akan berbagi informasi dan pengetahuan masih dengan network automation cuma dengan tool yang berbeda. Tool yang digunakan adalah PyNTC. Apa sih perbedaan dengan tools yang lainnya ? Nah, PyNTC merupakan python library yang bisa bekerja pada beberapa network API dan device type, termasuk Cisco IOS.

Cisco IOS tidak support API, karena itulah metode yang digunakan untuk Cisco IOS adalah SSH. Sedangkan beberapa device lain support API, sehingga menggunakan API seperti NX- API untuk NX- OS, eaAPI untuk Arista EOS, dan NETCONF untuk Juniper JunOS. Untuk informasi lebih lanjut tentang PyNTC, bisa mengunjungi website dokumentasi disini .

Sebelum mulai otomatisasinya, kita harus mengecek apakah benar PyNTC sudah terinstall dengan baik belum pada server kita, dengan cara :

pip show pyntc

Jika keluar informasi deskripsi pyntc seperti berikut, berarti anda sudah menginstall pyntc dengan baik.

8
Cek informasi PyNTC

Oke sekarang kita mulai otomatisasi yaah.. Buatlah topologi sederhana terlebih dahulu. Misalnya seperti berikut :

8
Topologi sederhana PyNTC

Untuk otomatisasi yang pertama kita membuat script untuk verifikasi dasar seperti show arp, show interface, show ip interface, show commands, dll. Namun pada kali ini saya akan share bagaimana cara show commands. Berikut scriptnya  :

from pyntc import ntc_device
import json
ios = ntc_device(host=”192.168.0.3″,
username=”imron”,
password=”123″,
device_type=”cisco_ios_ssh”)
ios.open()
ios_int = ios.show(“show run int e0/0”)
print ios_int

Kita cuma cukup menambahkan perintah show run int e0/0 yang disimpan dalam variabel ios_int dan kemudian variabel dicetak, sehingga jika sudah berhasil akan muncul seperti pada gambar berikut ini :

1
Hasil show commands

Selanjutnya kita akan mencoba membuat script yang digunakan untuk Multiple Show Commands. Tidak cukup satu command yang bisa digunakan untuk otomatsasi, ternyata kita juga bisa menambahkan show commands yang lainnya. Berikut scriptnya :

from pyntc import ntc_device
import json
ios = ntc_device(host=”192.168.0.3″,
username=”imron”,
password=”123″,
device_type=”cisco_ios_ssh”)
ios.open()commands = [“sh run int e0/0”,
“sh ip int brief | i up”,
“sh clock”]
ios_data = ios.show_list(commands)
for line in ios_data:
print line

Pada script diatas kita mencoba show commands yaitu ‘sh run int e0/0’, ‘sh ip int brief | i up’, dan ‘sh clock’. Save dengan nama test2.py dan jalankan scriptnya, seperti ini hasilnya :

2
Hasil multiple show commands

Tidak hanya show commands, kita juga dapat menggunakan show config untuk mengkonfigurasikan router ataupun switch. Nah script ini akan membuat user dan password baru serta mengecek apakah user baru sudah dibuat pada router, berikut scriptnya :

from pyntc import ntc_device
import json
ios = ntc_device(host=”192.168.0.3″,
username=”imron”,
password=”123″,
device_type=”cisco_ios_ssh”)
ios.open()
ios.config(“username linux secret 123”)
print ios.show(“show run | include username”)

Hasilnya akan tampak seperti gambar berikut :

3
Hasil show config

Nah, selanjutnya kita akan membuat script untuk backup konfigurasi pada router. Sebenarnya semua tools yang ada pada Network Automation ini dapat membuat backup konfigurasi. Akan tetapi pada tool PyNTC cukup menambahkan hanya satu line saja. Penasaran dengan script nya kan, naah langsung saja berikut script nya :

from pyntc import ntc_device
import json
ios = ntc_device(host=”192.168.0.3″,
username=”imron”,
password=”123″,
device_type=”cisco_ios_ssh”)
ios.open()
ios.backup_running_config(“R1.cfg”)

Kita cukup menambahkan script ‘ios.backup_running_config(“R1.cfg”)’ saja. Kemudian kita running script tersebut. Dan jika berhasil maka file .cfg pasti ada pada current- directory, kemudian cek file tersebut dengan perintah ‘more’ (tanpa tanda petik) hasilnya tampak seperti pada gambar berikut ini :

4
Hasil script untuk Backup

Nah untuk yang terakhir, kita coba bermain pada multiple- device yah. Bagaimana caranya kita mem- backup masing- masing router dengan singkat, cepat dan tepat. Akan tetapi buatlah topologinya terlebih dahulu. Seperti dibawah ini misalnya :

5
Topologi multiple device

Scriptnya :

from pyntc import ntc_device
import json
for x in range(3,7):
ios = ntc_device(host=”192.168.0.%s” % (x),
username=”imron”,
password=”123″,
device_type=”cisco_ios_ssh”)
ios.open()
ios.backup_running_config(“R%s.cfg” % (x))
print “Backup berhasil”

Kita membuat perulangan dengan looping dengan range 3,7. Artinya ip address yang dikonfigurasi dimulai dari host-3 sampai pada host- 6. Jika sudah selesai jangan lupa save dan jalankan script tersebut. Jika berhasil file .cfg akan terdapat pada current- directory anda.

5
Hasil backup multipe device

Mungkin sementara itu dulu yang dapat saya share kepada teman- teman semua. Kalau anda ingin menambahkan opsi yang lain dan memperdalam tool PyNTC silahkan diulik sendiri scriptnya. Terimakasih dan semoga bermanfaat. Aamiin

Wassalamualaikum Wr. Wb.

Ref :
Rosid Komarudin, Ahmad. 2018. Otomatisasi Administrasi Jaringan Dengan Script Python. Jakarta: Jasakom

 

Network Automation with Netmiko

Assalamualaikum Wr. Wb.

Apa kabar kalian para blogger ? senang sekali kembali menulis blog ini untuk bisa sharing pengetahuan dan informasi kepada kalian semua. Semoga kalian tidak bosan- bosan yah menimba ilmu di blog saya kali ini. Pembahasan kali ini tidak berbeda dengan tema sebelumnya, masih di Network Automation. Tapi pada kesempatan ini saya akan mempraktikkan dengan tool yang berbeda yaitu Netmiko. Apa sih Netmiko itu ?

Netmiko hampir sama dengan paramiko, netmiko juga merupakan library python yang dapat kita gunakan sebagai ssh client. Namun netmiko bisa dikatakan lebih hebat karena mendukung multivendor. Untuk informasi lebih lengkap tentang Netmiko, kalian bisa mengunjungi website ini .

Oke langsung saja kita mulai otomatisasi nya, sebelumnya pastikan paket netmiko anda sudah diinstall pada server. Untuk mengecek netmiko berikut perintahnya :

pip show netmiko

Jika muncul gambar seperti berikut, berarti netmiko sudah terpasang.

1
Netmiko berhasil terpasang

Pertama- tama buat topologi sederhana terlebih dahulu seperti pada gambar dibawah ini :

8
Topologi sederhana netmiko

Setelah itu, buat file dengan nama test1.py misalnya. Kemudian isikan script berikut pada file tersebut.

from netmiko import ConnectHandler
r1 = {
“device_type” : “cisco_ios”,
“ip” : “192.168.0.3”,
“username” : “imron”,
“password” : “123”
}
conn = ConnectHandler(**r1)
print conn.send_command(“sh ip int brief | i up”)
Script diatas digunakan untuk import function ConnectHandler dari netmiko. Function ini digunakan untuk connect ke- device. Secara keseluruhan script tersebut digunakan untuk memunculkan jumlah ip address yang up pada router yang dituju. Jalankan script tersebut dengan perinth :
2
Hasil script netmiko pertama

Setelah itu, coba kita menggunakan parameter tambahan pada netmiko. Parameter tersebut adalah port dan secret. Parameter port digunakan apabila router tidak memakai port defaul, sedangkan parameter secret digunakan untuk membuat routre apabila user masih dalam level 0, dimana parameter secret ini akan berisi password enable pada router. Namun sebelumnya, kita harus mengkonfigurasi router untuk merubah port default, seperti berikut :

ip ssh port 2222 rotary 1
ip access-list extended DenyDefaultSSH
deny tcp any any eq 22
permit ip any any
exit
line vty 0 4
rotary 1
access-class DenyDefaultSSH in
exit
end
write
Konfigurasi diatas diguanakan untuk merubah port defaul ssh pada router menjadi 2222, dan membuat access-list agar port 22 ditutup. Setelah itu coba lakukan koneksi ssh pada router tersebut. Maka koneksi akan ditolak, sedangkan pada port 2222 koneksi ssh berhasil seperti yang tampak pada gambar dibawah ini :
3
Port defaul ssh ditolak

Selanjutnya, kita akan mencoba merubah level user pada router tersebut menjadi level privilage 0 dan memberikan password. Contoh seperti berikut :

conf t
username imron privilage 0
enable secret 123
end
write
Kemudian coba masuk router dengan SSH lagi, karena privilage levelnya 0, kita perlu mengkonfigurasi enable secret agar user tersebut bisa masuk ke privilage 15 dengan perintah enable. Coba login SSH dengan user dan password yang sudah dibuat tadi.
4
Login ssh dengan user privilage 0

Sekarang coba manipulasi script python diatas dengan menambahkan beberapa parameter. Simpan dengan nama file test2.py, berikut scriptnya :

from netmiko import ConnectHandler
r1 = {
“device_type” : “cisco_ios”,
“ip” : “192.168.0.3”,
“username” : “imron”,
“password” : “123”,
“port” : “2222”,
“secret” : “123”
}
conn = ConnectHandler(**r1)
conn.enable()
print conn.send_command(“sh ip int brief | i up”)
Coba jalankan program test2.py maka dapat menampilkan informasi ip address yang sedang aktif seperti pada gambar berikut ini :
5
Script netmiko kedua berhasil

Network Automation with NAPALM

Assalamualaikum Wr. Wb.

Apa kabar sobat blogger ? masih pada tema yang sama, kali ini saya akan membagikan informasi dan pengetahuan network automation dengan tool netmiko. Hampir sama dengan paramiko, netmiko juga merupakan library python yang dapat kita gunakan sebagai ssh client. Namun netmiko bisa dikatakan lebih hebat karena mendukung multivendor. Jika anda ingin melihat list tersebut, silahkan cek pada link disini.

Oke langsung saja kita menuju pada otomatisasi- nya, sebelumnya pastikan paket netmiko anda sudah terinstall dengan perintah :

pip show napalm

 

Jika muncul gambar seperti berikut, berarti paket netmiko sudah terinstall.
Selanjutnya kita akan membuat topologi sederhana terlebih dahulu seperti yang dibawah ini :
8
Topologi sederhana netmiko

Setelah kita membuat topologi seperti diatas, kita harus mengkonfigurasikan ip address pad masing- masing node dan harus dalam satu network yang sama. Selain itu kita juga harus membuat username, password, level user, domain, generate key (untuk ssh), dan transport input ssh pada router. Cara tersebut sudah saya jelaskan pada Network Automation with Paramiko . Kemudian buat file dengan nama test1.py dan isikan script seperti dibawah ini :

from napalm import get_network_driver
import json
driver = get_network_driver(“ios”)
ios_r1 = driver(“192.168.0.3″,”imron”,”123″)
ios_r1.open()
r1_facts = ios_r1.get_facts()
print r1_facts
ios_r1.close()
Script tersebut digunakan untuk mengambil informasi IP Address pada Router 1. Setelah itu jalankan dengan perintah :
python test1.py
Jika berhasil akan keluar jendela seperti berikut :
3
Hasil script napalm pertama

Terlihat pada gambar tersebut muncul sejumlah informasi dari router, akan tetapi data masih belum bisa rapi. Maka dari itu kita akan mencoba membuat data tersebut menjadi rapi. Coba copy file script test1.py menjadi test2.py dan edit file tersebut. Berikut scriptnya :

from napalm import get_network_driver
import jsondriver = get_network_driver(“ios”)
ios_r1 = driver(“192.168.0.3″,”imron”,”123″)
ios_r1.open()
r1_facts = ios_r1.get_facts()
print json.dumps(r1_facts,indent=3)
Pada script tersebut kita kita mengimport modul tambahan yaitu json. Kemudian pada statement print, kita mengubahnya agar menjadi json. Pada statement print tersebut kita mengkonfigurasikan nilai indent nya menjadi 3. Nilai inden sama dengan karakter . Baik, sekarang kita akan mencoba menjalankan script tersebut dengan perintah :
python test2.py
Jika hasilnya seperti pada gambar berikut, berarti script anda berhasil.
4
Hasil script napalm kedua

Setelah kita membuat otomatisasi pada single device, belum pas kalau kita belum meng- otomatisasi dengan multiple- device. Maka dari itu kita akan mencoba otomatisasi pada multiple- device. Berikut topologi sederhananya :

5
Topologi Multiple Device Napalm

Setelah kita membuat topologi tersebut, sekarang kita akan melakukan otomatisasi dengan tahap “Get Facts Multiple Device” yaitu untuk mendapatkan infomasi pada banyak device. Diasumsikan masing- masing router sudah memiliki ip address, username, password, privilege 1. Jika anda telah merubah port default ssh router anda, silahkan dihapus dulu konfigurasinya, karena kita masih menggunakan default port ssh. Copy file test2.py menjadi test3.py edit scriptnya seperti berikut :

from napalm import get_network_driver
import json
for x in range(3,7):
driver = get_network_driver(“ios”)
ios_r1 = driver(“192.168.0.{0}”.format(x),
“imron”,”123″)
ios_r1.open()
r1_facts = ios_r1.get_facts()
print json.dumps(r1_facts,indent=3)
ios_r1.close()
Pada script tersebut kita menambahkan script looping yang berupa (for) dengan range (3,7), itu artinya rangenya adalah 3 – 6 (sesuai dengan ip address router). Kemudian pada bagian ip address, kita menggunakan format “192.168.0.{0}.format(x)”. Itu artinya, pada looping pertama IP Addressnya adalah “192.168.0.3”(R1), pada looping kedua menjadi “192.168.0.4”(R2), begitupun seterusnya. Setelah itu jalankan scriptnya :
python test3.py

Setelah dijalankan maka informasi pada masing- masing router akan muncul seperti pada gambar berikut :

6
Hasil script napalm ketiga

Terlihat pada gambar diatas merupakan informasi yang didapatkan dari R4, gambar sengaja saya cropt karena tidak mencukupi dari hasil R1.

Network Automation | Python Telnet

 

Jika ingin gabung Grup telegram ‘GNS3’ silahkan join pada link ini :
Kanal dokumentasi : https://t.me/GNS3INDONESIA

Slide bisa di Download disini : http://bit.ly/2QgQqr6


 

Assalamualaikum Wr. Wb.

Masih dalam pembahasan Network Automation, memang bicara network automation ini sangatlah luas. Karena bisa dikembangkan dengan script pemrograman maka sangatlah besar dan luas peluangnya. Kali ini saya akan membahas tentang telnet. Bagaimancara otomasi telnet yang diterapkan pada perangkat switch.

Langkah- Langkah :
Pertama, buatlah topologi jaringan anda misalkan seperti pada gambar berikut ini :

1
Topologi jaringan telnet

Setelah itu, konfigurasikan switch anda terlebih dahulu. Buatlah ip address, username dan password terlebih dahulu.

conf t
interface vlan1
ip add 192.168.0.4 255.255.255.0
no shutdown
exit
username imron secret 123 /n username imron privilege 15
line vty 0 4
transport input telnet
login local
end
write

Kemudian, coba tes koneksi telnet dari server ke switch, jika pesan seperti pada gambar berikut koneksi yang anda buat berhasil.

3
Tes koneksi telnet berhasil

Setelah kita membuat koneksi telnet berhasil, kita akan melakukan otomasi jaringan perangkat switch dengan python. Berikut scriptnya :

import telnetlib
import getpass

host = raw_input(“Enter switch IP Address: “)
user = raw_input(“Enter your telnet username: “)
password = getpass.getpass()

tn = telnetlib.Telnet(host)

tn.read_until(“Username: “)
tn.write(user + “\n”)
if password:
tn.read_until(“Password: “)
tn.write(password + “\n”)
tn.write(“conf t\n”)
tn.write(“vlan 50\n”)
tn.write(“name PythonVlan50\n”)
tn.write(“vlan 60\n”)
tn.write(“name PythonVlan60\n”)
tn.write(“end\n”)
tn.write(“exit\n”)

print tn.read_all()

Intinya digunakan untuk membuat vlan50 (PythonVlan50) vlan60 (PythonVlan60) pada switch. Simpan script tersebut dengan format “nama_file.py” (tanpa tanda petik) kemudian jalankan dengan perintah “python ” tanpa tanda petik. Jika berhasil akan tampil seperti pada gambar dibawah ini :

4
Tes otomasi jaringan dengan protokol telnet menggunakan script dasar berhasil
5
Hasil script 1 berhasil

Kedua, kemudian kita akan membuat otomasi lagi. Akan tetapi kita akan membuat 10 vlan dengan looping. Berikut scriptnya :

import telnetlib
import getpass
host = raw_input(“Enter switch IP Address: “)
user = raw_input(“Enter your telnet username: “)
password = getpass.getpass()
tn = telnetlib.Telnet(host)
tn.read_until(“Username: “)
tn.write(user + “\n”)
if password:
tn.read_until(“Password: “)
tn.write(password + “\n”)tn.write(“conf t\n”)
for x in range(1,11):
tn.write(“vlan ” + str(x) + “\n”)
tn.write(“name PythonVlan” + str(x) + “\n”)
tn.write(“end\n”)
tn.write(“exit\n”)

print tn.read_all()

Kemudian simpan, dan jalankan jika outputnya seperti ini berarti anda berhasil untuk otomasi script telnet yang kedua ini.

6
Hasil membuat vlan dengan looping

Ketiga, kita akan membuat otomasi jaringan dengan banyak perangkat switch (multiple devices) seperti pada berikut topologinya, Dimana script tersebut akan membuat vlan pada masing- masing perangkat switch. Saya asumsikan anda sudah membuat ip address, username beserta password pada masing- masing perangkat switch.

7
Topologi Jaringan Banyak Perangkat Switch (Multiple Devices)

Selanjutnya, kita membuat scriptnya seperti berikut ini :

import telnetlib
import getpass

user = raw_input(“Enter your telnet username: “)
password = getpass.getpass()

device_list = [“192.168.122.82″,”192.168.122.83″,”192.168.122.84″,”192.168.122.85”]
for host in device_list:
print “Configuring %s” % (host)
tn = telnetlib.Telnet(host)
tn.read_until(“Username: “)
tn.write(user + “\n”)
if password:
tn.read_until(“Password: “)
tn.write(password + “\n”)

tn.write(“conf t\n”)
tn.write(“vlan 600\n”)
tn.write(“name PythonVlan600\n”)
tn.write(“vlan 700\n”)
tn.write(“name PythonVlan700\n”)
tn.write(“end\n”)
tn.write(“exit\n”)

print tn.read_all()

Sesuaikan ipaddress anda, Simpan script tersebut dan jalankan. Jika muncul seperti gambar berikut ini berarti koneksi anda berhasil :

8
Tes otomasi jaringan pada banyak devices switch

Keempat, masih dengan topologi yang sama seperti sebelumnya dan intinya sebenarnya sama membuat vlan pada beberapa perangkat switch, tapi bedanya kita menyimpan sejumlah ip address pada satu file yang akan kita panggil pada script tersebut.

import telnetlib
import getpass

ip_in = raw_input(“Enter your IP Address file name: “)
user = raw_input(“Enter your telnet username: “)
password = getpass.getpass()

ip_file = open(ip_in,”r”)
device_list = ip_file.readlines()
for host in device_list:
print “Configuring %s” % (host)
tn = telnetlib.Telnet(host)

tn.read_until(“Username: “)
tn.write(user + “\n”)
if password:
tn.read_until(“Password: “)
tn.write(password + “\n”)
tn.write(“conf t\n”)
tn.write(“vlan 500\n”)
tn.write(“name PythonVlan300\n”)
tn.write(“end\n”)
tn.write(“exit\n”)
print tn.read_all()

Simpan script tersebut, buat file untuk meyimpan beberapa ipaddress anda dengan nama file “ip.txt” (tanpa tanda petik). Seperti pada gambar berikut :

9
File untuk meyimpan ip address

Setelah itu, simpan script anda dan jalankan. Jika muncul jendela seperti pada gambar berikut ini, berarti otomasi jaringan yang anda buat berhasil.

10
Tes koneksi telnet multiple device dengan file ip berhasil

Yang terakhir, kita akan mengubah port default telnet pada switch. Maksud dari diubahnya port default adalah untuk menjaga keamanan dati switch tersebut. Maka dari itu kita perlu mengkonfigurasi switch terlebih dahulu, berikut konfigurasinya :

line vty 0 4
rotary 1
exit
ip access-list extended DenyTelnet
deny tcp any any eq 23
permit ip any any
exit
line vty 0 4
access-class DenyTelnet in
exit

Konfigurasi diatas digunakan untuk mengubah port default telnet (23) menjadi 3001, Jadi jika kita ingin masuk switch tersebut dengan telnet tanpa menambah port 3001 koneksi akan ditolak seperti berikut ini :

11

Sebenarnya, kita bisa masuk switch tersebut dengan menambahkan port diakhir misal : “telnet 192.168.0.3 3001” (tanpa tanda petik), tapi kita akan membuat scriptnya supaya dapat mempermudah dan mempercepat pekerjaan kita. Berikut scriptnya :

import telnetlib
import getpass

host = raw_input(“Enter your IP Address : “)
user = raw_input(“Enter your telnet username: “)
password = getpass.getpass()

tn = telnetlib.Telnet(host,3001)
tn.read_until(“Username: “)
tn.write(user + “\n”)
if password:
tn.read_until(“Password: “)
tn.write(password + “\n”)

tn.write(“sh run | section vty\n”)
tn.write(“exit\n”)

print tn.read_all()

Simpan script diatas, dan jalankan. Jika berhasil akan keluar seperti gambar berikut :

12
Tes koneksi dengan telnet berbeda port berhasil

Sekian, semoga bermanfaat dan Terimakasih.

Referensi : Rosid Komarudin, Ahmad. 2018. Otomatisasi Administrasi Jaringan Dengan Script Python. Jakarta: Jasakom

Network Automation with Paramiko

Assalamualaikum Wr. Wb.

Pada kali ini saya akan membagikan informasi dan pengetahuan tentang Network Automation dengan menggunakan tools Paramiko. Seperti penjelasan sebelumya, cuma perbedaan dengan kali ini saya menggunakan tools Paramiko. Paramiko merupakan salah satu library pada python yang bisa kita gunakan sebagai SSHv2 server maupun client. Adapun pada blog kali ini, kita akan memanfaatkan paramiko sebagai ssh client. Untuk info lebih lanjut tentang Paramiko, Anda bisa mengunjungi website resmi paramiko disini atau website dokumentasinya disini .

Persiapan :

Software > GNS3, Image IOU/ IOS (Switch dan Router), Windows/ Linux/ MacOs.

Hardware > RAM 4 GB (minimal), Core i5.

Langkah- Langkah :

Pertama, gunakan appliance Network Automation pada GNS3 anda, jika anda belum download anda bisa mendownload-nya disini . Jika paramiko sudah ada, anda bisa memastikan dengan perintah ini “pip show paramiko” (tanpa tanda petik) maka akan keluar jendela seperti berikut :

2
paramiko tools

Kedua, kita akan melakukan konfigurasi pada SSH dengan paramiko ini. Disini saya menggunakan topologi seperti ini :

8
Topologi Jaringan SSH

Sebelumnya kita harus melakukan konfigurasi pada router terlebih dahulu, masuk pada routernya dan ketikkan seperti pada gambar dibawah ini : (saya berasumsi anda sudah konfigurasi IP Address pada router dan servernya)

conf t
hostname IOU-R1
interface <eth>
ip address <addr> <subnetmask>
exit
username secret username privillage 15
ip domain-name
crypto key generate rsa modulus 1024
line vty 0 4
transpot input ssh
login local
end
write

Setelah itu, masuk pada komputer server dan lakukan ssh pada router anda. Jika berhasil akan tampak seperti pada gambar berikut ini :

9
SSH Client

Selanjutnya, kita akan melakukan otomasi jaringan pada router tersebut, gunakan script berikut dan simpan pada server anda dengan format nama : (bebas_ selain paramiko). Karena nama paramiko sudah termasuk pada bagian module paramiko.

import paramiko
import time

ip_address = “192.168.122.4”
username = “imron”
password = “123”

ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ip_address,username=username, password=password)

print “Success login to {0}”.format(ip_address)
conn = ssh_client.invoke_shell()

conn.send(“conf t\n”)
conn.send(“int lo0\n”)
conn.send(“ip add 1.1.1.1 255.255.255.255\n”)
time.sleep(1)
output = conn.recv(65535)
print output
ssh_client.close()

Jalankan file tersebut dengan perintah “python ” (tanpa tanda petik). Jika berhasil akan keluar seperti pada gambar dibawah ini :

10
Hasil otomasi script pertama

Kedua, kita akan melakukan otomasi selanjutnya dengan cara backup config pada salah satu router yang sudah gunakan sebelumnya. Berikut script nya :

import paramiko
import time

ip_address = “192.168.122.3”
username = “imron”
password = “123”

ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_client.connect(hostname=ip_address,username=username, password=password)

print “Success login to {0}”.format(ip_address)
conn = ssh_client.invoke_shell()

conn.send(“terminal length 0\n”)
conn.send(“show run\n”)
conn.send(“conf t\n”)
time.sleep(1)
output = conn.recv(65535)

output_file=open(“{0}.cfg”.format(ip_address),”w”)
output_file.write(output)
output_file.close()
print “Config in {0} saved!!”.format(ip_address)

ssh_client.close()

Jika berhasil, akan keluar seperti berikut ini :

12
Hasil otomasi script kedua

Ketiga, kita akan melakukan backup config pada banyak device (multiple device). Dengan script python berikut ini kita bisa membuat script sederhana tetapi dampaknya akan luar biasa. Sebelumnya, buatlah topologi yang anda inginkan, misalnya seperti berikut ini :

13
Topologi Multiple Device untuk Backup Config

Berikut scriptnya :

import paramiko
import time

ip_list=[“192.168.122.3″,”192.168.122.4″,”192.168.122.5″,”192.168.122.6”,”192.1$
username = “imron”
password = “123”

ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

for ip_address in ip_list:
ssh_client.connect(hostname=ip_address,
username=username,
password=password)

print “Success login to {0}”.format(ip_address)
conn = ssh_client.invoke_shell()

conn.send(“terminal length 0\n”)
conn.send(“show run\n”)
time.sleep(1)

output = conn.recv(65535)
output_file=open(“{0}.cfg”.format(ip_address),”w”)
output_file.write(output)
output_file.close()
print “Config in {0} saved!!”.format(ip_address)

ssh_client.close()

Jalankan kode tersebut, jika berhasil maka akan tampil seperti gambar berikut ini :

14
Hasil otomasi script ketiga

Keempat, yang terakhir kita akan mengubah port default dari ssh (22) untuk keamanan, jadi jika mau ssh pada router kita misalnya harus menambahkan opsi port yang sudah kita ubah, tapi itu juga bisa dilakukan otomasinya loh, sebelumnya anda harus membuat port berapa yang akan dipakai pada router tersebut. Berikut konfigurasinya :

ip ssh port 2222 rotary 1
ip access-list extended DenyDefaultSSH
deny tcp any any eq 22
permit ip any any
exit

line vty 0 4
rotary 1
access-class DenyDefaultSSH in
exit

Setelah anda membuat konfigurasi, Coba untuk melakukan ssh pada router anda. Maka otomatis koneksi akan ditolak seperti gambar berikut ini :

17
Koneksi ditolak pada router

Tenang, kita akan tetap masuk SSH pada router tersebut tanpa harus mengetikkan port pada perintah, akan tetapi kita menambahkannya lewat script, berikut scriptnya :

import paramiko
import time

ip_address = “192.168.3.2”
username = “imron”
password = “123”

ssh_client = paramiko.SSHClient()
ssh_client.set_missing_host_key_policy(paramiko.AutoAddPolicy())

ssh_client.connect(hostname=ip_address,
username=username,
password=password,
port=2222)

print “Success login to {0}”.format(ip_address)
conn = ssh_client.invoke_shell()

conn.send(“terminal length 0\n”)
conn.send(“show ip int brief | i up\n”)
time.sleep(1)

output = conn.recv(65535)
print output

ssh_client.close()

Jika berhasil, akan tampil seperti pada gambar berikut ini :

18
Hasil otomasi pada script keempat

Alhamdulillah, cukup sekian semoga bermanfaat. Sampai jumpa pada blog selanjutnya. Terimakasih.

Referensi : Rosid Komarudin, Ahmad. 2018. Otomatisasi Administrasi Jaringan Dengan Script Python. Jakarta: Jasakom

Network Automation with Python

Assalamualaikum Wr. Wb.

Apa kabar sobat blogger ? bertemu kembali dengan saya Imron Rosyadi. Pada kali ini saya akan berbagi informasi dan pengetahuan seputar Network Automation. Nah, sebenarnya apa yang dimaksud dengan Network Automation itu ?

Network Automation secara bahasa berarti Otomatisasi Jaringan, sedangkan secara istilah yaitu proses mengotomatisasi konfigurasi, manajemen, pengujian, penyebaran, dan operasi perangkat fisik dan virtual dalam suatu jaringan. Setiap hari tugas dan fungsi jaringan dilakukan secara otomatis. Menggunakan kombinasi solusi perangkat keras dan berbasis perangkat lunak, organisasi besar, penyedia layanan, dan perusahaan dapat menerapkan otomatisasi jaringan untuk mengontrol dan mengelola proses berulang dan meningkatkan ketersediaan layanan jaringan. Nah, otomasi jaringan ini menggunakan script python dalam proses otomatisasinya.

Kenapa harus python? karena python merupakan bahasa pemrograman yang sederhana dan juga mudah dipahami baik untuk kalangan awan pun. Jadi, perbedaan Network Automation dengan Network non- Automation itu apa ?

Perbedaan yang mendasar adalah network automation lebih hemat waktu, karena dengan hanya script tersebut dapat mengeksekusi perangkat jaringan secara cepat, dan efektif. Selain itu, dengan ini pekerjaan menjadi lebih ringan karena hal- hal yang bersifat repetisi seperti backup config, restore, ganti password, dan sejenisnya bisa dilakukan dengan script saja sehingga manusia dapat melakukan pekerjaan yang lebih penting, dll.

Nah, itu ya sobat berkenaan dengan network automation. Sebagai network engineer kita juga harus belajar linux OS dulu nih. Masak anak jaringan belum paham linux ibarat sayur tanpa garam ya sobat. heheheheh ..

Jadi kenapa harus belajar Linux ? ?

Alasan pertama : banyak sekali network operarting system yang dibangun based on linux, diantaranya :

  • Cumulus Network
  • Cisco NX-OS
  • Open Network Linux (ONL)
  • Open Switch
  • Cisco IOS- XE
  • Arista Networks
  • Cisco IOS- XR
Untuk informasi yang lebih jelas lagi tentang operating system yang dibangun based on linux bisa mengutip web yang ada disini.

Alasan kedua : Network automation seperti ansible tidak bisa berjalan diatas windows. Dan beberapa tool network automation seperti Netmiko, Paramiko, NAPALM, dan lain- lain berjalan dengan baik di linux.

Dan alasan yang lainnya.

 

Nah, untuk itu kapan anda mulai belajar linux ?

ya sekarang lah, mau nunggu sampai kapan lagi? ahahahaha..

Belajar itu jangan kebanyakan nunggu dan dijeda- jeda yah sobat, apalagi belajar teknologi seperti satu ini. Kalau saya dan sobat menunggu terlalu lama, bisa- bisa kita kudet dan ketinggalan zaman. So, jangan hanya duduk berpangku di atas Zona Nyaman.

Terimakasih, Wassalamualaikum Wr. Wb.

Ref :

Rosid Komarudin, Ahmad. 2018. Otomatisasi Administrasi Jaringan Dengan Script Python. Jakarta: Jasakom