Squid Split DNS: merutekan domain privat melalui resolver yang tepat
Rutekan ruang nama DNS privat dan publik secara sengaja alih-alih memberi Squid daftar resolver yang ambigu.
Menempatkan resolver internal lebih dulu dan resolver publik di urutan kedua tidak memberi tahu Squid nama mana yang termasuk ruang nama mana.
Di Squid 6 dan 7, dns_nameservers menggantikan daftar resolver biasa dengan alamat server. Sintaksnya tidak memiliki pemetaan per domain. Jawaban negatif yang sah juga berbeda dari resolver yang tidak dapat dijangkau, jadi alternatif bukan cara yang andal untuk menelusuri ruang nama yang tidak kompatibel.
Rutekan kueri berdasarkan domain
Forwarder DNS lokal dapat menyatakan kebijakan yang hilang. Dalam konfigurasi dnsmasq yang ada, sufiks privat dapat dirutekan seperti ini:
server=/internal.example/192.0.2.53
Ganti domain dan alamatnya. Konfigurasikan upstream bawaan yang disetujui untuk nama lain, listener yang sesuai, dan pembatasan akses. Lalu arahkan Squid ke resolver tersebut dengan konfigurasi yang didukung versi terpasang.
Sebagai alternatif, gunakan layanan DNS organisasi yang menyelesaikan kedua ruang nama dengan benar. Hindari fallback publik yang mengekspos nama privat tanpa mampu menjawabnya.
Jika proxy induk melakukan pencarian tujuan, hop itu memerlukan ruang nama privat. Resolver pada host Squid lokal tidak akan memperbaiki pencarian proxy induk.
Periksa juga kasus negatif
Pilih nama privat yang valid, nama publik yang valid, dan nama privat yang tidak ada. Untuk masing-masing, identifikasi upstream yang dimaksud dan apakah jawaban yang diharapkan berupa alamat atau respons negatif. Kasus terakhir mengungkap fallback publik yang tidak disengaja setelah jawaban negatif internal.
Sertakan keluarga alamat yang dibutuhkan klien. Pencarian A yang berhasil tidak membuktikan bahwa AAAA mengikuti kebijakan atau mengembalikan tujuan yang dapat dijangkau. Catat juga status cache: jawaban tersimpan dapat menyembunyikan upstream mana yang akan dipilih kueri baru.