Langsung ke konten utama

Mengatasi Netplan Kembali ke Pengaturan Awal

Masalah dimana Netplan configuration selalu kembali ke pengaturan awal adalah masalah yang umum dan biasanya disebabkan oleh beberapa hal. Berikut adalah langkah-langkah komprehensif untuk mendiagnosa dan mengatasinya.

Penyebab Utama

  1. Layanan Cloud-Init: Ini adalah penyebab paling umum, terutama pada server cloud atau instalasi Ubuntu modern. Cloud-Init dirancang untuk mengatur jaringan pada boot pertama, dan sering kali ia akan mengganti ulang konfigurasi netplan ke state awal setiap kali sistem reboot atau layanannya di-restart.

  2. File Konfigurasi yang Salah Tempat: Netplan akan memproses file dengan ekstensi .yaml di /etc/netplan/. Terkadang ada file lain (misalnya 50-cloud-init.yaml) yang meng-override file yang Anda ubah.

  3. Kesalahan Sintaks YAML: Jika ada kesalahan sintaks dalam file YAML, Netplan akan gagal menerapkannya dan akan kembali menggunakan konfigurasi yang lama saat boot.

  4. Layanan Network Manager: Pada instalasi desktop Ubuntu, Network Manager kadang mengambil alih kontrol jaringan.


Langkah-Langkah Penyelesaian

1. Nonaktifkan Cloud-Init (Solusi Paling Efektif untuk Server Cloud/VM)

Cloud-Init adalah biang kerok utama. Ikuti langkah-langkah ini:

a. Buat backup file netplan yang dihasilkan cloud-init (jika ada):

bash
sudo cp /etc/netplan/50-cloud-init.yaml /etc/netplan/50-cloud-init.yaml.backup

b. Nonaktifkan cloud-init untuk konfigurasi jaringan:
Edit file konfigurasi cloud-init:

bash
sudo nano /etc/cloud/cloud.cfg.d/50-curtin-networking.cfg

Atau buat file baru:

bash
sudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg

Tambahkan baris berikut ke dalam file:

yaml
network: {config: disabled}

Simpan dan tutup file (Ctrl+X, lalu Y, lalu Enter).

c. Hapus file netplan yang dibuat cloud-init:

bash
sudo rm /etc/netplan/50-cloud-init.yaml

d. Sekarang, buat atau edit file konfigurasi netplan Anda sendiri.
File biasanya bernama 01-netcfg.yaml. Pastikan Anda memiliki hanya satu file .yaml di direktori /etc/netplan/.

bash
sudo nano /etc/netplan/01-netcfg.yaml

Contoh isi file (sesuaikan dengan kebutuhan Anda):

yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    ens3:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
          addresses: [8.8.8.8, 1.1.1.1]

e. Terapkan konfigurasi netplan:

bash
# Validasi sintaks file YAML
sudo netplan generate

# Terapkan konfigurasi
sudo netplan apply

f. Reboot sistem untuk memastikan perubahan bertahan:

bash
sudo reboot

2. Pastikan Hanya Satu File Konfigurasi Netplan

Netplan membaca semua file .yaml di /etc/netplan/. Jika ada lebih dari satu, perilakunya bisa tidak terduga.

bash
ls -la /etc/netplan/

Jika ada lebih dari satu file (misalnya 50-cloud-init.yaml dan 01-netcfg.yaml), Anda harus memutuskan mana yang ingin digunakan.

  • Opsi 1: Gabungkan pengaturannya ke dalam satu file dan hapus yang lainnya.

  • Opsi 2: Nonaktifkan cloud-init seperti langkah 1 di atas, dan pastikan hanya file konfigurasi Anda yang ada.

3. Validasi Sintaks File YAML

Kesalahan indentasi, format, atau typo pada file YAML akan menyebabkan netplan apply gagal. Selalu gunakan perintah generate untuk memeriksanya.

bash
sudo netplan generate

Jika perintah ini tidak mengeluarkan error, berarti sintaks file YAML Anda sudah benar. Jika ada error, perbaiki sesuai petunjuk yang diberikan.

4. Nonaktifkan Network Manager (jika pada Environment Server)

Pada instalasi server, Anda seharusnya menggunakan networkd, bukan NetworkManager.

  • Pastikan di file netplan Anda, renderer: menggunakan networkd.

    yaml
network:
  version: 2
  renderer: networkd

Nonaktifkan dan hentikan layanan NetworkManager:

bash
sudo systemctl stop NetworkManager
sudo systemctl disable NetworkManager

Pastikan layanan systemd-networkd aktif dan enabled:

bash
sudo systemctl start systemd-networkd
sudo systemctl enable systemd-networkd

Ringkasan dan Langkah Pasti

Ikuti langkah-langkah berikut secara berurutan:

  1. Cek file di /etc/netplan/ dengan ls -la /etc/netplan/.

  2. Nonaktifkan Cloud-Init dengan membuat file 99-disable-network-config.cfg yang berisi network: {config: disabled}.

  3. Hapus file netplan lama buatan cloud-init (50-cloud-init.yaml).

  4. Buat/Bedit file konfigurasi netplan Anda (misal 01-netcfg.yaml). Pastikan sintaks YAML benar.

  5. Validasi dan terapkan:

    bash
sudo netplan generate
sudo netplan apply
  1. Reboot dan cek apakah pengaturan jaringan Anda (ip a) sudah sesuai dan tetap bertahan.

Dengan mengikuti langkah-langkah di atas, khususnya menonaktifkan Cloud-Init, masalah netplan yang selalu kembali ke pengaturan awal seharusnya teratasi.

Komentar

Postingan populer dari blog ini

install dan run virtualbox di ubuntu server

  Berikut adalah beberapa cara untuk menginstall VirtualBox di Ubuntu Server: Metode 1: Install dari Repository Official (Rekomendasi) Langkah 1: Tambahkan Repository VirtualBox bash # Update sistem sudo apt update && sudo apt upgrade -y # Install dependencies sudo apt install -y wget curl gnupg apt-transport-https # Tambahkan key repository VirtualBox wget -O- https://www.virtualbox.org/download/oracle_vbox_2016.asc | sudo gpg --dearmor --yes --output /usr/share/keyrings/oracle-virtualbox-2016.gpg # Alternatif jika perintah di atas gagal: wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - Langkah 2: Tambahkan repository ke sources list bash # Untuk Ubuntu 22.04/Jammy atau versi terbaru echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-virtualbox-2016.gpg] https://download.virtualbox.org/virtualbox/debian jammy contrib" | sudo tee /etc/apt/sources.list.d/virtualbox.list # Sesuaikan de...

Apa itu Rsync?

  Apa itu Rsync? Rsync (Remote Synchronization) adalah tool powerful untuk sinkronisasi file dan direktori antara lokasi berbeda, baik secara lokal maupun remote. Keunggulan utamanya adalah hanya mentransfer perubahan (delta transfer), membuatnya sangat efisien. Keunggulan Rsync Delta-transfer algorithm - Hanya transfer bagian yang berubah Preserve permissions - Mempertahankan atribut file Compression - Kompresi data selama transfer Partial transfers - Dapat melanjutkan transfer yang terputus Flexible - Bisa lokal dan remote STRUKTUR DASAR bash rsync [ OPTIONS ] SUMBER TUJUAN OPTIONS PALING UMUM 1. Basic Options bash # Archive mode (preserve semua atribut) rsync -a /source/ /dest/ # Verbose (lihat progress) rsync -av /source/ /dest/ # Recursive (untuk direktori) rsync -r /source/ /dest/ # Compression (untuk transfer remote) rsync -z /source/ user@host:/dest/ 2. Kombinasi Umum bash # Kombinasi paling sering digunakan rsync -avz /local/path/ user@remotehost...

Cara Menggunakan sshpass dengan Rsync

  Cara Menggunakan sshpass dengan Rsync Apa itu sshpass? sshpass adalah tool untuk menyediakan password SSH secara non-interactive (tanpa prompt). Sangat berguna untuk automation script. INSTALASI SSHPass Linux (Debian/Ubuntu) bash sudo apt-get install sshpass Linux (CentOS/RHEL) bash sudo yum install sshpass macOS bash brew install hudochenkov/sshpass/sshpass # atau port install sshpass METODE PENGGUNAAN SSHPass DENGAN Rsync 1. Method 1: Environment Variable bash export SSHPASS = "password123" sshpass -e rsync -avz /local/path/ user@103.115.31.218:/remote/path/ 2. Method 2: Password dari File bash # Simpan password di file echo "password123" > /tmp/mypass # Gunakan dengan rsync sshpass -f /tmp/mypass rsync -avz /local/path/ user@103.115.31.218:/remote/path/ # Hapus file password setelah digunakan rm /tmp/mypass 3. Method 3: Password Langsung (TIDAK DISARANKAN) bash sshpass -p "password123" rsync -avz /local/path/ user@103...