Interface yang kita kenali di chapter sebelumnya belum bisa berbuat banyak sebelum alamat IP menempel padanya dan kernel tahu ke mana paket harus dikirim. Dua pekerjaan itu dikerjakan oleh satu perintah: ip. Pada Chapter ini kita pakai ip untuk memeriksa address dan routing table, memahami baris default gateway, dan melihat bagaimana kernel mencatat rute-rute khusus untuk interface lo.
iproute2: Pengganti ifconfig dan route #
Dulu, konfigurasi jaringan tersebar di banyak perintah: ifconfig untuk address, route untuk rute, netstat untuk socket. Ketiganya berasal dari paket net-tools yang pengembangannya membeku. Linux modern memakai iproute2 — satu perintah ip dengan subcommand per objek (link, addr, route), ditambah ss yang menggantikan netstat. Kebiasaan lama masih terdengar di forum, tetapi dokumentasi modern selalu menunjuk ip.
Membaca Address dengan ip addr #
Subcommand addr menampilkan alamat yang menempel pada tiap interface. Kita periksa lagi interface yang pasti identik di semua mesin:
ip addr show dev loOutput yang Dihasilkan:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft foreverBagian penting dari keluaran tersebut:
- Dua baris pertama — identitas interface, sama seperti
ip link: index, nama, flag, MTU, lalu MAC address. inet 127.0.0.1/8 scope host lo— alamat IPv4 dengan prefix/8;scope hostmenyatakan alamat ini hanya berlaku di dalam mesin sendiri.valid_lft forever preferred_lft forever— masa berlaku alamat;forevermenandakan alamat statis. Alamat hasil DHCP punya nilai sewa yang menurun — kita akan jumpai lagi di Chapter DHCP.inet6 ::1/128— pasangan IPv6 milik loopback, lengkap dengan masa berlaku yang juga kekal.
Untuk sekilas cepat, opsi -br meringkas address menjadi satu baris per interface:
ip -br addr show loOutput yang Dihasilkan:
lo UNKNOWN 127.0.0.1/8 ::1/128 Tiga kolomnya: nama interface, state, lalu alamat IPv4 dan IPv6 berdampingan.
Menambah dan Menghapus Address #
Perintah ip juga bisa mengubah konfigurasi, tetapi dua subcommand berikut membutuhkan hak root:
ip addr add 192.0.2.10/24 dev eth0
ip addr del 192.0.2.10/24 dev eth0Subcommand pertama menempelkan alamat 192.0.2.10/24 pada interface eth0; kernel langsung mengumumkannya ke jaringan lokal tanpa perlu restart. Subcommand kedua melepasnya kembali. Perubahan seperti ini bersifat sementara — hilang saat reboot — karena sistem produksi menyimpan konfigurasi jaringan di tempat lain: NetworkManager di desktop, atau file seperti /etc/network/interfaces di server Debian.
Routing Table dan Default Gateway #
Routing table adalah peta yang dibaca kernel setiap kali paket hendak dikirim: kernel mencocokkan alamat tujuan dengan daftar network di tabel, lalu memilih rute yang paling spesifik (longest prefix match). Baris default adalah jaring tangkapan semuanya — tujuan yang tidak cocok dengan rute mana pun dikirim ke gateway di alamat setelah kata via. Berikut contoh tampilan ip route show pada server dengan satu kartu Ethernet:
default via 192.0.2.1 dev eth0 metric 100
192.0.2.0/24 dev eth0 proto kernel scope link src 192.0.2.10Baris kedua lahir otomatis saat address dipasang: subnet 192.0.2.0/24 dianggap terjangkau langsung lewat eth0, tanpa perantara. Karena keluaran ip route berbeda di tiap mesin, kita latih membacanya memakai file salinan:
printf 'default via 192.0.2.1 dev eth0 metric 100\n192.0.2.0/24 dev eth0 proto kernel scope link src 192.0.2.10\n' > rute.txt
awk '$1 == "default" {print $3}' rute.txtOutput yang Dihasilkan:
192.0.2.1Bedah barisnya:
- Baris 1 (
printf ... > rute.txt): filerute.txtdiisi dua baris tipikal routing table dengan alamat contoh dari blok dokumentasi. - Baris 2 (
awk '$1 == "default" {print $3}'): awk memilih baris yang kolom pertamanyadefault, lalu mencetak kolom ketiganya — alamat gateway192.0.2.1. Pola seperti ini berguna saat skrip perlu mengetahui gateway tanpa mem-parsing manual.
Tabel local Milik Interface lo #
Kernel menyimpan rute loopback di tabel khusus bernama local. Tabel ini dibangun otomatis ketika interface mendapat alamat:
ip route show table local dev loOutput yang Dihasilkan:
broadcast 127.0.0.0 proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 proto kernel scope host src 127.0.0.1
local 127.0.0.1 proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 proto kernel scope link src 127.0.0.1 Empat rute tersebut mencakup dua jenis: baris local membuat kernel menerima paket yang ditujukan ke 127.0.0.0/8 dan 127.0.0.1, sedangkan baris broadcast mengurus pengiriman ke alamat broadcast subnet loopback. Tidak satu pun ditulis oleh administrator — semuanya konsekuensi alamat yang menempel pada lo.
Address dan rute kini terbaca. Satu kekurangan tetap ada: manusia tidak menghafal angka, dan di situlah DNS bekerja — menerjemahkan nama domain menjadi IP. Itu materi Chapter DNS .
Referensi lanjut: halaman manual ip(8)
untuk rujukan lengkap subcommand ip, dan wiki Arch tentang routing
untuk contoh kasus pengaturan rute.