Anda mencari zon korporat dalam konfigurasi dnsmasq klien, tidak menjumpainya, dan membuat kesimpulan bahawa VPN gagal menolak domainnya. Yang ditolak ialah petunjuk penghalaan, bukan zon. Klien merekodkan domain dan resolver yang sepatutnya menjawabnya, dan backend terurus mengubahnya menjadi pemajuan bersyarat. Mencari di tempat yang salah menghasilkan diagnosis yang yakin dan sama sekali palsu.

Apa yang diterima klien bukan apa yang ditawarkan gateway

Gateway boleh menawarkan resolver, domain dan laluan yang diperlukan untuk mencapainya, dan klien boleh menerima ketiga-tiganya atau tidak satu pun. Profil yang diimport, skrip pembantu atau dasar yang mengabaikan pilihan yang ditolak boleh membiarkan set yang diterima kosong sementara bahagian pelayan kelihatan betul. Mulakan dengan keadaan terekod klien dan bukan konfigurasi pelayan, kerana keadaan itulah yang sebenarnya diterima oleh resolver. Jika domain yang diterima tiada, tiada apa lagi yang penting. Periksa sifat DNS sambungan sebelum memeriksa mana-mana cache.

Perbezaan itu menjelaskan kebanyakan laporan tentang domain yang tidak pernah tiba. Ia ditawarkan, dan ia tidak digunakan.

Dua jenis entri domain

Sambungan boleh membawa domain carian biasa dan domain khusus laluan, dan jenis kedua bermula dengan tilde. Domain carian menghalakan pertanyaan dan membenarkan nama pendek dikembangkan, yang mudah di stesen kerja dan mengejutkan di pelayan. Domain khusus laluan menyatakan bahawa pertanyaan untuk akhiran itu harus pergi ke pelayan tertentu tanpa mengubah cara nama pendek diselesaikan. Menulis domain yang sama dalam kedua-dua cara bukan lebihan, kerana kedua-dua entri melakukan kerja yang berbeza.

Untuk ruang nama peribadi, bentuk khusus laluan biasanya yang anda mahu. Ia mengekalkan akhiran korporat menghala ke resolver korporat dan membiarkan segala-galanya.

localhost dalam resolv.conf bukan pepijat

Apabila resolver cache tempatan digunakan, fail sistem menunjuk ke alamat loopback dan tiada yang lain. Entri itu mengenal pasti pendengar tempatan, bukan pelayan huluan yang diberikan pengurus kepadanya. Alamat korporat akan sah tidak hadir daripada fail itu.

Menggantikan entri itu dengan resolver awam ialah pembetulan tersilap yang klasik. Ia memulihkan penyelesaian nama awam dan membuang dasar bersyarat dalam suntingan yang sama.

Jangan keliru antara backend

Contoh dnsmasq terurus dan resolver sistem ialah program berbeza dengan konfigurasi berbeza dan paparan status berbeza. Perintah status untuk satu tidak memberitahu apa-apa yang berguna tentang yang lain.

Tentukan backend mana yang dikonfigurasikan untuk digunakan oleh pengurus, kemudian baca konfigurasi yang dijana oleh backend itu dan bukan fail seluruh distribusi yang kebetulan wujud. Pengurus menulis konfigurasi contohnya sendiri dan menyokong pilihan tersuai untuk contoh itu, jadi menyunting fail global yang tidak berkaitan tidak mengubah apa-apa dan kelihatan seperti perubahan tanpa kesan. Menjalankan daemon kedua pada port 53 lebih buruk daripada tidak berguna, kerana kini dua program tidak bersetuju siapa yang memiliki port itu. Tetapkan pemilik dahulu, kemudian sunting di tempat pemilik itu membaca.

Uji ruang nama, bukan hanya jawapannya

Tanyakan satu nama peribadi yang dibenarkan dan satu nama kawalan awam melalui laluan biasa aplikasi. Pertanyaan langsung ke pelayan korporat membuktikan rekod itu wujud; ia tidak membuktikan klien memilih pelayan itu. Pertanyaan kedua ialah yang menguji dasar.

Kemudian ulangi selepas menyambung semula dan selepas memutuskan sambungan. Persatuan harus mengikut kitaran hayat sambungan, dan nama peribadi harus berhenti diselesaikan apabila terowong tiada, dan bukan kembali kepada resolver awam yang menjawab akhiran yang sama. Jika ia kembali, anda telah menemui kebocoran, yang merupakan kecacatan berbeza daripada carian rosak. Catatkan backend mana yang berjalan, domain mana yang digunakan dan apa yang dikembalikan oleh setiap pertanyaan.

Artikel berkaitan