Anda menulis satu baris dengan alamat penyelesai dan domain syarikat, mengharapkan hanya nama dalam domain itu menggunakan penyelesai terowong. Pada klien Apple, semua nama kini pergi ke sana, dan nama pendek dalam domain itu juga diselesaikan. Baris itu melakukan dua perkara berasingan, dan hanya satu daripadanya tentang pertanyaan mana yang dikendalikan oleh terowong. Yang satu lagi ialah kemudahan menaip yang dinaikkan taraf menjadi dasar oleh bacaan yang berharap.

Apa yang baris DNS dihuraikan menjadi

Klien membaca entri sebagai senarai dan mengelaskan setiap item mengikut bentuknya. Apa sahaja yang kelihatan seperti alamat menjadi pelayan DNS; apa sahaja yang kelihatan seperti domain menjadi akhiran carian. Kedua-duanya berakhir dalam tetapan terowong, tetapi dalam medan yang berbeza. Baris contoh untuk terowong yang membawa penyelesai peribadi dan satu domain dalaman kelihatan seperti ini.

DNS = 10.24.8.53, lab.internal.example

Alamat menyediakan penyelesai. Domain menyediakan akhiran yang membolehkan klien menaip nama pendek dan sistem menambah selebihnya sebelum bertanya. Kedua-duanya tidak mengatakan apa-apa tentang mengehadkan penyelesai kepada domain itu, dan itulah bahagian yang orang harapkan tetapi tidak dapat. Hanya satu medan pada platform boleh menyatakan sekatan itu, dan ia bukan medan ini.

Dua medan Apple, dua tugas berbeza

Apple mendedahkan perbezaan itu dalam objek tetapan DNSnya. Senarai domain carian didokumenkan sebagai senarai yang digunakan untuk melayakkan nama hos satu label: taip nama hos kosong dan sistem boleh menambah setiap akhiran secara bergilir. Itu peraturan penyempurnaan, bukan peraturan penghalaan. Tiada apa-apa dalam senarai itu menentukan pelayan mana yang ditanya.

Senarai domain padanan ialah sifat yang berbeza. Ia menentukan ruang nama mana yang menggunakan set tetapan DNS ini, dan entri kosong bermaksud domain lalai dan bukan satu akhiran tertentu. penjana tetapan terowong paket pada klien Apple mengikut model itu. Ia meletakkan akhiran carian yang dihuraikan ke dalam senarai carian, dan apabila ada pelayan, ia menetapkan senarai padanan kepada rentetan kosong. Hasilnya ialah penyelesai terowong yang menjawab semua yang dihantar oleh sistem kepadanya, serta akhiran yang membantu dengan nama pendek.

Jadi domain pada baris itu bukan pemilih ruang nama. Menambah satu lagi tidak menyempitkan pertanyaan yang digunakan oleh terowong, dan membuangnya juga tidak meluaskannya. Satu-satunya perkara yang berubah ialah berapa banyak nama pendek disempurnakan.

Mengapa setiap nama masih sampai ke penyelesai terowong

Dengan entri padanan kosong, terowong ialah penyelesai calon untuk nama biasa, bukan hanya untuk domain syarikat. Dalam konfigurasi terowong penuh ini biasanya tidak banyak bermakna, kerana semua trafik memang berada dalam terowong. Dalam terowong berpecah ini sangat bermakna. Nama awam kini boleh diselesaikan oleh penyelesai yang hanya menyimpan zon peribadi, dan kegagalan kelihatan seperti VPN rosak sedangkan ia sebenarnya penyelesai yang hanya menjawab sebahagian ruang nama. Terowong itu baik, pertanyaan keluar, dan jawapan kembali kosong.

Ada dua pembaikan dan kedua-duanya keputusan yang berbeza. Jadikan penyelesai terowong penyelesai lengkap yang memajukan nama awam melalui laluan yang diluluskan, atau berhenti menghantar nama awam ke sana dengan menukar konfigurasi klien dan bukan senarai domain. Yang pertama mengekalkan setiap pertanyaan pada terowong dan mempercayai huluan. Yang kedua mengekalkan beberapa pertanyaan secara setempat dan menerima bahawa nama peribadi mungkin berhenti diselesaikan semasa terowong dimatikan.

Apa yang sebenarnya diperlukan oleh DNS berpecah

Dasar penyelesai terhad kepada ruang nama memerlukan klien yang membolehkan anda menyatakannya: padankan domain pada platform Apple, atau tetapan setara dalam produk yang anda gunakan. Medan konfigurasi yang hanya menerima pelayan dan akhiran tidak boleh menyatakannya, tidak kira bagaimana ia ditanda baca. Profil boleh membawa dasar itu kerana ia menerangkan konfigurasi terurus dan bukan petunjuk pada masa sambungan. Ia boleh menamakan domain, pelayan dan apa yang patut berlaku apabila domain itu tidak dapat dicapai. Itulah perbezaan antara tetapan dan kontrak.

Pada peranti Apple terurus ini biasanya dihantar melalui profil konfigurasi yang membawa tetapan DNS khusus domain. Itu mekanisme berbeza daripada fail konfigurasi WireGuard, dan kedua-duanya hanya boleh wujud bersama jika klien menghormati profil itu. Periksa apa yang sebenarnya dipanggil oleh klien anda untuk medan itu sebelum menganggap kedua-dua produk berkelakuan sama. Skrip wg-quick pada Mac dan aplikasi WireGuard pada iPhone membaca baris yang serupa dan memasangnya melalui lapisan yang berbeza.

Baca tetapan yang dipasang, bukan konfigurasi

Pada Mac anda boleh memeriksa apa yang akhirnya dicapai oleh sistem, yang lebih bermaklumat daripada membaca semula fail yang anda tulis. Senarai penyelesai menunjukkan pelayan mana yang dikonfigurasi untuk domain mana, dan pertanyaan berskop menunjukkan mana yang menang. Klien yang merosakkan baris itu menunjukkannya di sini dan bukan dalam fail yang anda tulis. Pada iOS tiada baris perintah yang setara, jadi buktinya di sana ialah hasil: nama peribadi yang diselesaikan melalui terowong, dan nama awam yang jawapannya mendedahkan penyelesai mana yang menjawab.

scutil --dns | grep -A3 resolver
networksetup -getdnsservers Wi-Fi

Kedua-dua arahan ini mencetak konfigurasi penyelesai semasa dan pelayan DNS untuk perkhidmatan aktif. Jika penyelesai terowong muncul sebagai penyelesai lalai tanpa sekatan domain, konfigurasi itu melakukan tepat apa yang diminta oleh klien. Betulkan dengan menukar mekanisme, bukan dengan menambah akhiran kedua dan berharap tingkah laku berubah.

Artikel berkaitan