DNS terbelah melalui OpenVPN: apa yang harus dilakukan domain perutean di setiap sistem operasi
Akhiran pencarian, domain perutean, dan rute IP adalah tiga hal berbeda. Tetapkan kebijakan per platform, lalu buktikan server mana yang menjawab kueri.
Setiap permintaan DNS terbelah dimulai dengan kalimat yang sama: nama perusahaan menuju DNS perusahaan, semua yang lain tetap berjalan. Mengubah kalimat itu menjadi konfigurasi berarti menjawab tiga pertanyaan per sistem operasi, dan jawabannya memakai mekanisme berbeda di masing-masing sistem. Profil yang bekerja di laptop Linux sering gagal di Windows karena alasan yang tidak ada hubungannya dengan terowongan. Kesenjangannya biasanya pengaturan resolver yang disangka rute.
Namai kebijakannya lebih dahulu, lalu pilih primitif platform yang menyatakannya.
Tiga pengaturan yang mudah tertukar
Akhiran pencarian memperluas nama pendek: mengetik files menjadi files.corp.example ketika resolver mencoba akhiran secara berurutan. Domain perutean memilih resolver mana yang menjawab kueri di dalam ruang nama. Rute IP hanya membuat resolver yang dipilih dapat dijangkau. Ketiganya hidup di lapisan berbeda, dan menukar satu dengan yang lain menghasilkan konfigurasi yang tampak benar dan tidak menyelesaikan apa pun.
Kebingungan itu berbiaya: menambahkan akhiran pencarian mengirim setiap nama pendek ke resolver kantor, termasuk nama yang seharusnya di tempat lain. Memilih domain perutean menahan kueri tak terkait di resolver lokal sambil tetap mengirim *.corp.example melalui terowongan.
Linux: domain khusus rute, bukan akhiran pencarian
Pada systemd-resolved, domain dengan awalan tilde adalah domain khusus rute, artinya kueri untuk ruang nama itu pergi ke resolver tertaut tanpa juga menjadi akhiran pencarian. resolvectl domain tun0 '~corp.example' menetapkannya, dan resolvectl dns tun0 10.8.0.1 menamai servernya. Kedua pengaturan milik antarmuka, jadi keduanya hilang bersamanya. Tilde adalah bagian yang orang lewatkan, dan tanpanya nama pendek mulai diselesaikan lewat resolver kantor.
Jangan juga memasang domain yang sama sebagai akhiran pencarian global. Kedua pengaturan tidak berlebihan; yang satu merutekan dan yang lain menulis ulang apa yang Anda ketik.
Windows membutuhkan kebijakan ruang nama, bukan akhiran
Windows menyimpan kebijakan DNS terbelah di Name Resolution Policy Table, bukan di akhiran DNS adaptor. Sebuah aturan memetakan ruang nama ke server tertentu: Add-DnsClientNrptRule -Namespace .corp.example -NameServers 10.8.0.1. Menyetel akhiran saja mengubah tampilan nama pendek; itu tidak mengarahkan kueri ke server lain.
Periksa kebijakan efektif dengan Get-DnsClientNrptPolicy setelah terhubung, karena aturan dari koneksi sebelumnya bisa bertahan lebih lama daripada terowongan. Hapus aturan berdasarkan nama saat terowongan putus, dan jaga nama tampilan tetap stabil agar pembersihan mengenai entri yang benar.
Pertahankan satu pemilik resolver per platform
Manajer desktop, skrip up OpenVPN, dan daemon resolver lokal semuanya bisa mencoba menulis konfigurasi yang sama. Saat mereka tidak sepakat, penulis terakhir menang dan hasilnya bergantung pada urutan pembongkaran. Pilih satu komponen untuk memiliki keadaan resolver, biarkan yang lain melapor alih-alih menulis, dan uji sambung ulang: kebijakan harus bertahan tanpa menggandakan aturan. Uji juga pemutusan, karena sisa keadaan itulah yang membuat koneksi berikutnya berperilaku berbeda.
Aplikasi yang membawa resolver terenkripsi sendiri mengabaikan kebijakan sistem operasi sepenuhnya. Itu sifat aplikasi, bukan cacat pada terowongan.
Periksa hasilnya, bukan teks profil
Selesaikan satu nama yang harus melewati terowongan dan satu yang tidak, di setiap platform, lalu pastikan server mana yang menjawab. resolvectl query host.corp.example dan Resolve-DnsName host.corp.example keduanya melaporkan server yang merespons. Ulangi setelah sambung ulang. Kemudian pastikan resolver terowongan dapat dijangkau di alamat yang didorong profil, karena kebijakan benar yang menunjuk ke server tak terjangkau gagal sama seperti tanpa kebijakan.
Catat perilaku yang dimaksud di catatan profil: akhiran mana yang merutekan, server mana yang menjawabnya, dan apa yang terjadi pada semua yang lain. Platform berikutnya yang Anda dukung akan lebih membutuhkan kalimat itu daripada berkas konfigurasi.