Blok Wi-Fi Netplan dapat valid secara sintaks tetapi tetap salah untuk Ubuntu Server tertentu. Dua nilai yang tidak aman untuk sekadar disalin dari contoh adalah nama interface dan renderer.

Konfigurasi yang memakai wlp2s0 mengasumsikan mesin memang memiliki interface dengan nama tersebut. Menetapkan renderer: networkd mengasumsikan instalasi memang ditujukan menggunakan systemd-networkd; untuk Wi-Fi, backend ini juga bergantung pada wpa_supplicant. Instalasi lain mungkin sudah dikelola oleh NetworkManager.

Urutan yang andal karena itu adalah inspeksi lebih dahulu, baru konfigurasi.

Identifikasi interface wireless sebelum menulis YAML

Nama interface Linux berbeda menurut hardware dan kebijakan penamaan. Perangkat Wi-Fi dapat muncul sebagai wlan0, wlp2s0, wlp3s0, atau nama wl... lainnya.

Mulai dengan:

ip link

Untuk detail tambahan:

sudo lshw -C network

Jika interface wireless yang diharapkan tidak muncul, mengedit Netplan belum menyentuh sumber masalah. Periksa apakah kernel melihat adapter dan apakah firmware gagal dimuat:

lspci -k | grep -A3 -i network
lsusb
sudo dmesg | grep -i -E 'wifi|wlan|firmware|iwlwifi|rtl|brcm'

Radio juga dapat diblokir secara terpisah dari Netplan:

rfkill list
sudo rfkill unblock wifi

Nama interface yang ditemukan di sini adalah nama yang harus ditempatkan di bawah wifis:. Jangan menggantinya dengan wlan0 atau wlp2s0 hanya karena sebuah contoh memakai nama tersebut.

Periksa state Netplan yang sudah ada

Netplan membaca YAML dari /etc/netplan/. Beberapa file dapat berkontribusi pada konfigurasi efektif, sehingga melihat satu file saja dapat menyembunyikan renderer atau definisi perangkat yang sudah ada.

Periksa file dan state gabungannya:

ls -l /etc/netplan/
sudo netplan get

Periksa juga service jaringan yang aktif:

systemctl is-active systemd-networkd
systemctl is-active NetworkManager

Service yang aktif saja tidak membuktikan bahwa service tersebut mengelola interface tertentu, tetapi pemeriksaan ini menunjukkan kondisi sistem sebelum renderer diubah.

Pembedaan ini penting karena Netplan merupakan abstraksi konfigurasi. Netplan menghasilkan konfigurasi untuk backend seperti systemd-networkd atau NetworkManager; Netplan sendiri bukan proses yang melakukan association ke access point.

Definisi Wi-Fi networkd yang valid memiliki dependency

Untuk server yang memang menggunakan systemd-networkd, konfigurasi DHCP minimal dapat berbentuk seperti ini:

network:
  version: 2
  renderer: networkd
  wifis:
    wlp2s0:
      dhcp4: true
      access-points:
        "ExampleSSID":
          password: "replace-with-the-real-passphrase"

Struktur YAML tersebut valid, tetapi wlp2s0 hanya benar jika interface itu memang ada.

Ada batas penting lain: systemd-networkd tidak menangani association Wi-Fi sendiri. Backend networkd Netplan memerlukan wpa_supplicant untuk dukungan Wi-Fi. Verifikasi komponen tersebut alih-alih menganggap YAML yang valid sebagai bukti bahwa mesin dapat melakukan association:

dpkg -l wpasupplicant

Jika paket tersebut tidak ada dan server masih memiliki jalur jaringan lain yang berfungsi, instal melalui package manager:

sudo apt update
sudo apt install wpasupplicant

Mengubah renderer hanya agar sama dengan sebuah contoh biasanya bukan arah yang tepat. Pertahankan backend yang memang ditujukan oleh instalasi kecuali ada alasan konkret untuk memigrasikannya.

NetworkManager mengubah jalur operasional

Jika sistem sudah dikelola NetworkManager, pertahankan ownership tersebut secara eksplisit:

network:
  version: 2
  renderer: NetworkManager
  wifis:
    wlp2s0:
      dhcp4: true
      access-points:
        "ExampleSSID":
          password: "replace-with-the-real-passphrase"

NetworkManager juga menyediakan discovery dan pengelolaan koneksi Wi-Fi melalui nmcli:

nmcli device status
nmcli radio wifi on
nmcli device wifi list
sudo nmcli device wifi connect "ExampleSSID" password "replace-with-the-real-passphrase"

Cara ini berguna ketika discovery interaktif lebih sesuai daripada memasukkan SSID secara manual. Koneksi nmcli yang berhasil juga membuat state koneksi yang dikelola NetworkManager, jadi hindari memelihara definisi yang saling bersaing untuk interface yang sama tanpa desain yang disengaja.

Validasi sebelum menerapkan perubahan dari jarak jauh

Konfigurasi jaringan memiliki mode kegagalan yang khas: kesalahan sintaks atau routing dapat memutus jalur SSH yang diperlukan untuk memperbaikinya.

Jalankan parser dan generator lebih dahulu:

sudo netplan generate

Saat mengubah jaringan melalui SSH, gunakan:

sudo netplan try

netplan try menerapkan konfigurasi dengan mekanisme konfirmasi dan dapat melakukan rollback ketika perubahan tidak dikonfirmasi. Ini lebih aman dibanding langsung menetapkan perubahan jaringan remote yang belum diuji.

Setelah validasi, terapkan konfigurasi:

sudo netplan apply

Kemudian periksa state, bukan hanya mengandalkan tidak adanya pesan error:

ip address
ip route
sudo netplan status

Uji setiap lapisan secara terpisah:

ping -c 3 1.1.1.1
ping -c 3 ubuntu.com

Jika alamat IP dapat dijangkau tetapi hostname tidak, masalahnya bukan lagi association Wi-Fi dasar; konfigurasi DNS menjadi batas berikutnya yang perlu diperiksa.

Permission file penting ketika credential disimpan dalam YAML

Passphrase Wi-Fi yang ditulis langsung di YAML Netplan merupakan konfigurasi sensitif. Batasi file agar user lokal biasa tidak dapat membacanya:

sudo chown root:root /etc/netplan/01-wifi.yaml
sudo chmod 600 /etc/netplan/01-wifi.yaml

Gunakan nama file Netplan yang benar-benar ada di mesin, bukan membuat 01-wifi.yaml secara membabi buta. File dari installer atau cloud-init mungkin sudah mendefinisikan perangkat tersebut.

Ini juga menjadi alasan untuk memeriksa seluruh file di /etc/netplan/ sebelum menambahkan file baru. Netplan menggabungkan konfigurasi, dan definisi kedua dapat menghasilkan perilaku yang lebih sulit ditelusuri dibanding satu sumber konfigurasi yang disengaja.

Alamat statis sebaiknya ditambahkan setelah association berfungsi

Alamat statis menambahkan variabel routing dan DNS yang terpisah dari autentikasi Wi-Fi. Saat mendiagnosis setup baru, bangun koneksi wireless dengan DHCP terlebih dahulu. Setelah association dan DHCP terbukti bekerja, definisi statis dapat ditambahkan secara terencana:

network:
  version: 2
  renderer: networkd
  wifis:
    wlp2s0:
      dhcp4: false
      addresses:
        - 192.168.1.50/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses:
          - 1.1.1.1
          - 8.8.8.8
      access-points:
        "ExampleSSID":
          password: "replace-with-the-real-passphrase"

Alamat, prefix, gateway, dan DNS server harus sesuai dengan jaringan lokal. Menyalin 192.168.1.50 dari contoh dapat menyebabkan konflik alamat atau menempatkan host pada subnet yang salah.

Perlakukan contoh Netplan sebagai schema, bukan jawaban spesifik mesin

Bagian yang berguna dari contoh Netplan adalah strukturnya. Nama interface, renderer, alamat, gateway, SSID, dan credential merupakan milik mesin serta jaringan target.

Untuk Wi-Fi Ubuntu Server, urutan diagnosis lebih penting daripada satu potongan YAML: pastikan adapter ada, identifikasi nama interface sebenarnya, periksa konfigurasi Netplan efektif, tentukan renderer yang memang digunakan, verifikasi dependency Wi-Fi renderer, validasi konfigurasi yang dihasilkan, lalu terapkan.

Urutan tersebut memisahkan deteksi hardware, state radio, ownership backend, association Wi-Fi, konfigurasi IP, routing, dan DNS. Ketika koneksi gagal, setiap batas dapat diuji secara independen tanpa mengganti seluruh konfigurasi dengan contoh lain yang juga hanya berupa tebakan.