Nama internal berhasil diresolusi, dan server yang sama menjawab nama eksternal dengan penolakan soal rekursi. Kombinasi itu bukan kontradiksi. Menerbitkan zona sendiri dan meresolusi seluruh internet adalah dua layanan terpisah yang dapat ditawarkan server, dan server dapat melakukan yang pertama tanpa yang kedua. Perlakukan penolakan sebagai pernyataan kebijakan, lalu periksa apakah kebijakan itu cocok dengan desain.

Penolakan dan timeout adalah jawaban yang berbeda

Catat nama, tipe kueri, server yang menjawab, status, dan record yang dikembalikan. Peringatan rekursi tidak otomatis membatalkan jawaban otoritatif yang datang bersamanya. Tuliskan status sebelum menafsirkannya. Status yang direkonstruksi dari ingatan satu jam kemudian adalah fakta yang berbeda.

Header DNS membawa permintaan rekursi dan indikasi apakah server menyediakannya, dan spesifikasi protokol menjaga flag itu terpisah dari data jawaban. Karena itu sebuah jawaban bisa berguna dan tetap membawa keluhan. Timeout, jawaban negatif, dan penolakan adalah tiga hasil berbeda. Masing-masing menunjuk lapisan berbeda, dan hanya penolakan yang merupakan server memberi tahu Anda soal kebijakan.

Baca kode status lebih dulu, lalu putuskan apakah peringatan itu penting untuk kueri ini. Jawaban otoritatif yang menyebut zona tetap dapat dipakai meski bit rekursif ditolak. Penolakan tanpa jawaban adalah hasil kebijakan, bukan jalur paket yang rusak.

Apa yang dicatat resolver sebagai sumber Anda

Klien bisa datang dari kumpulan alamat di luar rentang rekursif yang diizinkan server, atau terjemahan bisa membuatnya tampak seperti gateway. Alamat adapter klien sendiri bukan bukti tentang apa yang diterima resolver. Tanyakan sumber yang teramati kepada administrator server alih-alih menyimpulkannya dari sisi Anda di jalur. Kedua alamat bisa berbeda pada setiap hop yang menerjemahkan.

Kueri nama yang sama dari klien dan dari host yang sudah dipercaya server. Selisih antara kedua jawaban adalah kondisi sumber, dan itu lebih berguna daripada salah satu jawaban saja.

dig +short host.corp.example
dig +short example.com

Jika penerapan menginginkan rekursi untuk klien VPN, administrator mengizinkan rentang sumber yang sesuai melalui kontrol server sendiri. Membuka rekursi ke semua jaringan agar satu pengujian lolos adalah perubahan yang jauh lebih besar daripada yang sedang diuji. Tuliskan rentang yang diizinkan di samping aturan, karena peninjau berikutnya akan bertanya sumber mana yang seharusnya dilayani kebijakan. Rentang sumber tanpa pemilik adalah cara pengujian sementara menjadi permanen.

DNS terpisah adalah desain, bukan gangguan

Sebagian penerapan hanya mengirim domain kerja ke resolver privat dan sisanya ke resolver lain yang disetujui. Itu adalah desain perutean kueri, dan bukan bukti bahwa server privat perlu kebijakan yang lebih longgar. Dalam desain itu, nama eksternal yang gagal melalui resolver privat adalah hasil yang dimaksudkan, bukan gangguan. Penolakan adalah desain yang bekerja, bukan gejala yang harus diredam.

Resolver publik dapat memulihkan perambatan sambil merusak nama internal atau mengirim kueri privat ke tempat yang seharusnya tidak dituju. Tuliskan perilaku yang dimaksudkan sebelum mengubah alamat resolver apa pun.

Verifikasi kebijakan dengan dua kueri

Setelah koreksi yang dimaksudkan, kueri nama privat yang diizinkan dan nama eksternal dari klien sebenarnya. Yang kembali seharusnya sesuai dengan yang dijanjikan kebijakan, bukan hanya diagnostik yang lebih sunyi. Catat server yang menjawab pada setiap jawaban, lalu bandingkan pasangan itu dengan kebijakan. Perbandingan itulah pengujiannya, dan satu pencarian yang berhasil bukan.

resolvectl query host.corp.example
resolvectl query example.com

Jika nama privat bekerja dan nama publik ditolak, kebijakan melakukan apa yang dikatakannya. Jika nama privat juga gagal, masalahnya ada pada zona, rute, atau otorisasi sumber, dan rekursi adalah pengalih perhatian. Kedua hasil berguna, dan masing-masing menyingkirkan separuh hipotesis yang tersisa.

Baca penolakan sebagai bukti

Penolakan adalah jawaban. Artinya server menerima kueri dan menolak melakukan pekerjaan yang diminta, yang berbeda dari paket yang tidak pernah tiba. Perbedaan itulah seluruh diagnosisnya. Catat sebagai jawaban, bukan sebagai kegagalan konektivitas.

Perbedaan itu memberi tahu Anda ke mana harus melihat: log server, kebijakan aksesnya, dan sumber yang dicatatnya. Perubahan firewall tidak dapat memperbaiki penolakan kebijakan, dan perubahan kebijakan tidak dapat memperbaiki rute yang hilang. Pisahkan kedua hipotesis sampai salah satunya punya bukti.

Tuliskan hasil dan pemilik kebijakan ke dalam tiket, agar orang berikutnya mulai dari keputusan, bukan dari peringatan. Sebutkan rentang sumber yang diizinkan dan dua nama yang Anda uji. Tiket dengan tiga fakta itu dapat dijalankan ulang; tiket yang mengatakan "rekursi rusak" tidak bisa.

Artikel terkait