Lewati ke isi

Model konfigurasi

Alur commit

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

  1. Validasi tipe sudah terjadi saat set: alamat IP, VLAN 1–4094, nama interface, panjang password.
  2. Validasi semantik:
    • port ada di dataplane;
    • unit, vlan-id, VLAN, dan irb konsisten (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.
  3. Lock, supaya tidak ada dua commit bersamaan. Kalau running sudah diubah sesi lain sejak Anda masuk configure, commit ditolak.
  4. Rencana: diff(running, candidate) menghasilkan daftar aksi. Hanya yang berubah yang diterapkan.
  5. Eksekusi aksi satu per satu. vppctl selalu exit 0, jadi error VPP dideteksi dari teks outputnya.
  6. Gagal? Rencana kebalikannya (candidate → running) dijalankan, sehingga sistem kembali seperti semula, lalu commit dilaporkan gagal.
  7. 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 configure bersamaan. Yang commit lebih dulu menang; yang kedua harus discard lalu 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.