Sistem Nama Domain (DNS) ialah salah satu perkhidmatan asas yang berjalan dengan senyap di latar belakang — sehingga sesuatu rosak. Kemudian tiba-tiba, tiada apa yang berfungsi. Tiada tapak web, tiada e-mel, tiada panggilan API. Sama ada anda sysadmin junior atau jurutera berpengalaman, memahami cara DNS benar-benar berfungsi dan cara menyelesaikan masalah adalah kemahiran yang tidak boleh dirundingkan. Mari kita pecahkan.
Bagaimana Resolusi DNS Sebenarnya Berfungsi
Apabila anda menaip `example.com` ke dalam penyemak imbas anda, komputer anda tidak tahu di mana hendak mencarinya. Ia memerlukan alamat IP — dan itulah yang disediakan oleh DNS. Proses penyelesaian biasanya melalui langkah-langkah berikut:
- Cache Pelayar — Penyemak imbas anda menyemak sama ada ia sudah mengetahui IP daripada carian baru-baru ini.
- Cache OS — Seterusnya, cache DNS sistem pengendalian diperiksa (jalankan `ipconfig /displaydns` pada Windows atau `sudo systemd-resolve --statistics` pada Linux).
- Fail Hos Tempatan — Sistem menyemak `/etc/hosts` (atau `C:\Windows\System32\drivers\etc\hosts` pada Windows). Ini adalah penggantian statik yang memintas DNS sepenuhnya.
- Penyelesai Rekursif — Jika tiada yang setempat ditemui, pertanyaan pergi ke penyelesai DNS anda yang dikonfigurasikan (biasanya ISP anda atau penyelesai awam seperti `8.8.8.8` atau `1.1.1.1`).
- Pelayan Akar & TLD — Penyelesai bermula pada pelayan akar, kemudian meminta pelayan Domain Tahap Atas (TLD) `.com` untuk mencari `example.com`.
- Pelayan Nama Berwibawa — Akhir sekali, pelayan TLD menghala ke pelayan nama berwibawa untuk `example.com`, yang mengembalikan alamat IP sebenar.
Keseluruhan proses biasanya selesai dalam milisaat, terima kasih kepada cache yang meluas pada setiap peringkat.
```
Flush cache DNS pada Linux (systemd-resolved)
sudo resolvectl flush-caches
Semak resolusi DNS dengan menggali (paling terperinci)
gali contoh.comPertanyaan pantas menggunakan penyelesai tertentu
gali @8.8.8.8 contoh.com ```Jenis Rekod DNS yang Mesti Anda Ketahui
Setiap sysadmin harus mengenali jenis rekod penting ini:
| Jenis Rekod | Tujuan | Contoh |
|---|---|---|
| A | Petakan nama hos ke alamat IPv4 | `example.com → 93.184.216.34` |
| AAAA | Petakan nama hos ke alamat IPv6 | `example.com → 2606:2800:220:1:248:1893:25c8:1946` |
| CNAME | Alias — satu nama menunjuk kepada yang lain | `www.example.com → example.com` |
| MX | Pertukaran mel — laluan penghantaran e-mel | `example.com → mail.example.com (keutamaan 10)` |
| TXT | Menyimpan teks sewenang-wenangnya (SPF, DKIM, DMARC) | `v=spf1 termasuk:_spf.google.com ~semua` |
| NS | Pelayan nama — mewakilkan zon | `example.com → ns1.dnsprovider.com` |
| PTR | Carian terbalik — IP → nama hos | `34.216.184.93 → contoh.com` |
Isu & Penyelesaian Masalah Biasa DNS
1. Kelewatan Penyebaran DNS
Anda mengemas kini rekod DNS beberapa jam yang lalu, tetapi perubahan itu tidak kelihatan. Ini biasanya TTL (Time To Live) — penyelesai lama masih mempunyai rekod sebelumnya dicache.
```bash
Semak TTL pada rekod
gali contoh.com | grep -A1 "BAHAGIAN JAWAPAN"
Tanya pelayan nama yang berwibawa secara langsung (memintas cache)
gali @ns1.dnsprovider.com example.com ```Betulkan: Turunkan TTL kepada 60–300 saat sebelum membuat perubahan, kemudian naikkannya semula selepas penyebaran.
2. Delegasi Pelayan Nama yang salah
Pendaftar domain anda menunjuk kepada pelayan nama yang lapuk atau salah. Gunakan `whois` untuk mengesahkan:
```bash
whois example.com | grep "Pelayan Nama"
```
Pelayan nama yang disenaraikan di sini mesti sepadan dengan pembekal DNS anda yang dikonfigurasikan untuk disampaikan.
3. Carian DNS Gagal Tetapi Ping Berfungsi
Ini biasanya isu konfigurasi penyelesai, bukan masalah sambungan:
```bash
Uji menggunakan penyelesai yang berbeza
nslookup google.com
nslookup google.com 8.8.8.8
Semak konfigurasi penyelesai sistem
cat /etc/resolv.confPada sistem yang diselesaikan sistemd
status resolvectl ```Jika `ping 8.8.8.8` berfungsi tetapi `ping google.com` gagal, penyelesai DNS anda adalah masalahnya.
4. DNS Songsang (PTR) tiada
Rekod PTR sering diabaikan tetapi kritikal untuk penghantaran e-mel. Tanpa rekod PTR yang sepadan, banyak pelayan mel akan menolak e-mel anda.
```bash
Semak DNS terbalik
gali -x 93.184.216.34
```
5. Saiz Respons Besar & EDNS
Sesetengah tembok api atau penyelesai lama menyekat respons DNS yang besar (terutamanya yang didayakan DNSSEC). Ini ditunjukkan sebagai kegagalan resolusi terputus-putus — sesetengah pertanyaan berfungsi, yang lain tamat masa.
```bash
Semak jawapan terpenggal
gali +dnssec example.com | grep "bendera:"
Cari bendera "tc" (dipotong)
```
Keselamatan DNS: Nota Pantas
DNS pada asalnya direka bentuk tanpa mengambil kira keselamatan. Amalan terbaik moden termasuk:
- DNSSEC — menandatangani rekod DNS secara digital untuk mengelakkan penipuan
- DNS-over-HTTPS (DoH) / DNS-over-TLS (DoT) — menyulitkan pertanyaan DNS supaya ISP tidak dapat melihat tapak yang anda lawati
- Split-horizon DNS — pertanyaan dalaman dan luaran mengembalikan IP yang berbeza (penting untuk perkhidmatan peribadi yang boleh diakses di dalam dan di luar rangkaian anda)
Ambilan Utama
- DNS ialah sistem teragih berhierarki — memahami rantaian resolusi membantu anda nyahpepijat dengan lebih pantas
- Pengurusan TTL ialah kunci untuk melancarkan migrasi DNS
- Sentiasa sahkan dengan berbilang alatan (`gali`, `nslookup`, `whois`) dan berbilang penyelesai (`8.8.8.8`, `1.1.1.1`)
- DNS songsang lebih penting daripada yang difikirkan kebanyakan orang — terutamanya untuk e-mel dan pengelogan
- Pastikan fail hos anda bersih dan gunakan cache DNS dengan betul dan bukannya menggodam `/etc/hosts` untuk setiap perkara kecil

Infografik: Hierarki & Penyelesaian Masalah DNS
💬 0 Comments