Esensial IP

Membaca alamat dan antarmuka jaringan dengan ip addr serta peran localhost.

Daftar isi

Topik ini membahas cara membaca konfigurasi jaringan sebuah mesin Linux dengan perintah ip addr. Setelah membacanya, nama setiap antarmuka, arti alamat IPv4 dan IPv6 yang menyertainya, serta peran antarmuka loopback dan nama localhost dapat diuraikan langsung dari keluaran perintah tanpa bantuan alat lain.

Antarmuka dan alamat jaringan#

Kernel Linux menyajikan setiap sambungan jaringan sebagai sebuah antarmuka (interface), yaitu perangkat logis yang memiliki nama, status, dan alamat. Kartu jaringan kabel biasanya bernama eth0 pada sistem lama atau nama prediktabel seperti enp3s0 pada sistem baru, sedangkan adapter nirkabel bernama wlp2s0 dan sejenisnya. Antarmuka lo selalu berupa antarmuka loopback yang dimiliki mesin itu sendiri. Nama-nama antarmuka ini penting diingat karena setiap perintah jaringan pada jalur ini merujuk ke antarmuka lewat namanya.

Alamat jaringan ditulis dalam bentuk alamat/prefix, misalnya 192.168.1.10/24. Bagian alamat menunjukkan identitas mesin, sedangkan angka prefix menyatakan berapa bit awal yang dipakai sebagai nomor jaringan. Pada 192.168.1.10/24, dua puluh empat bit awal menjadi nomor jaringan sehingga tersisa delapan bit untuk bagian host. Alamat IPv4 ditulis sebagai empat angka desimal yang dipisahkan titik, sedangkan alamat IPv6 ditulis dalam heksadesimal yang dipisahkan titik dua. Nol yang berurutan pada alamat IPv6 boleh disederhanakan menjadi ::, misalnya fe80::f0:3fff:fee6:36cc.

Selain alamat IP, setiap kartu jaringan fisik membawa alamat MAC yang tercetak pada baris link/ether. Alamat MAC bekerja pada segmen lokal untuk mengidentifikasi perangkat keras, sedangkan alamat IP bekerja antarjaringan untuk merutekan paket sampai tujuan. Keduanya tidak saling menggantikan karena beroperasi pada lapisan yang berbeda.

Membaca keluaran ip addr#

Perintah ip addr mencetak daftar seluruh antarmuka yang dikenal kernel beserta status dan alamatnya. Blok berikut memuat keluaran nyata dari sandbox tempat jalur ini ditulis.

bash
# tampilkan seluruh antarmuka jaringan beserta alamatnya
ip addr
text Keluaran
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 forever
2: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether d2:e7:b9:99:12:89 brd ff:ff:ff:ff:ff:ff
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc pfifo state UP group default qlen 1000
    link/ether 02:f0:3f:e6:36:cc brd ff:ff:ff:ff:ff:ff permaddr 82:d5:f9:25:b9:42
    inet 21.0.7.126/32 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::f0:3fff:fee6:36cc/64 scope link 
       valid_lft forever preferred_lft forever

Setiap antarmuka diawali nomor urut dan namanya, misalnya 3: eth0. Tanda kurung sudut memuat bendera (flag) antarmuka, yaitu sifat yang aktif padanya, misalnya LOOPBACK pada lo dan BROADCAST,MULTICAST,UP,LOWER_UP pada eth0. Kata UP menyatakan antarmuka sedang aktif, sedangkan state DOWN pada dummy0 menyatakan antarmuka ada tetapi tidak beroperasi. Baris inet memuat alamat IPv4 beserta prefix-nya, dan baris inet6 memuat alamat IPv6.

Keluaran di atas berasal dari sandbox penulisan, sehingga nilai alamatnya, seperti 21.0.7.126/32, adalah nilai yang berlaku pada lingkungan tersebut dan pasti berbeda dari nilai pada mesin lain. Strukturnya tetap sama di mana pun. Antarmuka dummy0 merupakan antarmuka buatan perangkat lunak container tempat sandbox berjalan, yang tampil tanpa alamat dan berstatus DOWN. Keberadaannya menunjukkan bahwa antarmuka dapat ada tanpa alamat.

Baris inet6 pada eth0 memuat fe80::f0:3fff:fee6:36cc/64 dengan scope link. Alamat berawalan fe80:: adalah alamat link-local, yaitu alamat yang hanya sah pada segmen jaringan lokalnya. Alamat ini biasanya diturunkan dari alamat MAC oleh kernel. Pada keluaran di atas, hubungan itu dapat diverifikasi sendiri, yaitu MAC 02:f0:3f:e6:36:cc menjadi fe80::f0:3fff:fee6:36cc setelah kernel membalik satu bit pada oktet pertama dan menyisipkan ff:fe di tengahnya. Frasa valid_lft forever menyatakan masa berlaku alamat tidak dibatasi waktu.

Bentuk ringkas dan alamat milik mesin#

Untuk pemeriksaan cepat, ip -brief addr memadatkan keluaran menjadi satu baris per antarmuka tanpa menghilangkan informasi inti.

bash
# tampilkan versi ringkas satu baris per antarmuka
ip -brief addr
text Keluaran
lo               UNKNOWN        127.0.0.1/8 ::1/128 
dummy0           DOWN           
eth0             UP             21.0.7.126/32 fe80::f0:3fff:fee6:36cc/64 

Bentuk ringkas ini memuat nama, status, lalu daftar alamat yang menempel pada antarmuka tersebut. Antarmuka dummy0 tampak hanya sebagai DOWN karena memang tidak membawa alamat apa pun. Pada mesin dengan banyak antarmuka, bentuk ini lebih cepat dibaca daripada keluaran lengkap. Apabila hanya satu antarmuka yang diperiksa, penunjukan dev dapat ditambahkan, misalnya ip -brief addr show dev eth0, sehingga keluarannya menyusut menjadi satu baris.

Perintah hostname -I memberi sudut pandang lain, yaitu hanya alamat IPv4 milik mesin.

bash
# tampilkan alamat IPv4 milik mesin ini
hostname -I
text Keluaran
21.0.7.126

Perintah ini membaca data yang sama dari kernel, tetapi menyajikannya sebagai daftar alamat yang dipisahkan spasi. Bentuknya cocok untuk dipakai di dalam skrip, misalnya untuk menyimpan alamat mesin ke dalam sebuah variabel. Alamat loopback tidak ikut dicetak, sehingga keluarannya selalu menyatakan alamat mesin di jaringan sungguhan. Apabila mesin memiliki beberapa alamat IPv4, misalnya karena memakai lebih dari satu kartu jaringan, seluruhnya tercetak dalam satu baris keluaran yang sama.

Loopback dan localhost#

Antarmuka lo adalah antarmuka loopback, yaitu antarmuka virtual tempat mesin berbicara dengan dirinya sendiri. Detailnya dapat dilihat dengan menunjuk namanya secara langsung.

bash
# tampilkan detail satu antarmuka saja
ip addr show dev lo
text Keluaran
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 forever

Yang perlu dicatat dari keluaran tersebut adalah alamat 127.0.0.1/8. Angka prefix /8 berarti seluruh blok 127.0.0.0/8 dipetakan ke loopback, sehingga 127.0.0.2 sampai 127.255.255.254 juga sama-sama menunjuk mesin ini, meskipun 127.0.0.1 adalah konvensi yang paling sering dipakai. Pasangan IPv6-nya adalah ::1, dan keduanya dikenal dengan nama localhost. Kualifikasi scope host menyatakan alamat ini tidak pernah keluar dari mesin.

Sifat tersebut menjadikan loopback tempat yang tepat untuk layanan yang tidak dimaksudkan untuk diakses dari luar. Layanan yang mendengarkan pada 127.0.0.1 tetap tak terjangkau dari jaringan luar meskipun mesin memiliki alamat publik, karena paket menuju alamat tersebut tidak pernah meninggalkan mesin. Prinsip ini menjadi dasar penilaian eksposur ketika membaca daftar port yang mendengarkan dengan ss.

Kesalahan umum#

  • Menganggap baris link/ether sebagai alamat jaringan. Alamat MAC hanya bermakna pada segmen lokal dan tidak bisa dirutekan. Alamat jaringan mesin berada pada baris inet dan inet6.
  • Mencari eth0 pada sistem baru. Ubuntu dan Debian modern memakai skema nama prediktabel, misalnya enp3s0, sehingga nama tersebut mungkin tidak ada. Gunakan ip -brief addr untuk melihat nama antarmuka yang benar pada mesin yang sedang dikerjakan.
  • Menganggap 127.0.0.1 sebagai alamat mesin di jaringan. Alamat loopback tidak pernah keluar dari mesin, sehingga tidak dapat dipakai dari komputer lain. Alamat mesin di jaringan adalah alamat pada antarmuka fisik, seperti eth0 pada keluaran di atas.
  • Memakai ifconfig untuk pemeriksaan serupa. Perintah tersebut berasal dari paket net-tools yang tidak lagi dipasang secara default pada Ubuntu 24.04 dan Debian 12. Perintah ip dari iproute2 adalah penggantinya yang dikelola aktif.

Ringkasan#

  • ip addr mencetak setiap antarmuka beserta bendera statusnya, alamat MAC, serta alamat IPv4 dan IPv6 yang menempel.
  • Alamat ditulis dalam bentuk alamat/prefix, dan angka prefix menentukan ukuran jaringan di sekitar alamat tersebut.
  • ip -brief addr dan hostname -I memberikan tampilan ringkas yang lebih mudah dibaca dan dipakai di skrip.
  • Antarmuka lo menyediakan loopback 127.0.0.1 dan ::1 untuk layanan yang hanya diakses dari mesin itu sendiri.

Referensi#