Netplan Static IP
Cheat sheet lengkap untuk konfigurasi IP statis di Ubuntu menggunakan Netplan.
Apa itu Netplan?
Netplan adalah utilitas konfigurasi jaringan modern
untuk Linux, khususnya Ubuntu (mulai 17.10). Netplan membaca
konfigurasi dari file YAML di /etc/netplan/ dan
menerjemahkannya ke backend:
- networkd - bawaan systemd, ringan, cocok untuk server
- NetworkManager - cocok untuk desktop/laptop dengan koneksi dinamis
Netplan adalah pengganti
/etc/network/interfaces (ifupdown) yang sudah legacy.
Lokasi File
/etc/netplan/
├── 01-netcfg.yaml # file utama (nama bisa berbeda)
├── 50-cloud-init.yaml # dibuat cloud-init (VPS)
└── 99-custom.yaml # custom user
Urutan: File diproses secara alfabetis. Konfigurasi digabung, nilai yang sama akan di-override oleh file terakhir.
Format YAML - Anatomi Konfigurasi
network:
version: 2
renderer: networkd # atau NetworkManager
ethernets:
nama_interface:
dhcp4: true/false
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
search:
- local.domain
Field Penting
| Key | Fungsi |
|---|---|
version |
Wajib 2 |
renderer |
networkd (server) /
NetworkManager (desktop) |
dhcp4 |
true atau false |
addresses |
List IP + CIDR (192.168.1.100/24) |
routes |
Default gateway / route static |
nameservers |
DNS server & search domain |
️ Contoh 1: Static IP + Gateway + DNS
network:
version: 2
renderer: networkd
ethernets:
ens160:
dhcp4: false
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses:
- 1.1.1.1
- 8.8.8.8
️ Contoh 2: Dual NIC (Static + DHCP)
network:
version: 2
renderer: networkd
ethernets:
ens160: # NIC 1 - Static
dhcp4: false
addresses:
- 10.0.0.10/24
routes:
- to: 10.0.1.0/24
via: 10.0.0.1
ens192: # NIC 2 - DHCP
dhcp4: true
️ Contoh 3: WiFi + Ethernet Beda Subnet
network:
version: 2
renderer: NetworkManager # Wajib NetworkManager untuk WiFi
ethernets:
eth0:
dhcp4: true
wifis:
wlp2s0:
access-points:
"MyWiFi":
password: "supersecret"
dhcp4: true
addresses:
- 192.168.10.50/24
Catatan: WiFi hanya bekerja dengan renderer
NetworkManager.
Apply Konfigurasi
# Uji konfigurasi (dry-run - tidak apply)
sudo netplan try
# Apply konfigurasi
sudo netplan apply
# Apply dengan debug (lihat error detail)
sudo netplan --debug apply
# Generate konfigurasi backend tanpa apply
sudo netplan generate
💡 Rekomendasi: Selalu
netplan trydulu. Jika koneksi putus, akan rollback otomatis dalam 120 detik.
Troubleshooting
Masalah: YAML Indentasi Salah
Netplan sangat strict dengan indentasi YAML. Error umum:
** (generate:1234): WARNING **: Problem encountered while validating default route
Solusi: Gunakan 2 spasi per indentasi,
jangan tab. Validasi YAML:
python3 -c "import yaml; yaml.safe_load(open('/etc/netplan/01-static.yaml'))"
Masalah: Renderer Conflict
Jika ada file YAML yang menggunakan networkd dan file
lain NetworkManager, error:
Error: conflicting renderer
Solusi: Pastikan semua file pakai renderer yang sama, atau hapus file yang tidak perlu.
Masalah: networkd vs NetworkManager
- networkd - lebih cepat, cocok server, tidak support WiFi
- NetworkManager - support WiFi, roaming, cocok laptop
Jika butuh WiFi, gunakan renderer: NetworkManager.
Masalah: Nama Interface Berubah
Di Ubuntu modern, nama interface seperti ens160,
enp0s3, wlx... (Predictable Network
Interface Names).
Cek nama interface:
ip link show
# atau
ip addr
# atau
nmcli device status
Fallback: Revert ke DHCP
Jika IP statis bermasalah dan ingin kembali ke DHCP:
network:
version: 2
renderer: networkd
ethernets:
ens160:
dhcp4: true
sudo netplan apply
Atau jika SSH terputus, minta akses console/out-of-band, lalu edit file.
Testing & Verifikasi
# Cek IP address
ip addr show ens160
# Cek routing table
ip route show
# atau legacy
route -n
# Cek DNS
resolvectl status
# atau
systemd-resolve --status
# Ping gateway
ping -c 3 192.168.1.1
# Ping internet
ping -c 3 8.8.8.8
# Cek DNS resolve
nslookup google.com
# atau
dig google.com
Bonding & Bridging (Dasar)
Bonding (Link Aggregation)
network:
version: 2
renderer: networkd
ethernets:
ens160:
dhcp4: false
ens161:
dhcp4: false
bonds:
bond0:
interfaces: [ens160, ens161]
parameters:
mode: 802.3ad # LACP (mode 4)
mii-monitor-interval: 100
addresses:
- 10.0.0.50/24
routes:
- to: default
via: 10.0.0.1
Bridge (Virtual Switch)
network:
version: 2
renderer: networkd
ethernets:
ens160:
dhcp4: false
bridges:
br0:
interfaces: [ens160]
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
parameters:
stp: true
forward-delay: 4
Ringkasan Perintah
| Perintah | Fungsi |
|---|---|
sudo netplan apply |
Apply konfigurasi |
sudo netplan try |
Uji coba (rollback 120 detik) |
sudo netplan --debug apply |
Apply dengan debug |
sudo netplan generate |
Generate backend config |
sudo netplan get |
Lihat config saat ini (YAML) |
ip addr show |
Lihat IP address |
ip route show |
Lihat routing table |
resolvectl status |
Lihat DNS resolver |
💡 Tips: Simpan konfigurasi lama (
cp /etc/netplan/*.yaml ~/backup/) sebelum mengubah, agar mudah dikembalikan.