RDP Monster

Cara Cek Alamat IP di Linux: ip addr, hostname -I, curl

Cara Cek Alamat IP di Linux: ip addr, hostname -I, curl

Periksa alamat IP di Linux dengan ip addr

Perintah yang menjawab "apa alamat IP saya" pada distribusi Linux modern mana pun adalah ip, dari paket iproute2. Perintah ini tersedia secara bawaan di semua distribusi besar, berjalan tanpa root, dan menjadi dasar yang dibungkus atau menggantikan perintah lain dalam panduan ini. Bentuk dasarnya menampilkan setiap antarmuka beserta seluruh alamatnya:

ip addr show
ip a            # same thing, shorter

Pada server dengan satu kartu jaringan, keluarannya terlihat seperti ini (baris masa berlaku valid_lft dipangkas):

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
    inet 203.0.113.25/24 brd 203.0.113.255 scope global eth0
    inet6 2001:db8:1::25/64 scope global
    inet6 fe80::5054:ff:fe12:3456/64 scope link

Cara membacanya:

  • Nama antarmuka. lo adalah loopback, selalu 127.0.0.1, hanya dapat diakses dari mesin itu sendiri. Kartu jaringan sesungguhnya di sini adalah eth0; dengan penamaan antarmuka yang dapat diprediksi, namanya muncul sebagai ens3, enp0s3 atau eno1, sedangkan kartu nirkabel diawali wl.
  • inet adalah alamat IPv4, inet6 adalah IPv6. Akhiran /24 adalah panjang prefiks dalam notasi CIDR, penulisan modern dari netmask 255.255.255.0.
  • scope global berarti dapat dirutekan di luar host ini; scope link (baris fe80::) hanya berlaku pada segmen jaringan yang terhubung; scope host adalah loopback.
  • state UP dengan LOWER_UP berarti antarmuka aktif dan memiliki tautan. state DOWN atau NO-CARRIER adalah penyebab paling umum sebuah antarmuka tidak memiliki alamat sama sekali.

Varian yang berguna:

ip -4 addr                  # IPv4 only
ip -6 addr                  # IPv6 only
ip -br -4 addr              # one line per interface
ip -4 addr show dev eth0    # a single interface

Bentuk ringkas (-br) adalah cara tercepat memeriksa alamat IP di Linux ketika ada beberapa antarmuka, situasi yang lazim pada VPS yang menjalankan Docker:

$ ip -br -4 addr
lo               UNKNOWN        127.0.0.1/8
eth0             UP             203.0.113.25/24
docker0          DOWN           172.17.0.1/16

hostname -I: hanya alamatnya

Ketika Anda hanya butuh alamatnya, hostname -I (huruf I besar) mencetak setiap alamat yang dikonfigurasi dalam satu baris, dipisahkan spasi, tanpa loopback dan tanpa IPv6 link-local:

$ hostname -I
203.0.113.25 2001:db8:1::25

Ada dua catatan. Huruf kecil hostname -i adalah perintah yang berbeda: ia meresolusi nama host mesin melalui /etc/hosts dan DNS, yang pada Debian dan Ubuntu biasanya menghasilkan 127.0.1.1. Selain itu hostname -I mencetak alamat tanpa urutan yang terjamin, termasuk bridge virtual seperti docker0, sehingga hostname -I | awk '{print $1}' adalah jalan pintas untuk manusia, bukan "IP utama" yang andal untuk skrip. Opsi ini bukan POSIX: Debian, Ubuntu, Fedora dan RHEL memilikinya, sedangkan image minimalis berbasis BusyBox seperti Alpine mungkin tidak.

ifconfig, nmcli dan networkctl

ifconfig (usang, net-tools)

ifconfig adalah perintah yang ditampilkan tutorial lama. Ia bagian dari net-tools, yang sudah lama dinyatakan usang dan digantikan iproute2, dan tidak lagi termasuk dalam instalasi bawaan rilis Ubuntu, Debian dan Fedora/RHEL saat ini. Jika muncul command not found, gunakan ip atau pasang paketnya:

sudo apt install net-tools     # Debian / Ubuntu
sudo dnf install net-tools     # Fedora / RHEL / Rocky / Alma
$ ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 203.0.113.25  netmask 255.255.255.0  broadcast 203.0.113.255
        inet6 fe80::5054:ff:fe12:3456  prefixlen 64  scopeid 0x20<link>

Mudah dibaca, tetapi ada batasan nyata: ifconfig hanya menampilkan satu alamat IPv4 per antarmuka. Alamat sekunder yang ditambahkan dengan ip addr add, yang lazim pada VPS dengan beberapa IP publik, tidak terlihat olehnya.

nmcli dan networkctl

Desktop dan server keluarga Fedora/RHEL mengelola jaringannya dengan NetworkManager; Ubuntu Server memakai netplan di atas systemd-networkd, dan banyak image VPS mengikuti model yang sama. Masing-masing punya alat status yang menampilkan alamat, gateway dan DNS dalam satu blok:

nmcli device show eth0
nmcli -g IP4.ADDRESS device show eth0     # NetworkManager: just the address field
networkctl status eth0                    # systemd-networkd

Flag -g (--get-values) mencetak nilai mentah dari satu field, termasuk panjang prefiks, yang praktis untuk skrip. Jika Anda tidak yakin stack mana yang dipakai mesin Anda, atau bahkan distribusi dan rilis apa yang berjalan, identifikasi versi OS dari baris perintah terlebih dahulu; jawabannya menentukan alat mana yang tersedia.

Temukan alamat IP publik Anda dengan curl

Semua di atas melaporkan alamat yang dikonfigurasi pada antarmuka. Pada sebagian besar VPS, IPv4 publik ditetapkan langsung pada antarmuka, jadi itu pula yang dilihat internet. Di rumah, di kantor atau pada sebagian cloud, antarmuka membawa alamat privat dari rentang RFC 1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) dan sebuah router atau NAT 1:1 menerjemahkannya saat keluar. Satu-satunya cara andal untuk melihat sisi publik adalah bertanya ke layanan eksternal:

curl -4 icanhazip.com
curl -4 ifconfig.me/ip
curl -4 https://api.ipify.org
curl -6 icanhazip.com          # public IPv6, if the host has one

Flag -4 dan -6 memaksa keluarga alamat, yang penting pada host dual-stack: tanpa keduanya curl bisa lebih memilih IPv6 dan mengembalikan alamat yang tidak Anda duga. icanhazip.com dioperasikan oleh Cloudflare sejak 2021 dan mengembalikan teks biasa. Bacalah jawabannya sebagai "alamat asal keluarnya trafik saya": di balik VPN atau proxy, yang muncul adalah alamat exit node, bukan alamat ISP Anda.

IPv6: global versus link-local

Hampir setiap antarmuka Linux menampilkan setidaknya satu baris inet6, dan baris itu sering dikira alamat IPv6 publik. Baris yang diawali fe80:: dan ditandai scope link adalah link-local: setiap antarmuka membuatnya otomatis, hanya berlaku pada jaringan yang terhubung, dan tidak pernah dapat dijangkau dari internet. Alamat IPv6 publik ditandai scope global dan diawali angka 2 atau 3, karena ruang global unicast adalah 2000::/3.

ip -6 addr show scope global
ip -6 route show default

Jika perintah pertama tidak mencetak apa pun, mesin tersebut tidak memiliki IPv6 yang dapat dirutekan dan curl -6 akan gagal. Alamat global tambahan yang ditandai temporary pada desktop berasal dari privacy extensions; server mematikannya agar alamat tetap stabil untuk DNS dan aturan firewall.

Gateway default, rute dan DNS

Sebuah alamat saja tidak memberi tahu apakah mesin bisa menjangkau sesuatu. Tabel routing-lah yang menjawabnya, dan ip route (bentuk singkat ip r) mencetaknya:

$ ip route
default via 203.0.113.1 dev eth0 proto static
203.0.113.0/24 dev eth0 proto kernel scope link src 203.0.113.25

Baris default via adalah gateway default, router yang dipakai setiap paket ketika tidak ada rute yang lebih spesifik. Baris kedua ditambahkan kernel saat alamat dikonfigurasi; field src-nya adalah alamat yang lebih disukai host sebagai sumber di jaringan tersebut. Trik paling berguna di sini dibangun dari situ: tanyakan kepada kernel alamat mana yang akan dipakai untuk sebuah tujuan.

$ ip route get 1.1.1.1
1.1.1.1 via 203.0.113.1 dev eth0 src 203.0.113.25 uid 1000
    cache

Nilai src tersebut, menurut definisi, adalah alamat keluar mesin menuju internet, apa pun antarmuka, bridge atau tunnel yang ada. Untuk DNS, /etc/resolv.conf tetap tempat yang perlu dilihat, tetapi pada sistem yang menjalankan systemd-resolved (Ubuntu sejak 18.04, Fedora terbaru) berkas itu hanya berisi stub lokal 127.0.0.53; resolver upstream yang sebenarnya ditampilkan oleh resolvectl status, atau oleh field IP4.DNS dari nmcli device show pada host NetworkManager.

Skrip: menyimpan alamat IP ke dalam variabel

Keluaran interaktif dirancang untuk manusia; sebuah skrip butuh satu alamat tanpa embel-embel. Pola berikut cukup tangguh, dari yang paling sederhana hingga yang paling andal:

# One interface, IPv4, prefix length stripped
IP=$(ip -4 -o addr show dev eth0 | awk '{print $4}' | cut -d/ -f1)

# Robust: the source address used to reach the internet
IP=$(ip route get 1.1.1.1 | awk '{for (i=1; i<=NF; i++) if ($i == "src") {print $(i+1); exit}}')

# Same thing with JSON output and jq
IP=$(ip -j route get 1.1.1.1 | jq -r '.[0].prefsrc')

# Public IP, with a timeout so the script never hangs offline
PUBLIC_IP=$(curl -4 -s --max-time 5 https://icanhazip.com)

Flag -o membuat ip mencetak satu alamat per baris, sehingga posisi field awk tetap aman; tambahkan head -n 1 jika antarmuka membawa beberapa alamat IPv4. Flag -j mengalihkan ip ke keluaran JSON, lalu jq mengambil field berdasarkan nama. Utamakan bentuk itu untuk apa pun yang berjalan di lebih dari satu mesin: nama antarmuka berbeda antar host, nama field tidak.

PerintahYang ditampilkanPaling cocok untuk
ip addr / ip -br -4 addrSetiap antarmuka, semua alamat, statusPenggunaan sehari-hari, gambaran lengkap
hostname -ISemua alamat dalam satu barisPengecekan sekilas
ip route get 1.1.1.1Alamat sumber yang dipakai menuju internetSkrip, host dengan banyak antarmuka
ifconfigSatu IPv4 per antarmuka (usang)Sistem lawas, tutorial lama
curl -4 icanhazip.comIPv4 publik sebagaimana dilihat internetNAT, VPN, memastikan alamat VPS

Apa yang berbeda pada VPS

Pada VPS dengan IPv4 khusus, ip -4 addr, hostname -I dan curl -4 icanhazip.com semestinya mengembalikan alamat yang sama, karena IP publik dikonfigurasi langsung pada antarmuka tanpa NAT di tengah. Ketika hasilnya berbeda, ada sesuatu di jalurnya: NAT di sisi penyedia, klien VPN yang terlupakan, atau bridge Docker yang menempati posisi pertama pada hostname -I.

Setelah alamatnya dipastikan, periksa dua hal. Pertama, apakah alamat itu benar-benar dapat dijangkau dan pada port mana, yang merupakan pertanyaan berbeda dari apakah alamat itu terkonfigurasi: periksa port yang terbuka pada server Linux Anda dari dalam dengan ss -tulpn dan dari luar dengan nmap. Kedua, reverse DNS. Cari record PTR untuk alamat Anda:

dig -x 203.0.113.25 +short

VPS baru biasanya menjawab dengan nama generik milik penyedia, atau tidak menjawab sama sekali. Jika server mengirim email atau mengekspos layanan publik apa pun, atur hostname dan reverse DNS agar keduanya cocok; email keluar khususnya rutin ditolak ketika record PTR dan nama HELO tidak sesuai.

Perintah-perintah ini paling cepat menjadi refleks pada server yang alamatnya milik Anda sendiri dan tidak berpindah. VPS Linux dari rdp.monster hadir dengan IPv4 khusus, akses root penuh, CPU dan RAM khusus, bandwidth tanpa batas (fair-use) dan tanpa KYC, dengan pembayaran kripto diterima, mulai $8.99/bulan. Server aktif sekitar 10 detik setelah pembayaran dikonfirmasi, jadi perintah ip -br -4 addr pertama Anda hanya tinggal sesaat lagi.

Pertanyaan yang sering ditanyakan

Mengapa hostname -I menampilkan lebih dari satu alamat IP?

Ia mencantumkan setiap alamat yang dikonfigurasi pada setiap antarmuka, termasuk bridge virtual.
hostname -I mencetak semua alamat pada semua antarmuka kecuali loopback dan IPv6 link-local, sehingga mesin dengan Docker, libvirt, klien VPN atau kartu jaringan kedua menampilkan beberapa alamat. docker0 menyumbang 172.17.0.1, virbr0 biasanya 192.168.122.1, dan host dual-stack menambahkan alamat IPv6 globalnya. Urutannya tidak terjamin. Ketika Anda butuh alamat asal keluarnya trafik Anda, jalankan ip route get 1.1.1.1 dan baca field src-nya.

Mengapa ifconfig menampilkan command not found di Ubuntu?

ifconfig termasuk paket net-tools, yang tidak lagi dipasang secara bawaan oleh distribusi modern.
Perintah ifconfig adalah bagian dari paket net-tools, yang dinyatakan usang dan digantikan iproute2 serta tidak ada dalam instalasi bawaan rilis Ubuntu, Debian dan Fedora/RHEL saat ini. Penggantinya adalah ip addr, yang tersedia di mana saja. Jika sebuah skrip atau kebiasaan lama benar-benar membutuhkannya, pasang paketnya dengan sudo apt install net-tools atau sudo dnf install net-tools, dengan mengingat bahwa ifconfig hanya menampilkan satu IPv4 per antarmuka dan menyembunyikan alamat sekunder yang ditambahkan dengan ip addr add.

Mengapa hostname -i mengembalikan 127.0.1.1?

Huruf kecil -i meresolusi nama host melalui /etc/hosts, tempat sistem berbasis Debian memetakannya ke 127.0.1.1.
hostname -i sama sekali tidak memeriksa jaringan: ia meresolusi nama host sistem seperti aplikasi mana pun, melalui /etc/hosts lalu DNS. Installer Debian dan Ubuntu menambahkan baris yang memetakan nama host ke 127.0.1.1 agar mesin dapat meresolusi namanya sendiri tanpa jaringan, dan baris itulah yang dikembalikan. Gunakan bentuk huruf besar, hostname -I, yang membaca alamat antarmuka sesungguhnya, atau ip -4 addr untuk detail lengkapnya.

Bagaimana cara menemukan alamat IP perangkat lain di jaringan saya?

Baca tabel neighbour dengan ip neigh, atau pindai subnet dengan nmap -sn.
Perangkat yang baru-baru ini bertukar paket dengan mesin Anda ada di cache ARP/neighbour, yang ditampilkan oleh ip neigh show (atau arp -a jika net-tools terpasang). Untuk gambaran lengkap, lakukan ping-sweep pada subnet: nmap -sn 192.168.1.0/24 mencantumkan setiap host yang menjawab, lengkap dengan nama jika reverse DNS menyediakannya. Ganti dengan jaringan Anda sendiri, yang bisa dibaca dari rute scope link pada ip route. Pada VPS hal ini jarang berguna, dan memindai alamat tetangga bisa melanggar ketentuan penyedia Anda.

Adrien Roche, Editor Infrastruktur & Hosting

Insinyur sistem yang sudah 10+ tahun mengelola server Windows Server dan Linux. Adrien mengurus dokumentasi infrastruktur rdp.monster dan menulis panduan kami tentang RDP, hosting VPS, administrasi server, jaringan, dan tool privasi.

Gabung program reseller kami

Data Anda

Jika Anda punya pertanyaan, klik di sini untuk menghubungi kami !
Nama(Wajib)
Masukkan alamat email Anda, pastikan Anda sudah punya akun di dashboard.rdp.monster !

Perusahaan Anda

Masukkan alamat situs web Anda jika ada
Ceritakan singkat cara Anda menjual layanan ke pelanggan. Misalnya, lewat obrolan di forum.

Bahkan monster pun suka cookie!

Kami memakai cookie agar penjelajahan Anda lebih nyaman, untuk menampilkan iklan atau konten yang dipersonalisasi, dan untuk menganalisis lalu lintas kami. Dengan mengklik “Terima”, Anda menyetujui penggunaan cookie oleh kami.