Server yang baru saja diinstal biasanya sudah bisa mendapatkan IP address secara otomatis lewat DHCP, cukup untuk sekadar terhubung ke jaringan. Tapi server production nyaris tidak pernah cukup dengan itu saja. Web server butuh IP statis yang tidak berubah-ubah agar DNS selalu menunjuk ke alamat yang benar, server dengan dua kartu jaringan butuh bonding agar tetap hidup walau satu link putus, dan server yang melayani banyak segmen jaringan sekaligus butuh VLAN agar satu interface fisik bisa "dipecah" secara logis. Semua kebutuhan ini berujung pada satu titik yang sama: konfigurasi jaringan level sistem operasi, dan di Ubuntu Server, titik itu bernama Netplan.
Bab ini membuka Bagian III series, yang secara khusus membahas jaringan server. Kita akan mulai dari konsep Netplan sebagai lapisan abstraksi, masuk ke praktik konfigurasi IP statis yang paling sering dipakai Sysadmin sehari-hari, mengenal konsep bonding dan VLAN untuk topologi jaringan yang lebih kompleks, lalu menutup dengan cara menerapkan perubahan secara aman serta men-troubleshoot masalah yang umum muncul. Materi jaringan di bab ini menjadi fondasi untuk bab-bab berikutnya di Bagian III, mulai dari DNS di Bab 9 hingga sinkronisasi waktu di Bab 11.
8.1 Netplan sebagai Abstraksi Konfigurasi Jaringan
Netplan adalah tool konfigurasi jaringan berbasis declarative yang sudah menjadi default di Ubuntu sejak rilis 17.10, menggantikan cara lama mengedit langsung /etc/network/interfaces (paket ifupdown) atau mengandalkan nmcli secara manual. Alih-alih menyuruh sistem "melakukan langkah A, B, C" secara imperatif, kita cukup mendeskripsikan "seperti apa seharusnya kondisi akhir jaringan ini" dalam file YAML, dan Netplan yang menerjemahkannya menjadi konfigurasi nyata di backend yang sesuai.
Pendekatan ini memudahkan Sysadmin karena satu format YAML yang sama bisa dipakai di berbagai skenario, baik server fisik, virtual machine, maupun cloud image, tanpa perlu belajar sintaks berbeda untuk tiap backend. Developer yang butuh testing environment dengan topologi jaringan tertentu pun bisa menyalin file YAML yang sama ke beberapa server tanpa modifikasi besar.
8.1.1 File YAML di /etc/netplan/
Seluruh konfigurasi Netplan disimpan sebagai satu atau lebih file YAML di direktori /etc/netplan/. Ubuntu Server hasil instalasi Subiquity (lihat Bab 2) biasanya sudah membawa satu file konfigurasi awal, umumnya bernama 00-installer-config.yaml, sementara instance cloud yang diprovisi lewat cloud-init (Bab 37) biasanya memakai 50-cloud-init.yaml. Jika ada lebih dari satu file, Netplan memprosesnya secara berurutan berdasarkan urutan abjad nama file, dan konfigurasi pada file dengan urutan lebih belakang akan menimpa (override) konfigurasi yang sama dari file sebelumnya.
Langkah Praktik
- Lihat file konfigurasi Netplan yang sudah ada di server.
ls -la /etc/netplan/ - Tampilkan isi file konfigurasi tersebut untuk memahami struktur dasarnya.
cat /etc/netplan/00-installer-config.yaml
Struktur dasar file YAML Netplan selalu diawali dengan kunci network, angka version (saat ini hanya 2 yang didukung), lalu blok jenis interface seperti ethernets, bonds, atau vlans.
network:
version: 2
ethernets:
enp0s3:
dhcp4: trueVerifikasi dan Troubleshooting
- Perhatikan permission file YAML di
/etc/netplan/. File ini berpotensi menyimpan data sensitif seperti password Wi-Fi, sehingga Netplan versi modern akan menampilkan peringatan jika permission-nya terlalu terbuka. Pastikan hanyarootyang bisa membaca dan menulis file ini.sudo chmod 600 /etc/netplan/*.yaml ls -la /etc/netplan/ - Di lapangan, jangan pernah menghapus file konfigurasi bawaan installer begitu saja tanpa membaca isinya terlebih dahulu. File tersebut sering menyimpan detail seperti nama interface yang sudah dikenali sistem saat instalasi, sebuah referensi yang mempercepat proses saat kita menulis ulang konfigurasi sendiri.
8.1.2 Backend: NetworkManager vs systemd-networkd
Netplan sendiri tidak benar-benar mengatur jaringan secara langsung. Ia hanya menerjemahkan (render) file YAML menjadi konfigurasi native untuk salah satu dari dua backend yang tersedia: systemd-networkd atau NetworkManager. Ubuntu Server memakai systemd-networkd sebagai renderer default, ringan dan cocok untuk lingkungan headless tanpa GUI. Ubuntu Desktop sebaliknya memakai NetworkManager sebagai default, karena lebih ramah untuk skenario dengan banyak perpindahan jaringan seperti Wi-Fi di laptop.
Kunci renderer di file YAML menentukan backend mana yang dipakai. Jika kunci ini tidak dituliskan sama sekali, Netplan akan memakai networkd sebagai default.
network:
version: 2
renderer: networkd
ethernets:
enp0s3:
dhcp4: trueVerifikasi
- Cek status interface dan renderer yang sedang aktif langsung dari Netplan.
sudo netplan status - Jika backend yang dipakai adalah
systemd-networkd, cek statusnya lewatnetworkctl.networkctl list networkctl status enp0s3
Sebagai Sysadmin yang mengelola server headless, kita hampir selalu tetap memakai systemd-networkd. NetworkManager baru relevan dipilih di server jika ada kebutuhan spesifik, misalnya modem seluler USB yang manajemen koneksinya lebih mudah lewat nmcli.
8.2 Konfigurasi IP Statis
DHCP praktis untuk konfigurasi awal, tetapi server production idealnya punya IP address yang tidak berubah. Bayangkan konsekuensinya jika IP web server berubah setelah reboot, padahal DNS dan firewall di jaringan sudah menunjuk ke IP lama, semua traffic dari Visitor otomatis gagal sampai ada yang menyadari dan memperbaikinya secara manual. Oleh karena itu, mengatur IP statis adalah salah satu tugas konfigurasi jaringan paling mendasar yang wajib dikuasai Sysadmin.
Langkah Praktik
- Cek nama interface jaringan yang aktif di server terlebih dahulu, karena penamaan bisa berbeda antar server (
enp0s3,eth0, dan sejenisnya).ip a - Buka file konfigurasi Netplan yang ada, atau buat file baru jika belum ada.
sudo nano /etc/netplan/00-installer-config.yaml - Ganti konfigurasi
dhcp4: truedengan alamat IP statis, gateway, dan DNS server. Sesuaikan alamat, prefix, dan gateway dengan skema jaringan yang sebenarnya dipakai.network: version: 2 renderer: networkd ethernets: enp0s3: dhcp4: false addresses: - 192.168.1.10/24 routes: - to: default via: 192.168.1.1 nameservers: addresses: [1.1.1.1, 8.8.8.8] - Sebelum diterapkan, validasi dulu sintaks YAML-nya. Perintah ini akan langsung melaporkan error jika ada kesalahan indentasi atau kunci yang salah tulis, tanpa benar-benar mengubah konfigurasi jaringan yang sedang berjalan.
sudo netplan generate
Verifikasi dan Troubleshooting
- Setelah konfigurasi diterapkan (lihat Bagian 8.4 untuk cara menerapkannya dengan aman), pastikan IP address sudah berubah sesuai yang dikonfigurasi.
ip a show enp0s3 ip route - Uji resolusi DNS dan konektivitas keluar untuk memastikan
nameserversyang dikonfigurasi benar-benar bekerja.resolvectl status enp0s3 ping -c 3 8.8.8.8 - Kesalahan paling umum di sini adalah salah menuliskan indentasi YAML, karena YAML sangat sensitif terhadap spasi dan tidak menerima tab sama sekali. Gunakan editor yang menampilkan indentasi dengan jelas, dan selalu jalankan
netplan generatesebelumapplysebagai kebiasaan wajib.
8.3 Bonding dan VLAN: Pengenalan Konsep
Selain konfigurasi IP dasar, Netplan juga menangani dua skenario jaringan yang lebih kompleks dan sering dijumpai di server production: menggabungkan beberapa network interface fisik menjadi satu (bonding), dan memecah satu interface fisik menjadi beberapa jaringan logis (VLAN). Bagian ini membahas konsep dasarnya sebagai bekal, tanpa masuk ke seluruh variasi konfigurasi yang jauh lebih luas di lapangan.
8.3.1 Bonding: Redundansi dan Agregasi Bandwidth
Bonding menggabungkan dua atau lebih network interface fisik menjadi satu interface logis. Tujuannya bisa redundansi (jika satu kabel atau port switch mati, traffic otomatis lewat interface yang lain tanpa downtime), bisa juga agregasi bandwidth (menggabungkan kapasitas dua link jadi satu). Mode yang paling umum dipakai adalah active-backup, di mana hanya satu interface yang aktif dan sisanya jadi cadangan, serta 802.3ad (LACP), yang benar-benar menggabungkan bandwidth beberapa link tetapi mensyaratkan switch di sisi jaringan juga dikonfigurasi mendukung LACP.
network:
version: 2
ethernets:
enp0s3: {}
enp0s8: {}
bonds:
bond0:
interfaces: [enp0s3, enp0s8]
parameters:
mode: active-backup
addresses:
- 192.168.1.10/24
routes:
- to: default
via: 192.168.1.1Perhatikan bahwa kedua interface fisik (enp0s3 dan enp0s8) didaftarkan tanpa konfigurasi IP sendiri, karena alamat IP sekarang melekat pada bond0 sebagai interface gabungan.
Verifikasi
Setelah konfigurasi bonding diterapkan (lihat Bagian 8.4), cek interface mana yang berstatus aktif dan mana yang jadi cadangan lewat file status yang disediakan kernel.
cat /proc/net/bonding/bond0
ip a show bond08.3.2 VLAN: Segmentasi Jaringan Logis
VLAN (Virtual LAN) memungkinkan satu interface fisik yang terhubung ke port switch bertipe trunk "dipecah" menjadi beberapa jaringan logis terpisah, masing-masing diidentifikasi dengan VLAN ID (angka 0 hingga 4094). Skenario umum di lapangan: satu server dengan satu kabel jaringan fisik perlu berada di segmen management network sekaligus segmen jaringan data secara bersamaan, tanpa menambah kartu jaringan fisik baru.
network:
version: 2
ethernets:
enp0s3: {}
vlans:
vlan100:
id: 100
link: enp0s3
addresses:
- 10.0.100.10/24
vlan200:
id: 200
link: enp0s3
addresses:
- 10.0.200.10/24Konfigurasi VLAN di sisi server ini hanya berfungsi jika port switch tempat server terhubung sudah dikonfigurasi sebagai trunk port dengan VLAN 100 dan 200 di-tag di dalamnya. Koordinasi dengan tim jaringan atau divisi yang mengelola switch adalah langkah wajib sebelum konfigurasi VLAN di sisi Netplan bisa benar-benar berfungsi.
Verifikasi
Pastikan interface VLAN sudah terbentuk dan terhubung ke parent interface yang benar, lengkap dengan VLAN ID-nya.
ip -d link show vlan1008.4 Menerapkan Perubahan: netplan apply
Menerapkan konfigurasi jaringan yang salah di server jarak jauh adalah salah satu skenario paling menakutkan bagi Sysadmin: begitu perintah dijalankan, sesi SSH yang sedang dipakai untuk menjalankan perintah itu sendiri bisa langsung terputus, dan akses ke server hilang sama sekali tanpa akses console fisik (lihat Bab 3 soal console access sebagai fallback). Untungnya, Netplan menyediakan mekanisme aman khusus untuk skenario ini.
Langkah Praktik
- Untuk perubahan kecil yang sudah yakin benar dan dilakukan lewat akses console langsung (bukan SSH jarak jauh), terapkan konfigurasi langsung.
sudo netplan apply - Untuk perubahan yang berisiko memutus akses jaringan, misalnya saat mengubah IP statis lewat sesi SSH, gunakan
netplan tryalih-alihapply. Perintah ini menerapkan konfigurasi baru sementara, lalu otomatis rollback ke konfigurasi sebelumnya jika tidak dikonfirmasi dalam waktu 120 detik.sudo netplan try - Jika konfigurasi baru terbukti berjalan baik dan sesi SSH tetap terhubung, konfirmasi perubahan dengan menekan
Entersebelum waktu 120 detik habis. Jika koneksi justru terputus akibat konfigurasi yang salah, cukup tunggu, karena Netplan akan mengembalikan konfigurasi lama secara otomatis begitu timeout tercapai, dan akses SSH akan pulih dengan sendirinya.
Verifikasi dan Troubleshooting
netplan trybisa diberi waktu tunggu kustom lewat opsi--timeoutjika 120 detik dirasa kurang, misalnya untuk topologi bonding yang butuh waktu lebih lama untuk stabil.sudo netplan try --timeout 180- Jadikan
netplan trysebagai kebiasaan wajib, bukan opsional, setiap kali mengubah konfigurasi jaringan lewat sesi remote. Satu kali lupa memakainya saat mengubah IP statis production sudah cukup untuk membuat server benar-benar tidak terjangkau tanpa akses console fisik atau out-of-band seperti IPMI/iDRAC.
8.5 Troubleshooting Netplan
Konfigurasi jaringan yang gagal diterapkan bisa disebabkan berbagai hal, mulai dari kesalahan sintaks YAML sederhana hingga konflik dengan konfigurasi lama yang masih tersisa. Bagian ini merangkum langkah diagnosis yang paling sering dipakai di lapangan.
Langkah Praktik
- Jika
netplan applygagal atau menampilkan error, jalankangeneratedengan mode debug untuk melihat detail proses parsing YAML secara lebih verbose.sudo netplan --debug generate - Cek status seluruh interface dan konfigurasi yang sedang aktif, termasuk yang gagal diterapkan.
sudo netplan status --all - Untuk backend
systemd-networkd, lihat log service-nya lewatjournalctljika ada error yang tidak jelas asalnya.journalctl -u systemd-networkd -b --no-pager
Masalah Umum dan Solusinya
- Error indentasi YAML. Penyebab paling sering dari kegagalan
netplan generate. Pastikan seluruh file memakai spasi konsisten (biasanya 2 spasi per level) dan tidak ada karakter tab yang tercampur, karena parser YAML akan menolaknya. - Nama interface salah tulis. Konfigurasi yang menyebut nama interface seperti
eth0padahal nama sebenarnya di server tersebut adalahenp0s3(mengikuti skema predictable network interface names yang jadi default di Ubuntu modern) akan membuat Netplan tidak menerapkan apa pun ke interface manapun. Selalu konfirmasi nama interface denganip asebelum menulis konfigurasi. - Dua file konfigurasi saling bentrok. Jika ada lebih dari satu file YAML di
/etc/netplan/yang mengatur interface yang sama dengan cara berbeda, file dengan urutan nama lebih belakang akan menang. Jika hasil akhirnya tidak sesuai harapan, cek seluruh isi direktori, bukan hanya satu file yang baru saja diedit.ls -la /etc/netplan/ grep -r "" /etc/netplan/*.yaml - Warning permission file YAML. Seperti sudah disinggung di Bagian 8.1.1, Netplan akan mengeluarkan peringatan jika file konfigurasi bisa dibaca pihak lain selain
root. Peringatan ini tidak menghentikan proses apply, tetapi tetap harus diperbaiki karena berpotensi membocorkan kredensial jaringan seperti password Wi-Fi. - Kehilangan akses SSH akibat kesalahan konfigurasi. Jika ini terjadi dan
netplan trytidak sempat dipakai, satu-satunya jalan keluar adalah akses console langsung, baik fisik, lewat hypervisor (KVM/VMware), atau serial console di cloud provider, seperti yang sudah dibahas sebagai fallback di Bab 3.
Sampai di sini, kita sudah menguasai Netplan sebagai fondasi konfigurasi jaringan Ubuntu Server: memahami struktur file YAML dan perbedaan backend, mempraktikkan konfigurasi IP statis, mengenal konsep bonding dan VLAN untuk topologi yang lebih kompleks, serta membiasakan diri memakai netplan try sebagai jaring pengaman sebelum apply di server production. Bab 9 akan melanjutkan pembahasan jaringan dengan topik DNS server memakai BIND9, membangun di atas IP statis yang baru saja kita konfigurasi di bab ini.

