Setiap paket yang keluar dari mesin Linux harus melewati sebuah pintu bernama network interface. Kernel tidak membuat kita berurusan langsung dengan chip kartu jaringan; kernel menyajikan setiap perangkat sebagai objek bernama yang bisa diperiksa dan dikonfigurasi. Pada Chapter ini kita pelajari interface-interface tersebut: nama-namanya, cara membacanya dengan ip link, serta dua atribut penting yang melekat padanya — MAC address dan MTU.

Interface: Kartu Jaringan Versi Kernel #

Interface adalah representasi perangkat jaringan di dalam kernel — kalau kartu adalah barang fisiknya, interface adalah pintu logis yang kita lihat dari sisi sistem. Tiga nama yang paling sering dijumpai:

InterfacePerangkat yang diwakili
loloopback — jalur internal mesin ke dirinya sendiri
eth0kartu Ethernet kabel pertama (naming lama)
wlan0kartu wifi pertama (naming lama)

Interface lo selalu ada di setiap sistem Linux, bahkan di komputer tanpa kartu jaringan sama sekali, karena banyak program memakainya untuk berbicara dengan proses lain di mesin yang sama.

Nama Lama eth0 dan Nama Modern enp3s0 #

Nama seperti eth0 dan wlan0 berasal dari masa ketika kernel dan udev memberi nomor berurutan sesuai urutan deteksi perangkat. Masalahnya: urutan deteksi bisa berubah antar boot, sehingga kartu yang kemarin bernama eth0 bisa menjadi eth1 hari ini — dan konfigurasi yang menunjuk nama lama pun salah sasaran.

Sistem modern memakai predictable network interface names: nama dibangun dari lokasi fisik perangkat, bukan urutan deteksi, sehingga stabil antar boot. Dua huruf pertama menandakan jenisnya — en untuk Ethernet, wl untuk wireless — diikuti penanda posisi:

PrefiksAsal namaContoh
enonomor onboard dari firmware/ACPIeno1
ensslot PCI hotplugens3
enplokasi bus PCI (physical)enp3s0
wlpkartu wifi di lokasi bus PCIwlp2s0

Berikut contoh tampilan ip link show pada laptop dengan satu kartu kabel dan satu wifi yang memakai naming modern:

text
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 52:54:00:c7:9a:1f brd ff:ff:ff:ff:ff:ff
3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000
    link/ether 9c:b6:d0:2f:31:a4 brd ff:ff:ff:ff:ff:ff

Karena output ip link bervariasi antar mesin, kita mulai dari satu-satunya interface yang pasti identik di mana saja: loopback. Perintah berikut menampilkan interface lo:

bash
ip link show lo

Output yang Dihasilkan:

text
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

Dua baris itu padat informasi. Mari kita bedah per bagian:

  1. 1: lo: — nomor index interface di kernel dan namanya; lo selalu menempati index 1.
  2. <LOOPBACK,UP,LOWER_UP> — flag status: jenisnya loopback, administratif menyala (UP), dan lapisan fisik juga siap (LOWER_UP).
  3. mtu 65536 — ukuran paket maksimum yang boleh lewat, khusus besar untuk loopback karena paket tidak pernah keluar dari memori.
  4. qdisc noqueue state UNKNOWN — discipline antrian kosong dan state UNKNOWN; nilai wajar untuk loopback, bukan tanda galat.
  5. link/loopback 00:00:00:00:00:00 — MAC address loopback berisi nol semua karena perangkat ini tidak berupa hardware fisik.

Format Ringkas: ip -o dan ip -br #

Untuk skrip dan sekilas cepat, ip menyediakan dua format ringkas. Opsi -o (oneline) meratakan tiap interface menjadi satu baris, dan cut mengambil kolom keduanya:

bash
ip -o link show lo | cut -d' ' -f2

Output yang Dihasilkan:

text
lo:

Opsi -br (brief) menyusun ringkasan dalam kolom: nama interface, state, MAC address:

bash
ip -br link show lo

Output yang Dihasilkan:

text
lo               UNKNOWN        00:00:00:00:00:00 <LOOPBACK,UP,LOWER_UP> 

MAC Address dan MTU #

MAC address adalah identitas 48-bit milik kartu jaringan, ditulis sebagai enam pasang heksadesimal seperti 52:54:00:c7:9a:1f. Tiga pasang pertama mengidentifikasi pabrikan, tiga pasang terakhir nomor seri dari pabrik tersebut; alamat ff:ff:ff:ff:ff:ff dikhususkan untuk broadcast. MAC dipakai untuk mengantarkan paket di dalam satu jaringan lokal — berbeda dari IP address yang dipakai antar jaringan.

MTU (maximum transmission unit) adalah batas ukuran satu paket yang boleh dikirim sekaligus. Ethernet memakai 1500 byte; nilai ini paling sering kita lihat pada interface kabel dan wifi, dan mengubahnya bisa memperbaiki atau merusak performa tergantung jaringan. Untuk detail link seperti kecepatan dan duplex, paket ethtool menyediakan perintah ethtool enp3s0 — keluarannya membaca kondisi fisik kabel yang tidak terlihat dari ip link.

Interface kini punya nama, MAC, dan MTU yang bisa kita baca. Pertanyaan berikutnya: alamat IP seperti apa yang menempel pada interface tersebut, dan bagaimana membaca notasi /24 yang menyertainya? Itu materi Chapter IP Addressing dan Subnets .

Referensi lanjut: ip(8) mendokumentasikan seluruh subcommand ip, dan wiki Arch tentang konfigurasi jaringan menjelaskan latar belakang penamaan interface modern.