Artikel ini adalah lanjutan praktik dari Cisco : Dasar CLI Cisco IOS (Mode dan Konfigurasi Awal). Kalau artikel pagi mengajarkan cara **menyusun** konfigurasi, artikel ini mengajarkan cara **membuktikan** bahwa konfigurasi itu benar-benar aktif, benar-benar tersimpan, dan benar-benar dipakai perangkat.
π― Tujuan
Setelah mengikuti lab ini, kamu bisa:
- Membaca prompt sebagai bukti mode, bukan sekadar hiasan di layar.
- Membedakan error karena **salah mode**, salah **sintaks**, dan salah **urutan**.
- Membuktikan isi `running-config` sudah sama dengan `startup-config`.
- Menemukan penyebab konfigurasi hilang setelah perangkat di-reload.
- Memakai `show version` untuk memeriksa config register sebelum menyimpan apa pun.
- Menyusun lembar bukti sederhana yang bisa dipakai saat melapor ke guru atau atasan.
π Konteks nyata
Bayangkan meja kerja teknisi. Semua alat yang sedang dipakai tersusun di meja itu, dan selama meja tidak dibersihkan, pekerjaan jalan lancar. Malam harinya meja dibersihkan. Kalau alat tidak pernah dipindahkan ke lemari, besok pagi meja kembali kosong.
Di Cisco IOS, **meja kerja** itu `running-config` (hidup di RAM), dan **lemari** itu `startup-config` (tersimpan di NVRAM). Perangkat hanya membaca lemari saat boot. Artinya, semua yang kamu ketik hari ini akan hilang pada reload berikutnya kalau belum dipindahkan.
Masalahnya, siswa sering berhenti di "perintahnya sudah jalan". Padahal pertanyaan yang benar bukan itu. Pertanyaan yang benar: **di mana buktinya?** Lab sore ini melatih kebiasaan itu β satu perubahan, satu bukti, lalu bandingkan.
π§ Konsep singkat
Ada tiga pertanyaan yang harus dijawab setiap kali mengonfigurasi perangkat Cisco.
- **Mode apa aku sekarang?** Dijawab oleh prompt: `>`, `#`, `(config)#`, `(config-if)#`, `(config-line)#`.
- **Apakah perintahku diterima?** Dijawab oleh pesan error atau oleh tidak adanya pesan error.
- **Apakah hasilnya bertahan?** Dijawab oleh `show startup-config` dan `show version`.
Tiga pertanyaan itu cukup untuk 80% kasus "konfigurasi tidak jalan" di lab sekolah.
πΉ Apa yang bertahan setelah reload
| Benda | Lokasi | Bertahan setelah reload? | Cara memeriksa |
|---|---|---|---|
| RAM | Tidak | `show running-config` | | |||
| NVRAM | Ya | `show startup-config` | | |||
| Flash | Ya | `show flash:` | | |||
| NVRAM (khusus) | Ya | `show version` (baris terakhir) | | |||
| Flash `vlan.dat` | Ya | `show vlan brief` | |
- π Angka penting: config register default di sebagian besar router Cisco adalah `0x2102`. Nilai `0x2142` berarti "boot dari Flash, tetapi **abaikan** startup-config". Nilai inilah yang dipakai saat recovery password.
- π‘ Tips: sebelum mengubah apa pun, jalankan `show running-config` dan `show startup-config`. Selisih antara keduanya adalah daftar pekerjaan yang belum disimpan.
π§© Istilah penting
| Istilah | Arti sederhana |
|---|---|
| Mode "melihat" perangkat. Ada dua tingkat: user (`>`) dan privileged (`#`). | | |
| Mode "mengubah" setelan. Ditandai `(config...)` di prompt. | | |
| Konfigurasi aktif di memori. Langsung dipakai, hilang saat reload. | | |
| Salinan di NVRAM yang dibaca saat boot. | | |
| Memori kecil yang tetap terisi walau listrik mati. | | |
| IOS tidak mengenali kata pada posisi yang ditunjuk tanda `^`. | | |
| Awalan untuk menjalankan perintah EXEC (seperti `show`) dari dalam mode konfigurasi. | | |
| Password privileged mode yang disimpan sebagai hash. | | |
| Password privileged mode versi lama, disimpan apa adanya atau type 7. | | |
| Menyamarkan password di file konfigurasi dengan enkripsi type 7 yang bisa dibalik. | | |
| Saklar 16 bit yang menentukan perangkat mencari IOS dan konfigurasi di mana. | | |
| Interface dimatikan lewat perintah `shutdown`, bukan karena kabel. | |
π§ Praktik: uji mode dan bukti konfigurasi
Siapkan satu router dan satu switch di Packet Tracer (atau perangkat asli), plus kabel console. Alamat lab memakai rentang dokumentasi RFC 5737 dan alamat privat RFC 1918 supaya tidak bentrok dengan jaringan sekolah:
- Router `R1` β `GigabitEthernet0/0` = `192.168.10.1/24`
- Switch `SW1` β `interface vlan 1` = `192.168.10.2/24`, gateway `192.168.10.1`
Tujuan lab bukan membangun jaringan baru, tetapi **memancing error terkontrol** lalu membaca buktinya.
πΉ Uji A: perintah konfigurasi dari mode user
Masuk ke CLI, tekan Enter sampai muncul `Router>`, lalu langsung ketik perintah konfigurasi.
Router> configure terminal
^
% Invalid input detected at '^' marker.
Tanda `^` menunjuk huruf pertama yang tidak dikenali IOS **pada mode itu**. Artinya bukan perintahnya salah tulis, tetapi **modenya belum naik**. Perbaikan: `enable`, baru `configure terminal`.
- π§ͺ Uji cepat: kalau `configure terminal` ditolak, jangan mengutak-atik kabel. Lihat dulu prompt paling kanan: masih `>`?
πΉ Uji B: perintah interface dari mode global
Dari `Router(config)#`, ketik perintah yang hanya berlaku di dalam interface.
Router(config)# ip address 192.168.10.1 255.255.255.0
^
% Invalid input detected at '^' marker.
Perhatikan: kata `ip` dikenali, kata berikutnya tidak. Itu bukti bahwa IOS membaca perintah **kata per kata sesuai konteks**. Perbaikan: masuk dulu dengan `interface gigabitEthernet 0/0`.
- β οΈ Hati-hati: pesan `% Invalid input` yang sama bisa muncul karena tiga sebab berbeda β salah mode, salah sintaks, atau fitur tidak didukung image IOS. Jangan menyimpulkan "perangkat rusak" sebelum memeriksa prompt.
πΉ Uji C: `do` untuk melihat tanpa keluar mode
`do` menyelamatkan kamu dari bolak-balik `exit`. Tapi ada satu batas yang wajib diingat.
R1(config)# interface gigabitEthernet 0/0
R1(config-if)# do show ip interface brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0/0 192.168.10.1 YES manual up up
R1(config-if)# do configure terminal
^
% Invalid input detected at '^' marker.
`do configure terminal` ditolak karena perintah itu justru **mengubah mode**, sementara `do` hanya meminjam perintah EXEC. Dokumentasi Cisco menyebut batas ini secara eksplisit.
- π‘ Tips: biasakan `do show ...` setelah setiap perubahan interface. Satu baris tambahan menghemat satu reload.
πΉ Uji D: `exit`, `end`, Ctrl-Z, dan Ctrl-C
Keempatnya terlihat mirip, padahal akibatnya berbeda. Uji dengan mengubah hostname.
R1(config)# hostname R1-CEK
R1-CEK(config)# exit
R1-CEK#
`exit` hanya naik satu tingkat. Sekarang ulangi, tetapi hentikan baris dengan tombol berbeda.
R1-CEK(config)# hostname R1-LAMA
- Tekan **Ctrl-Z** β baris dijalankan, prompt langsung ke `R1-LAMA#`. Hostname berubah.
- Ulangi, ketik `hostname R1-COBA` lalu tekan **Ctrl-C** β baris dibatalkan. Hostname tetap `R1-LAMA`.
Bukti akhirnya ada di `show running-config | include hostname`. Kalau isinya tidak berubah, berarti barismu benar-benar batal, bukan "tersimpan tapi tidak kelihatan".
- π Angka penting: `exit` = turun satu level, `end` = langsung ke privileged EXEC, Ctrl-Z = jalankan baris lalu ke privileged EXEC, Ctrl-C = batalkan baris.
πΉ Uji E: membuktikan konfigurasi belum tersimpan
Ini uji paling penting untuk lab sekolah, karena perangkat baru biasanya belum punya file startup.
R1# show startup-config
startup-config is not present
R1# copy running-config startup-config
Destination filename [startup-config]?
Building configuration...
[OK]
R1# show startup-config
Sekarang ubah sesuatu **tanpa** menyimpan, lalu reload.
R1# configure terminal
R1(config)# hostname R1-TIPU
R1-TIPU(config)# end
R1-TIPU# reload
Proceed with reload? [confirm]
Setelah perangkat hidup lagi, prompt kembali menjadi `R1#`, bukan `R1-TIPU#`. Itu bukti bahwa `running-config` memang hilang saat reload. `write memory` adalah perintah lama untuk hal yang sama dengan `copy running-config startup-config`.
πΉ Uji F: dua password privileged, mana yang dipakai
Pasang keduanya dengan nilai berbeda.
R1(config)# enable password Lama123
R1(config)# enable secret Baru456
R1(config)# end
R1# disable
R1> enable
Password:
Masukkan `Lama123` β ditolak. Masukkan `Baru456` β diterima. Kesimpulannya: kalau `enable secret` ada, `enable password` **diabaikan** saat login, walaupun tetap terlihat di konfigurasi.
- β οΈ Hati-hati: banyak siswa mengira dua password berarti dua pintu. Yang terjadi justru sebaliknya: password lemah tetap tersimpan di file dan bisa dibaca orang lain, meski tidak dipakai.
πΉ Uji G: apa yang sebenarnya dilakukan `service password-encryption`
Aktifkan, lalu bandingkan tampilan password console sebelum dan sesudahnya.
R1(config)# line console 0
R1(config-line)# password ConsoleLab2026!
R1(config-line)# end
R1# show running-config | include password
R1(config)# service password-encryption
R1(config)# end
R1# show running-config | include password
password 7 121A0C041104
enable secret 5 $1$mERr$9cTjUIEqNGurQiFU.ZeLz1
Password console berubah menjadi `7` (type 7) β penyamaran yang **bisa dibalik**. `enable secret` tetap berupa hash (`5`), karena sejak awal sudah disimpan sebagai hash dan tidak ikut diubah.
- β οΈ Hati-hati: `service password-encryption` hanya mencegah orang yang lewat melihat password di layar. Ini bukan pengamanan sungguhan.
πΉ Uji H: salah ketik yang terlihat seperti perangkat hang
Matikan dulu pencarian DNS, lalu sengaja salah ketik.
R1(config)# no ip domain-lookup
R1(config)# no ip domain-lokup
Translating "domain-lokup"...domain server (255.255.255.255)
% Unknown command or computer name, or unable to find computer address
Perhatikan urutannya: IOS **diam dulu** mencoba menerjemahkan kata yang salah ketik sebagai nama host, baru kemudian memberi error. Jeda ini bisa 30β60 detik dan sering dikira perangkat macet atau kabel console longgar.
- π§ͺ Uji cepat: sebelum menyalahkan kabel, coba tekan Enter. Kalau prompt kembali normal, masalahnya bukan kabel β itu proses resolusi nama yang sedang berjalan.
πΉ Uji I: membaca status interface, bukan menebak
R1# show ip interface brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0/0 192.168.10.1 YES manual up up
GigabitEthernet0/1 unassigned YES unset administratively down down
Tiga pola yang perlu dibedakan:
| Status / Protocol | Arti | Tindakan |
|---|---|---|
| Interface aktif dan IP terpasang | Tidak ada yang perlu diperbaiki | | ||
| Dimatikan lewat konfigurasi | Jalankan `no shutdown` | | ||
| Fisik tidak terhubung atau lawan bicara mati | Periksa kabel, port lawan, atau kecepatan/duplex | | ||
| Fisik hidup, protokol gagal | Periksa enkapsulasi, clock rate, atau VLAN | |
πΉ Uji J: config register dan konfigurasi yang "hilang"
Uji ini meniru skenario recovery password. Jalankan hanya di lab.
R1# show version
...
Configuration register is 0x2102
R1# configure terminal
R1(config)# config-register 0x2142
R1(config)# end
R1# reload
Proceed with reload? [confirm]
Setelah boot, prompt kembali menjadi `Router>` dengan konfigurasi kosong, **walaupun** `show startup-config` masih memperlihatkan konfigurasi lama. Inilah bukti bahwa config register menentukan apakah NVRAM dibaca saat boot.
Kembalikan dengan urutan yang benar:
Router> enable
Router# copy startup-config running-config
R1# configure terminal
R1(config)# config-register 0x2102
R1(config)# end
R1# copy running-config startup-config
- β οΈ Hati-hati: jangan pernah menjalankan `copy running-config startup-config` selagi register masih `0x2142` dan konfigurasi masih kosong. Perintah itu akan menimpa seluruh startup-config lama dengan konfigurasi kosong. Konfigurasi asli hilang permanen, dan satu-satunya jalan pulang adalah backup.
πΉ Lembar hasil uji
Isi tabel ini selama praktik. Guru bisa meminta tabel ini sebagai bukti, bukan screenshot acak.
| Uji | Gejala yang terlihat | Bukti yang dikumpulkan | Kesimpulan |
|---|---|---|---|
| `% Invalid input` saat `configure terminal` | prompt masih `>` | mode belum naik | | |||
| `% Invalid input` saat `ip address` | caret menunjuk `address` | perintah hanya valid di mode interface | | |||
| `do configure terminal` ditolak | prompt tidak berubah | `do` hanya untuk perintah EXEC | | |||
| hostname berubah / tidak berubah | isi `running-config` | Ctrl-Z menjalankan, Ctrl-C membatalkan | | |||
| hostname kembali setelah reload | prompt setelah boot | `running-config` hilang tanpa simpan | | |||
| password lama ditolak | `show running-config` | `enable secret` menang | | |||
| password console jadi `7 ...` | perbandingan sebelum/sesudah | type 7 hanya penyamaran | | |||
| layar diam lalu error | timing + `no ip domain-lookup` | resolusi DNS, bukan kabel | | |||
| status interface | `show ip interface brief` | `shutdown` vs masalah fisik | | |||
| konfigurasi kosong setelah boot | `show version` baris register | register menentukan sumber config | |
π Dipakai di dunia kerja
- **Sekolah dan lab UKK:** 20β30 switch dipakai bergantian oleh banyak kelas. Tanpa disiplin `copy run start`, satu pemadaman listrik bisa mengembalikan separuh perangkat ke konfigurasi default tepat saat ujian berlangsung.
- **Kantor cabang:** teknisi mengubah konfigurasi lewat remote. Salah mode membuat perintah "tidak jalan", dan tanpa bukti `show`, teknisi bisa berjam-jam mengira koneksinya yang bermasalah.
- **ISP dan NOC:** setiap perubahan malam hari dicatat sebelum dan sesudahnya. `show running-config` menjadi baseline, `show startup-config` menjadi bukti bahwa perubahan akan bertahan setelah perangkat reboot.
- **Industri dan pabrik:** switch di lantai produksi tidak boleh reboot tanpa konfigurasi. Config register yang tertinggal di `0x2142` adalah bom waktu yang meledak saat listrik padam.
- **Data center:** audit konfigurasi berkala membandingkan running dan startup untuk mendeteksi perubahan yang belum disimpan atau perubahan tidak sah.
- **Field service:** teknisi sering tiba di lokasi tanpa dokumentasi. Membaca `startup-config` dan `show version` adalah cara tercepat mengetahui siapa yang terakhir mengubah perangkat dan bagaimana ia dikonfigurasi.
- π₯ Kasus nyata: sebuah SMK menyiapkan 24 switch untuk ujian praktik. Sepuluh menit sebelum ujian, panitia merestart semua switch "supaya bersih". Hasilnya 17 switch kembali ke konfigurasi default: hostname `Switch`, VLAN 20 dan 30 hilang, semua port kembali ke VLAN 1. Tujuh belas ruang tidak mendapat IP, dan ujian mundur hampir 90 menit. Penyebabnya sederhana: konfigurasi hanya pernah ada di `running-config`, dan `show startup-config` di 17 perangkat itu berbunyi `startup-config is not present`.
- π₯ Kasus nyata: di sebuah kantor cabang, teknisi magang melakukan recovery password pada router lama. Ia berhasil masuk, tetapi lupa mengembalikan config register ke `0x2102` dan langsung menjalankan `copy running-config startup-config`. Tiga minggu kemudian listrik padam. Router boot dengan konfigurasi kosong dan kantor kehilangan koneksi sekitar tiga jam. Bukti yang tertinggal di `show version` sangat jelas: `Configuration register is 0x2142`.
β Verifikasi
Jalankan berurutan setelah lab selesai. Semua perintah di bawah aman dan tidak mengubah konfigurasi.
- **Cek register.** `show version | include register` harus menampilkan `0x2102` untuk penggunaan normal.
- **Cek nama perangkat di dua tempat.** `show running-config | include hostname` dan `show startup-config | include hostname` harus menunjukkan nama yang sama.
- **Cek interface.** `show ip interface brief` β port yang dipakai harus `up` dan `up`.
- **Cek baris console.** `show line console 0` β pastikan `exec-timeout` sesuai kebijakan lab, bukan default 10 menit tanpa disadari.
- **Cek password tidak terbaca jelas.** `show running-config | include enable` harus menampilkan `enable secret 5` atau `8`/`9`, bukan teks biasa.
- **Uji reload terakhir.** Simpan, lalu `reload`, dan pastikan hostname serta IP kembali seperti sebelum reload.
R1# show version | include register
Configuration register is 0x2102
R1# show startup-config | include hostname
hostname R1-LAB
R1# show ip interface brief
Interface IP-Address OK? Method Status Protocol
GigabitEthernet0/0 192.168.10.1 YES manual up up
β οΈ Kesalahan umum & troubleshooting
| Gejala | Penyebab paling sering | Perbaikan |
|---|---|---|
| Salah mode | Periksa prompt, naik/turun mode yang benar | | ||
| Perintah itu hanya ada di mode lain | Masuk mode yang sesuai, atau pakai `do` untuk perintah EXEC | | ||
| Belum `copy running-config startup-config` | Simpan, lalu verifikasi `show startup-config` | | ||
| Perangkat baru atau NVRAM kosong | Simpan konfigurasi, jangan langsung reload | | ||
| Ada `enable secret` yang menang | Pakai secret terbaru, atau hapus salah satunya | | ||
| `service password-encryption` belum aktif, atau type 7 | Gunakan `enable secret`, batasi akses ke file config | | ||
| `ip domain-lookup` masih aktif | `no ip domain-lookup` | | ||
| Port masih `shutdown` | `no shutdown` | | ||
| Kabel, port lawan, atau kecepatan tidak cocok | Tukar kabel, cek port lawan, cek `speed`/`duplex` | | ||
| Config register `0x2142` | `copy startup-config running-config`, lalu `config-register 0x2102` | | ||
| Baris dibatalkan dengan Ctrl-C | Ulangi dan akhiri dengan Enter atau Ctrl-Z | |
- π‘ Tips: saat melaporkan masalah, sertakan tiga baris bukti: prompt terakhir, perintah yang diketik, dan output `show` yang relevan. Laporan seperti ini memotong waktu diagnosis separuh.
- β οΈ Hati-hati: `reload` di perangkat asli memutus semua pengguna. Di lab sekolah, pastikan tidak ada kelas lain yang sedang memakai perangkat yang sama.
- π Angka penting: `exec-timeout` default adalah 10 menit. Sesi yang terputus di tengah konfigurasi bukan bug, tetapi timeout yang bekerja sesuai desain.
π Catatan keamanan & etika
- File konfigurasi menyimpan banyak rahasia: password console, password vty, `enable secret`, dan kadang kunci VPN. Perlakukan seperti dokumen sensitif.
- `service password-encryption` memakai type 7 yang bisa dibalik dalam hitungan detik. Jangan pernah menganggapnya sebagai pengamanan.
- Gunakan `enable secret` dengan algoritma kuat (type 8 atau 9 bila IOS mendukung). Type 5 (MD5) sudah dianggap lemah untuk standar saat ini.
- Akses fisik sama dengan kendali penuh. Siapa pun yang memegang kabel console dan bisa melakukan reload dapat menempuh prosedur recovery password.
- Recovery password adalah prosedur **legal** hanya di perangkat milik sendiri atau yang kamu diberi izin. Melakukannya di perangkat orang lain adalah pelanggaran.
- Saat melaporkan tugas, jangan menempelkan `show running-config` utuh ke grup chat. Sensor baris password dan `enable secret` terlebih dahulu.
π Kesimpulan
Mode CLI menentukan perintah mana yang sah, dan config register menentukan konfigurasi mana yang dibaca saat boot. Dua hal itu menjelaskan hampir semua kasus "sudah dikonfigurasi tetapi tidak jalan" di lab Cisco.
Kebiasaan yang layak dibawa ke dunia kerja: baca dulu, ubah satu hal, baca lagi, lalu simpan. Satu perubahan tanpa bukti hanyalah tebakan yang rapi.
Langkah berikutnya: buka Cisco : Dasar CLI Cisco IOS (Mode dan Konfigurasi Awal) sebagai rujukan urutan perintah, lalu ulangi lab ini pada switch dengan `interface vlan 1` dan `ip default-gateway`, karena perilaku penyimpanannya sama tetapi nama interface-nya berbeda.
π Materi terkait
- Cisco : Dasar CLI Cisco IOS (Mode dan Konfigurasi Awal) β prasyarat langsung artikel ini.
- Cisco Packet Tracer : Praktikum Topologi Junior Network Administrator β latihan topologi yang memakai VLAN dan trunk.
- Mikrotik : Backup dan Export Konfigurasi β konsep backup konfigurasi dari sisi RouterOS, berguna sebagai pembanding.
- Category:Cisco β kumpulan materi Cisco di wiki ini.
π Referensi
- Cisco IOS Configuration Fundamentals Configuration Guide, Release 12.2SR β EXEC Commands in Configuration Mode.
- Cisco IOS Configuration Fundamentals Command Reference β daftar perintah `show`, `copy`, dan `line`.
- RFC 5737 β Address Blocks for Documentation (dipakai untuk alamat lab).
- RFC 1918 β Address Allocation for Private Internets.