Server tidak berkompromi soal koneksi: kartu ethernet dipasang kabel, diberi alamat tetap, dan konfigurasinya harus berdiri sendiri sejak mesin dinyalakan — tanpa desktop, tanpa applet, tanpa campur tangan siapa pun. Kebutuhan itu melahirkan tiga generasi alat konfigurasi yang semuanya masih hidup di lapangan. Pada Chapter ini kita membaca ketiganya, mulai dari /etc/network/interfaces klasik Debian, netplan berbasis YAML di Ubuntu, hingga profil NetworkManager, lalu menutup dengan dua teknik khas server: beberapa alamat dalam satu kartu dan bonding dua kartu untuk redundansi.
Tiga Jalur Konfigurasi #
Ketiga alat tersebut menyelesaikan pekerjaan yang sama — menulis alamat dan rute ke interface pada saat yang tepat — dengan cara penyimpanan yang berbeda:
| Alat | Berkas | Ciri |
|---|---|---|
| ifupdown | /etc/network/interfaces | Debian klasik; teks sederhana; service networking |
| netplan | /etc/netplan/*.yaml | Ubuntu modern; YAML yang diterjemahkan ke backend |
| NetworkManager | keyfile di /etc/NetworkManager/system-connections/ | desktop dan laptop; profil berpindah device |
Pilihan di antara ketiganya mengikuti distro dan peran mesin. Debian server dan turunannya memakai ifupdown atau systemd-networkd; Ubuntu sejak 17.10 memakai netplan sebagai lapisan depan; desktop memakai NetworkManager seperti yang kita bedah pada Chapter NetworkManager . Aturan yang tak boleh dilanggar tetap satu: satu interface hanya dikelola satu alat.
Debian Klasik: /etc/network/interfaces #
Format ifupdown terdiri dari stanza — blok yang diawali kata kunci lalu diikuti baris-baris parameter menjorok. Kita pelajari bentuknya lewat salinan:
printf 'auto lo\niface lo inet loopback\n\nallow-hotplug enp3s0\niface enp3s0 inet static\n address 192.0.2.20\n netmask 255.255.255.0\n gateway 192.0.2.1\n dns-nameservers 192.0.2.53\n' > interfaces
cat interfacesOutput yang Dihasilkan:
auto lo
iface lo inet loopback
allow-hotplug enp3s0
iface enp3s0 inet static
address 192.0.2.20
netmask 255.255.255.0
gateway 192.0.2.1
dns-nameservers 192.0.2.53Mari kita bedah stanza demi stanza:
auto lo+iface lo inet loopback: interfacelodihidupkan setiap boot; dua baris ini hampir selalu ada dan tidak perlu diubah.allow-hotplug enp3s0: kartu jaringan dihidupkan saat terdeteksi sistem — untuk PCI builtin,auto enp3s0(hidup saat boot) sama umumnya;allow-hotpluglebih tepat untuk kartu USB yang bisa dicabut-pasang.iface enp3s0 inet static: kepala stanza konfigurasienp3s0;inetmenandai keluarga IPv4 danstaticmemilih metode statis. Menggantistaticmenjadidhcpakan memanggil klien DHCP dari Chapter DHCP setiap kali interface naik.address,netmask,gateway,dns-nameservers: alamat, mask dalam bentuk panjang, gerbang keluar, dan server DNS — padanan persis propertiipv4.*pada NetworkManager.
Perintah ifup enp3s0 menerapkan stanza ini, ifdown enp3s0 melepasnya. Service networking menjalankan ifup untuk semua stanza auto ketika mesin boot — inilah alasan konfigurasi bertahan tanpa interaksi siapa pun.
Netplan di Ubuntu: Konfigurasi YAML #
Netplan tidak menerapkan konfigurasi sendirian; netplan membaca YAML, lalu menerjemahkannya menjadi konfigurasi backend — systemd-networkd untuk server, NetworkManager untuk desktop. Satu berkas umumnya bernama /etc/netplan/01-konfigurasi.yaml:
printf 'network:\n version: 2\n ethernets:\n enp3s0:\n dhcp4: false\n addresses: [192.0.2.20/24]\n routes:\n - to: default\n via: 192.0.2.1\n nameservers:\n addresses: [192.0.2.53, 198.51.100.53]\n' > 01-konfigurasi.yaml
cat 01-konfigurasi.yamlOutput yang Dihasilkan:
network:
version: 2
ethernets:
enp3s0:
dhcp4: false
addresses: [192.0.2.20/24]
routes:
- to: default
via: 192.0.2.1
nameservers:
addresses: [192.0.2.53, 198.51.100.53]Struktur YAML-nya perlu dibaca cermat karena indentasi adalah bagian dari bahasa:
network:danversion: 2: setiap berkas netplan diawali versi skema; angka 2 adalah versi yang dipakai semua instalasi modern.ethernets:laluenp3s0:: nama interface menjadi kunci; semua pengaturan di bawahnya menjorok dua spasi — satu spasi salah pun membuat YAML tidak terbaca.dhcp4: false: alamat statis dipilih dengan mematikan DHCP, kebalikan perilaku bawaan netplan yang memakaidhcp4: true.addresses: [192.0.2.20/24]: daftar alamat dalam format CIDR; tanda kurung siku adalah daftar YAML, dan di sinilah alamat kedua tinggal ditambahkan.routes:denganto: default: gateway ditulis sebagai rute menujudefaultlewat alamatvia— netplan tidak punya tombolgatewayterpisah.nameservers:: daftar server DNS yang akan dituliskan ke resolver.
Setelah mengedit, netplan apply menerjemahkan YAML ke backend dan langsung menerapkannya.
Beberapa Alamat dalam Satu Kartu #
Satu interface boleh membawa beberapa alamat sekaligus — kebutuhan yang wajar saat sebuah server melayani beberapa situs atau sedang dipindahkan ke blok alamat baru. Pada netplan, alamat cukup ditambahkan ke daftar: addresses: [192.0.2.20/24, 198.51.100.20/24]. Pada NetworkManager, properti bertambah dengan tanda plus di depannya:
nmcli connection modify kantor +ipv4.addresses 198.51.100.20/24
nmcli connection up kantorTanda + menambahkan alamat tanpa menghapus yang lama; tanpa tanda itu, nilai properti diganti seluruhnya. Hasil akhirnya terlihat sebagai dua baris inet pada keluaran ip addr show enp3s0.
Bonding: Dua Kabel, Satu Alamat #
Server produksi sering tidak boleh terputus hanya karena satu kabel dicabut atau satu switch mati. Bonding menggabungkan beberapa kartu menjadi satu interface logis — biasanya bernama bond0 — yang memakai satu alamat. Kartu fisik menjadi slave yang bekerja menurut mode bond:
| Mode | Nama | Perilaku | Butuh dukungan switch |
|---|---|---|---|
| 1 | active-backup | satu kabel aktif, lainnya siaga otomatis | tidak |
| 4 | 802.3ad (LACP) | kecepatan dua kabel digabung | ya, LACP diaktifkan |
| 0 | balance-rr | paket dikirim bergilir antar kabel | umumnya ya |
| 5 | balance-tlb | lalu lintas keluar dibagi, masuk lewat satu kabel | tidak |
Mode active-backup adalah pilihan aman tanpa persyaratan di sisi switch, sehingga mode itu paling sering dipakai untuk redundansi murni. Bentuknya dalam ifupdown:
printf 'auto bond0\niface bond0 inet static\n address 192.0.2.30\n netmask 255.255.255.0\n gateway 192.0.2.1\n bond-slaves enp3s0 enp4s0\n bond-mode active-backup\n bond-miimon 100\n' > interfaces-bonding
cat interfaces-bondingOutput yang Dihasilkan:
auto bond0
iface bond0 inet static
address 192.0.2.30
netmask 255.255.255.0
gateway 192.0.2.1
bond-slaves enp3s0 enp4s0
bond-mode active-backup
bond-miimon 100Dua baris terakhir adalah intinya: bond-slaves mendaftarkan kedua kartu fisik ke dalam bond, dan bond-mode active-backup memilih satu aktif dengan siaga. bond-miimon 100 memerintahkan kernel memeriksa tautan tiap 100 milidetik — ketika kabel aktif dicabut, alih-alih putus, kartu siaga mengambil alih dalam sekejap mata dan alamat 192.0.2.30 tidak pernah berpindah.
Konfigurasi yang tertulis rapi, tentu, bukan jaminan berjalan mulus — kabel longgar, driver rewel, dan DNS keliru tetap datang tanpa mengirim pesan. Chapter berikutnya menyusun siasat sistematis untuk memburu masalah itu lapis demi lapis.
Referensi lanjut: wiki Debian NetworkConfiguration untuk ifupdown dan alternatifnya, dokumentasi netplan di Ubuntu untuk skema YAML lengkap, serta panduan bonding di kernel untuk detail tiap mode.