Masalah jaringan selalu datang di waktu yang paling sibuk: server tidak bisa dihubungi, nama domain seperti menghilang, atau aplikasi menolak terhubung ke database. Dalam situasi seperti itu kita butuh meja rujukan, bukan bab teori yang panjang. Chapter ini mengumpulkan perintah pemeriksaan jaringan yang paling sering dipakai, nomor port yang biasa muncul di output ss dan log firewall, rentang alamat IP privat, serta file konfigurasi jaringan yang penting di keluarga Debian. Pembahasan mendalam tiap topik tetap tinggal di Section Networking
— chapter ini dirancang untuk dibuka cepat saat sedang mendiagnosis.
Perintah Jaringan untuk Pemeriksaan Harian #
Tujuh perintah berikut menutup hampir seluruh kebutuhan pemeriksaan jaringan sehari-hari, dan semuanya tersedia secara bawaan di distro server umum. Tabel ini merangkum bentuk pemakaian yang paling sering kita butuhkan. Contoh alamat memakai blok dokumentasi 192.0.2.x — di komputer pembaca, ganti dengan alamat nyata jaringan masing-masing.
| Perintah | Contoh pemakaian | Informasi yang diberikan |
|---|---|---|
ip addr | ip addr show | Alamat IP dan status tiap interface |
ip route | ip route | Tabel routing beserta default gateway |
ip link | ip link set enp3s0 up | Melihat dan mengubah status interface |
ss | ss -tlnp | Port TCP yang sedang mendengar beserta proses pemiliknya |
ping | ping -c 3 192.0.2.1 | Konektivitas dan latensi ke satu host |
dig | dig +short example.com | Hasil resolusi DNS untuk sebuah nama |
curl | curl -I https://example.com/ | Header respons HTTP dari satu URL |
Perintah ip dan ss berasal dari paket iproute2, pengganti resmi tool lama ifconfig, route, dan netstat yang masih sering muncul di tutorial lawas. Pola diagnosisnya adalah memisahkan lapisan masalah: ping membuktikan konektivitas IP, sedangkan dig membuktikan resolusi nama. Bila ping 192.0.2.1 berhasil tetapi ping example.com gagal, masalahnya hampir pasti ada di DNS, bukan di kabel atau routing. Pembahasan lengkap tiap perintah ada di chapter ip dan routing
, ss dan netstat
, serta curl dan wget
; opsi lengkapnya tercantum di halaman manual ip(8)
dan ss(8)
.
Port dan Layanan yang Sering Muncul #
Nomor port adalah alamat pintu tempat sebuah layanan mendengarkan koneksi. Saat membaca output ss -tlnp, aturan firewall, atau pesan error aplikasi, kita perlu segera mengenali port mana milik layanan apa. Tabel berikut memuat port yang paling sering muncul di server dan di kehidupan sehari-hari administrator.
| Port | Protokol | Kapan muncul |
|---|---|---|
| 20–21 | FTP | Transfer file ke server FTP lama; kini jarang karena lalu lintasnya tidak terenkripsi |
| 22 | SSH | Login remote terenkripsi; ssh, scp, dan rsync lewat sini |
| 25 | SMTP | Mail server menerima kiriman dari server lain |
| 53 | DNS | Resolusi nama, berjalan di atas TCP dan UDP |
| 80 | HTTP | Web tanpa TLS; umumnya hanya untuk redirect ke 443 |
| 443 | HTTPS | Web terenkripsi, port utama internet modern |
| 3306 | MySQL | Klien menghubungi server database MySQL atau MariaDB |
| 5432 | PostgreSQL | Klien menghubungi server database PostgreSQL |
| 5900 | VNC | Remote desktop VNC untuk display :0 |
| 631 | CUPS | Antrean printer dan halaman administrasi CUPS |
| 3389 | RDP | Remote desktop Windows; di Linux diwakili xrdp |
Sistem menyimpan pemetaan ini di file /etc/services, sehingga pencarian dua arah tetap bisa dilakukan tanpa jaringan. Potongan berikut mencari nama layanan untuk beberapa port TCP, lalu memakai getent untuk arah sebaliknya — mencari port dari nama layanan:
awk '$2 ~ /^(22|53|443|3306|5432)\/tcp$/ {printf "%-8s %s\n", $2, $1}' /etc/services
getent services ssh domainOutput yang Dihasilkan:
22/tcp ssh
53/tcp domain
443/tcp https
3306/tcp mysql
5432/tcp postgresql
ssh 22/tcp
domain 53/tcpMari kita bedah baris per barisnya:
- Baris 1 (
awk ...): memindai/etc/servicesbaris demi baris. Kolom kedua file itu berisi gabunganport/protokolseperti22/tcp, sehingga pola^(22|53|443|3306|5432)\/tcp$hanya meloloskan baris TCP pada kelima port tersebut, laluprintfmencetak port dan nama layanannya berdampingan. - Baris 2 (
getent services ssh domain): bertanya ke database layanan sistem lewat mekanisme name service switch, lalu mencetak port untuk dua nama layanan — bentuk yang berguna saat menulis aturan firewall berdasarkan nama, bukan angka.
Perhatikan bahwa awk membaca teks file secara langsung, sedangkan getent bertanya lewat jalur yang dikendalikan /etc/nsswitch.conf — file yang kita bahas sebentar lagi. Satu fakta tambahan yang berguna: port di bawah 1024 disebut port istimewa dan hanya bisa didengari oleh proses root, itulah sebabnya web server bisa memakai 80 dan 443 tanpa konfigurasi tambahan.
Rentang Alamat IP Privat RFC 1918 #
Dokumen RFC 1918 menyisihkan tiga blok alamat khusus untuk jaringan privat — alamat yang tidak di-route di internet publik dan dipakai di balik NAT. Mengenali ketiganya membantu kita cepat menyimpulkan posisi sebuah alamat: 10.2.1.5 hampir pasti server internal, sedangkan 203.0.113.5 adalah alamat publik.
| Blok | Rentang alamat | Jumlah alamat | Pemakaian tipikal |
|---|---|---|---|
10.0.0.0/8 | 10.0.0.0 – 10.255.255.255 | 16.777.216 | Jaringan korporat besar |
172.16.0.0/12 | 172.16.0.0 – 172.31.255.255 | 1.048.576 | Jaringan menengah; jaringan bawaan Docker ada di 172.17.x.x |
192.168.0.0/16 | 192.168.0.0 – 192.168.255.255 | 65.536 | Rumah dan kantor kecil, default router konsumen |
Dua rentang lain juga penting dikenali. Alamat 127.0.0.1 (loopback) selalu berarti “komputer ini sendiri” — service yang hanya mendengarkan di 127.0.0.1 tidak bisa dihubungi dari mesin lain. Rentang 169.254.0.0/16 (link-local) lebih sering muncul sebagai gejala: bila sebuah interface mendapat alamat 169.254.x.x, hampir pasti permintaan DHCP gagal dan interface tidak mendapat konfigurasi. Adapun alamat contoh 192.0.2.x yang dipakai di seluruh course ini berasal dari blok dokumentasi TEST-NET-1 yang tidak pernah di-route.
File Konfigurasi Jaringan yang Penting #
Empat file berikut mengendalikan bagaimana sistem memandang nama dan alamat. Semuanya berupa teks polos yang bisa dibaca dengan cat dan diperiksa dengan grep, dan tiga di antaranya berpengaruh langsung pada urutan lookup nama.
| File | Isi | Efek ketika berubah |
|---|---|---|
/etc/hosts | Pemetaan nama ke IP secara statis | Lookup nama lokal memeriksa file ini lebih dulu |
/etc/resolv.conf | Daftar DNS server yang dipakai | Menentukan ke mana query DNS dikirim |
/etc/nsswitch.conf | Urutan sumber lookup nama | Mengatur apakah files atau dns yang menang |
/etc/hostname | Nama komputer | Identitas mesin di prompt dan jaringan |
Baris hosts: files dns di nsswitch.conf berarti /etc/hosts diperiksa sebelum query DNS dikirim — trik lama untuk mengarahkan sebuah nama ke alamat lain saat menguji service. Baris services: pada file yang sama adalah jalur yang dipakai getent services pada demo di atas.
Perintah umum di luar jaringan dirangkum di chapter Referensi Command , sedangkan tabel permission ada di Referensi Permissions . Dengan sisi jaringan terpetakan, chapter berikutnya memetakan sisi otomasi: rujukan sintaks Bash mulai dari variabel spesial, operator test, ekspansi parameter, hingga idiom skrip yang sudah teruji.