{{indexmenu_n>0001}}
====== JNCIA-Junos : The Advantages of Junos ======
===== Junos Operating System =====
----
**Junos** adalah sistem operasi yang digunakan pada berbagai perangkat jaringan Juniper, seperti:
* Router
* Switch
* Firewall
* Perangkat jaringan Juniper lainnya
Salah satu keuntungan utama Junos adalah **konsistensi sistem operasi dan cara konfigurasi** pada berbagai jenis perangkat.
Sebagian besar konsep dan perintah konfigurasi memiliki struktur yang sama, sehingga administrator tidak perlu mempelajari sistem operasi yang berbeda untuk setiap jenis perangkat.
> Perbedaan konfigurasi biasanya hanya terdapat pada fitur atau fungsi tertentu yang memang berbeda antara router, switch, firewall, dan perangkat lainnya.
===== Junos CLI =====
----
Junos menyediakan **Command Line Interface (CLI)** sebagai salah satu metode utama untuk melakukan konfigurasi dan administrasi perangkat.
==== 1. Hierarchical Configuration ====
Junos menggunakan sistem konfigurasi **hierarchical (berjenjang)**.
Konfigurasi dikelompokkan berdasarkan fungsi sehingga struktur konfigurasi lebih mudah dibaca dan dipahami.
Contoh struktur:
{{ :networking:juniper:jncia-junos-advtojunos-hierarchical-config.png?nolink&1000 |Hierarchical Configuration}}
Struktur ini membantu administrator untuk:
* Menemukan konfigurasi dengan lebih mudah.
* Memahami hubungan antar konfigurasi.
* Mengubah bagian konfigurasi tertentu tanpa harus menulis ulang seluruh konfigurasi.
==== 2. Candidate Configuration ====
Salah satu perbedaan penting Junos dibandingkan beberapa vendor lain adalah cara konfigurasi diterapkan.
Pada Junos, perubahan konfigurasi terlebih dahulu dilakukan pada **candidate configuration**.
Konfigurasi belum langsung digunakan oleh perangkat sampai administrator menjalankan:
commit
Alur sederhananya:
{{ :networking:juniper:jncia-junos-advtojunos-candidate-config.png?nolink&1000 |}}
Hal ini memberikan kesempatan untuk memeriksa konfigurasi sebelum benar-benar diterapkan.
==== 3. Configuration Versioning ====
Junos menyimpan beberapa versi konfigurasi sebelumnya.
Konsep ini mirip dengan **version control seperti Git**, karena administrator dapat melihat dan kembali ke konfigurasi sebelumnya.
Junos menyimpan hingga **49 konfigurasi sebelumnya** yang dapat digunakan untuk proses rollback.
Konfigurasi sebelumnya dapat dilihat menggunakan:
show system rollback
Rollback dapat digunakan apabila konfigurasi terbaru menyebabkan masalah atau perubahan yang tidak diinginkan.
==== 4 Configuration Rollback ====
Junos menyediakan mekanisme **rollback** untuk mengembalikan konfigurasi ke versi sebelumnya.
Contohnya ketika administrator melakukan perubahan konfigurasi dan ternyata konfigurasi tersebut menyebabkan:
* Management access terputus.
* Routing mengalami masalah.
* Interface tidak bekerja sebagaimana mestinya.
* Konfigurasi baru menyebabkan layanan terganggu.
Administrator dapat kembali menggunakan konfigurasi sebelumnya.
Contoh:
rollback 1
commit
Junos juga memiliki mekanisme **commit confirmed** untuk membantu mencegah kehilangan akses management akibat kesalahan konfigurasi.
Contoh:
commit confirmed 5
Jika konfigurasi tidak dikonfirmasi dalam waktu yang ditentukan, Junos akan melakukan rollback secara otomatis ke konfigurasi sebelumnya.
> Fitur ini sangat berguna ketika melakukan konfigurasi perangkat secara remote.
===== 3. Berbagai Cara Mengelola Perangkat Juniper =====
Perangkat Juniper tidak hanya dapat dikelola melalui CLI.
Secara umum terdapat beberapa pendekatan:
* CLI
* Automation / Programming
* Controller / Management Platform
===== 4. CLI Management =====
----
CLI merupakan metode pengelolaan perangkat secara langsung menggunakan command line.
Administrator dapat melakukan konfigurasi dan troubleshooting dengan masuk ke perangkat menggunakan:
SSH
atau koneksi management lainnya.
CLI cocok digunakan untuk:
* Konfigurasi manual.
* Troubleshooting.
* Pemeriksaan status perangkat.
* Perubahan konfigurasi tertentu.
===== 5. Automation dan Programming =====
----
Junos juga dirancang agar dapat diintegrasikan dengan **automation** dan software.
Pengelolaan perangkat dapat dilakukan menggunakan:
* API
* Script
* Juniper PyEZ
* Automation tools
==== 5.1 Juniper PyEZ ====
**PyEZ** adalah library Python yang dapat digunakan untuk melakukan automation terhadap perangkat Junos.
Dengan PyEZ, administrator dapat membuat program untuk:
* Mengambil informasi perangkat.
* Menjalankan operational commands.
* Mengubah konfigurasi.
* Melakukan konfigurasi secara otomatis.
* Mengelola banyak perangkat.
Contoh konsep:
Python Script
|
v
PyEZ
|
v
Junos Device
==== 5.2 In-box dan Out-box Automation ====
Automation pada Junos dapat dilakukan dari dalam maupun luar perangkat.
=== In-box Automation ===
Script atau automation dijalankan **di dalam perangkat Junos**.
Contohnya dapat digunakan untuk melakukan tugas tertentu secara lokal pada perangkat.
=== Out-box Automation ===
Automation dijalankan **dari perangkat atau server eksternal**.
Contohnya:
Automation Server
|
+---- Junos Router
|
+---- Junos Switch
|
+---- Junos Firewall
Pendekatan ini lebih cocok ketika administrator ingin mengelola banyak perangkat secara terpusat.
===== 6. Controller dan Centralized Management =====
----
Untuk lingkungan dengan banyak perangkat, konfigurasi satu per satu melalui CLI dapat menjadi kurang efisien.
Juniper menyediakan berbagai platform untuk melakukan **centralized management**.
Contohnya:
* Juniper Mist
* Apstra
* Pathfinder
* Platform management Juniper lainnya
Dengan pendekatan controller, administrator dapat mengelola banyak perangkat melalui satu platform.
Contoh:
Controller
|
+---------+---------+
| | |
Router Switch Firewall
Selain platform resmi Juniper, terdapat juga automation tools dari pihak ketiga, seperti:
* Ansible
* Puppet
* SaltStack
Tools tersebut dapat digunakan untuk mengotomatisasi konfigurasi dan pengelolaan perangkat Junos.
===== 7. Junos Modular Architecture =====
----
Junos dirancang dengan arsitektur yang **modular**.
Fungsi-fungsi sistem dipisahkan menjadi beberapa proses atau komponen sehingga kegagalan pada satu bagian tidak selalu menyebabkan seluruh sistem berhenti.
Konsep sederhananya:
+----------------------------------+
| Junos |
| |
| +------------+ +------------+ |
| | Routing | | Forwarding | |
| | Functions | | / Transit | |
| +------------+ +------------+ |
| |
| +------------+ +------------+ |
| | Management | | Other | |
| | Functions | | Services | |
| +------------+ +------------+ |
+----------------------------------+
==== 7.1 Separation of Functions ====
Salah satu konsep penting dalam Junos adalah pemisahan antara fungsi **routing/control** dan fungsi **packet forwarding**.
Secara sederhana:
^ Component ^ Function ^
| Routing / Control | Menghitung dan mengelola informasi routing |
| Forwarding / Transit | Meneruskan packet berdasarkan forwarding information |
Dengan pemisahan tersebut, proses forwarding traffic dapat tetap berjalan meskipun terjadi masalah pada komponen tertentu pada control plane.
==== 7.2 Fault Isolation ====
Karena Junos menggunakan arsitektur modular, kegagalan pada satu proses tidak selalu menyebabkan seluruh perangkat mengalami kegagalan.
Contohnya:
Process A ---> Crash
Process B ---> Tetap berjalan
Process C ---> Tetap berjalan
Tujuannya adalah meningkatkan **stability dan resilience** perangkat.
===== 8. Ringkasan Keunggulan Junos =====
----
^ Fitur ^ Keuntungan ^
| Consistent OS | Router, switch, firewall menggunakan Junos dengan konsep konfigurasi yang konsisten |
| Hierarchical CLI | Konfigurasi lebih terstruktur dan mudah dipahami |
| Candidate Configuration | Perubahan dapat dipersiapkan sebelum diterapkan |
| Commit | Konfigurasi baru hanya aktif setelah di-commit |
| Configuration History | Tersedia versi konfigurasi sebelumnya |
| Rollback | Memungkinkan kembali ke konfigurasi sebelumnya |
| Commit Confirmed | Membantu mencegah kehilangan akses akibat konfigurasi yang salah |
| Automation | Dapat dikelola menggunakan API, script, dan PyEZ |
| Centralized Management | Banyak perangkat dapat dikelola melalui controller |
| Modular Architecture | Komponen sistem terisolasi sehingga kegagalan satu proses tidak selalu memengaruhi seluruh sistem |
| Routing/Forwarding Separation | Fungsi routing dan forwarding dipisahkan |
===== 9. Konsep Utama =====
----
Konsep utama yang perlu diingat dari materi ini:
* **Junos digunakan di berbagai platform Juniper**, sehingga administrator mendapatkan pengalaman konfigurasi yang relatif konsisten.
* **Junos menggunakan hierarchical configuration**, membuat konfigurasi lebih terstruktur.
* **Konfigurasi tidak langsung aktif** ketika diketik; perubahan berada pada candidate configuration sampai dilakukan commit.
* **Junos menyimpan konfigurasi sebelumnya**, sehingga administrator dapat melakukan rollback.
* **Commit confirmed** dapat digunakan untuk menghindari kehilangan akses management akibat konfigurasi yang salah.
* Junos dapat dikelola melalui **CLI, API, script, PyEZ, automation tools, maupun centralized controller**.
* **Junos memiliki arsitektur modular**, sehingga komponen sistem dapat bekerja secara lebih terisolasi.
* Fungsi **routing/control** dan **packet forwarding/transit** dipisahkan untuk meningkatkan reliability perangkat.