Model konfigurasi¶
Empat bentuk konfigurasi¶
| Bentuk | Lokasi | Kapan berubah |
|---|---|---|
| Candidate | Memori sesi CLI | Saat set, delete, load, rollback N |
| Running | /run/cidr/running.boot |
Setelah commit berhasil |
| Saved | /config/config.boot |
Saat save; dimuat saat boot |
| Arsip | /config/archive/commit-NNNNNN.boot |
Setiap commit; 50 terakhir disimpan |
admin@r1> configure # candidate = salinan running
admin@r1# set ... # ubah candidate
admin@r1# show | compare # bedanya dengan running (+/-)
admin@r1# commit # terapkan → running
admin@r1# save # running → config.boot
Apa yang terjadi saat commit¶
- Validasi tipe sudah terjadi saat
set: alamat IP, VLAN 1–4094, nama interface, panjang password. - Validasi semantik:
- port ada di dataplane;
- unit,
vlan-id, VLAN, danirbkonsisten (lihat Interface & VLAN); - IP tidak dipakai dua interface;
- interface NAT punya IPv4;
- next-hop satu keluarga dengan prefix;
- setiap user punya kelas dan password/SSH key.
- Lock, supaya tidak ada dua commit bersamaan. Kalau running sudah diubah sesi lain sejak Anda masuk
configure, commit ditolak. - Rencana:
diff(running, candidate)menghasilkan daftar aksi. Hanya yang berubah yang diterapkan. - Eksekusi aksi satu per satu. vppctl selalu exit 0, jadi error VPP dideteksi dari teks outputnya.
- Gagal? Rencana kebalikannya (
candidate → running) dijalankan, sehingga sistem kembali seperti semula, lalu commit dilaporkan gagal. - Berhasil: running ditulis, dan commit diarsipkan bersama komentar dan nama user.
Contoh commit yang ditolak validasi:
admin@r1# set interfaces eth9 unit 0 family inet address 10.9.9.9/24
admin@r1# commit
% configuration is not valid:
interfaces eth9: no such dataplane port (available: eth1, eth2)
Riwayat dan rollback¶
admin@r1> show history
0 commit by admin at 2026-11-12 16:42:36
1 commit by admin at 2026-11-12 16:26:39: uji-hapus
2 commit by admin at 2026-11-12 16:12:13: lab r1
admin@r1> configure
admin@r1# rollback 1 # muat revisi 1 ke candidate, tampilkan bedanya
+ protocols static route 2.2.2.2/32 next-hop 10.0.12.2
Revision loaded into the candidate. Use 'commit' to apply it.
admin@r1# commit
rollback hanya memuat revisi ke candidate. Sistem baru berubah setelah commit.
Format file config.boot¶
Formatnya blok dengan kurung kurawal:
/* CID Router configuration - edit with the router CLI */
system {
host-name edge-01
login {
user admin {
class super-user
authentication {
encrypted-password "$6$..." ## SECRET-DATA
}
}
}
}
interfaces {
eth1 {
description "uplink ISP";
unit 0 {
family inet {
address 103.10.20.2/30;
}
}
}
}
- Komentar
/* */dan#diabaikan. Akhir baris atau;mengakhiri satu pernyataan. - Nilai yang berisi spasi atau karakter khusus diberi tanda kutip.
- File ini hanya bisa dibaca root (mode 600) karena berisi hash password.
Sesi bersamaan dan sesi tanpa terminal¶
- Dua admin boleh membuka
configurebersamaan. Yang commit lebih dulu menang; yang kedua harusdiscardlalu mengulang perubahannya. cidr-cli -c "configure; set ...; commit; save"menjalankan perintah tanpa interaktif, sehingga cocok untuk otomasi. Perubahan yang belum di-commit dibuang di akhir.