Menambah rekod SRV pada zon anda tidak mengajar mana-mana klien VPN untuk mencarinya. Klien mesti mengetahui label itu, memutuskan untuk menghantar pertanyaan dan bertindak mengikut apa yang kembali, dan DNS tidak dapat menyediakan dua perkara pertama itu. Oleh itu kebanyakan rancangan SRV yang gagal ialah masalah klien yang memakai kostum DNS. Baca dahulu tingkah laku penemuan klien, kemudian terbitkan hanya label yang benar-benar ditanyanya.

Rekod yang tiada siapa menanya tidak dapat membantu sesiapa

SRV menerbitkan lokasi sesuatu perkhidmatan; ia tidak mengumumkannya. Tiada apa-apa menolak rekod kepada klien, dan tiada penyelesai menawarkan nama yang tidak pernah diminta. Carian bermula apabila aplikasi memutuskan untuk melakukannya, jadi label itu mesti datang daripada dokumentasi produk atau daripada pemerhatian perisian di rangkaian. Di mana klien tiada langkah penemuan, rekod mengubah zon dan tiada yang lain.

Itulah sebabnya satu produk dalam rangkaian boleh mula berfungsi manakala yang lain tidak terjejas oleh perubahan yang sama. Pemboleh ubahnya ialah perisian, dan pelayan DNS melakukan tepat apa yang diberitahu kepadanya. Baca semula zon selepas suntingan juga, kerana label yang tersalah taip mudah tersembunyi antara rekod yang semuanya kelihatan sama.

Baca medan sebelum menulisnya

Rekod membawa empat nilai, dan setiap satu menjawab soalan yang berbeza: keutamaan menyusun sasaran yang boleh dicuba klien, berat membahagikan beban antara sasaran yang sama keutamaan, port menamakan port pengangkutan, dan sasaran menamakan hos. Spesifikasi juga membenarkan sasaran . bermaksud perkhidmatan itu sengaja tidak tersedia, yang merupakan jawapan berguna dan bukan jawapan rosak.

Tiada satu pun medan itu membawa kelayakan, dasar sijil atau versi aplikasi, dan klien yang mengabaikan berat tetap bersambung, cuma tanpa keseimbangan yang dimaksudkan. Sasaran memerlukan rekod alamatnya sendiri, dan ia sepatutnya nama kanonik dan bukan alias. Menerbitkan rekod yang menunjuk ke hos tanpa pendengar menghasilkan ralat sambungan yang dibaca seperti kerosakan DNS, dan itulah jenis sesatan yang paling mahal. Terbitkan seluruh rantaian atau tiada langsung daripadanya.

Cari label yang benar-benar dihantar oleh klien

Tetapkan label berdasarkan bukti dan bukan tekaan tentang nama produk. Sama ada dokumentasi menyatakan nama perkhidmatan, atau tangkapan menunjukkan pertanyaan yang keluar daripada klien apabila ia bermula. Kedua-dua jalan berakhir di tempat yang sama: nama dan jenis yang tepat untuk diuji terhadap penyelesai.

dig +short SRV _vpn._tcp.gw.example
dig +short A edge2.gw.example
tcpdump -ni any udp port 53

Bandingkan jawapan dengan rekod yang anda terbitkan, aksara demi aksara, kerana garis bawah dan titik di hujung ialah sebahagian daripada nama. Jawapan kosong kepada pertanyaan yang benar-benar dihantar menunjukkan zon, manakala ketiadaan pertanyaan sama sekali menunjukkan klien, dan penemuan itu menghantar anda kepada pasukan yang berbeza. Jawapan sebenar kelihatan seperti baris di bawah, di mana keutamaan 20 kalah kepada mana-mana rekod berkeutamaan lebih rendah dan klien mendail port 8443 pada sasaran yang dinamakan.

_vpn._tcp.gw.example. 600 IN SRV 20 10 8443 edge2.gw.example.

Sasaran juga mesti wujud

Sasaran yang diselesaikan bukan sama dengan perkhidmatan yang menjawab. Periksa rekod alamat untuk sasaran, kemudian periksa bahawa ada sesuatu yang mendengar pada port dan protokol yang diterbitkan. Rekod TCP yang menunjuk kepada pendengar hanya UDP ialah ketakpadanan yang tidak dapat dibaiki oleh sebarang suntingan zon. Kekalkan TTL pendek selagi sasaran berubah-ubah, dan panjangkannya apabila nama berhenti bergerak.

Klien yang benar-benar melaksanakan penemuan berbeza dari segi berapa banyak rekod yang mereka hormati. Ada yang menggunakan keutamaan sahaja, ada yang menganggap berat sebagai nasihat, dan segelintir mengabaikan port serta menganggap nilai lalai. Perbezaan itu tergolong dalam nota anda di sebelah label, kerana ia menjelaskan tingkah laku yang jika tidak kelihatan seperti kerosakan penyelesai.

Penemuan bukan pengesahan

Jawapan SRV memberitahu ke mana hendak bersambung, dan ia tidak berkata apa-apa tentang siapa yang harus dipercayai setelah tiba. Biarkan pengesahan sijil dan pemeriksaan identiti pelayan klien tepat seperti asalnya, kerana rekod yang boleh dipalsukan orang lain tidak sepatutnya menjadi keputusan kepercayaan. Jawapan DNS boleh dicache dan disunting oleh sesiapa yang mengawal zon, yang menjadikannya tempat buruk untuk mengekod dasar.

Bagi klien tanpa sokongan penemuan, edarkan profil atau URL gateway yang diterimanya, dan catat produk mana menggunakan kaedah mana. Nota itu menghalang pentadbir seterusnya daripada menambah rekod dan mengharapkan ia berfungsi di mana-mana. Spesifikasi SRV menerangkan pemilihan antara sasaran, dan membacanya sebagai mekanisme kebenaran ialah cara rekod yang membantu menjadi andaian keselamatan. Terbitkan dengan sengaja, namakan label dalam dokumentasi anda, dan layan klien sebagai komponen yang menentukan sama ada semua itu penting.

Artikel berkaitan