Kami memiliki domain DNS kami dengan CNAME 5 tingkat karena alasan historis. Beberapa hal mendapat outsourcing untuk ketersediaan tinggi dll. Tapi bukan itu intinya di sini. Pertanyaan saya adalah memiliki 5 CNAME berlebihan untuk resolver DNS? Saya tidak dapat menemukan situs web terkenal dengan lebih dari 2-3 CNAME bersarang level yang menunjuk ke berbagai domain DNS.
Hop CNAME kami terlihat sebagai berikut: (Saya menggunakan xyz hanya sebagai contoh)
www.xyz.com -> xyz.akadns.net -> xyz.worldwide.akadns.net -> xyz.cedexis.net -> xyz.msedge.net -> host1.msedge.net (final A \ AAAA record)
Saya melihat banyak klien mengeluh tentang masalah resolusi DNS ke situs web kami ketika situs lain berfungsi dengan baik untuk mereka, meskipun ketika saya menggunakan http://check-host.net/check-dns?host=www.xyz.com untuk menguji DNS kami resolusi.
Tampaknya selalu berfungsi dengan baik di seluruh dunia. Kesimpulan saya adalah bahwa kebanyakan penyedia ISP lokal resolver DNS mengacaukan ketika salah satu Hop di atas gagal untuk menyelesaikan. nslookup gagal pada komputer klien ini hanya untuk situs web kami dan itu juga secara sporadis.
Apakah CNAME multi level seperti ini merupakan desain yang buruk secara umum?
sumber
Jawaban:
CNAME ke rantai CNAME tidak dilarang tetapi karena Anda sudah mengalaminya, itu bukan solusi yang sangat kuat.
Setiap CNAME tambahan meningkatkan kedalaman rekursi untuk resolver, dan kedalaman itu tidak selalu tanpa batas. Anda juga berisiko membuat loop, atau memicu algoritma deteksi loop.
Untuk mendapatkan kesan tentang berapa banyak dan kueri mana yang perlu dilakukan server nama pengguna Anda, jalankan jejak DNS:
atau di Windows
sumber
HBrujin benar, tetapi sebenarnya kedalaman rekursi jauh lebih buruk daripada apa pun
dig +trace
yang akan ditunjukkan kepada Anda. Kedalaman rekursi adalah sesuatu yang sering dicemooh dan terlalu diremehkan, tetapi orang-orang itu lupa bahwa Anda tidak hanya menyelesaikan ~ 5CNAME
catatan. Ini karena menyelesaikan targetCNAME
catatan menciptakan kebutuhan untuk mencari setiap server nama di jalan, yang sering lebih banyak daripada yang terlihat pada pandangan pertama.Apakah
CNAME
target tersebut tinggal di domain lain? Anda harus berulang ke nameservernya, yang membutuhkan tidak hanyaNS
merekam pencarian tetapi juga mencari diA(AAA)
mana lem tidak ada. Apakah nameserver untuk mereka nameserver tinggal di top level domain yang berbeda? Jika TLD tersebut tidak membagikan server nama, kemungkinan catatan lem tidak akan disertakan dan Anda harus mengulang melalui server nama TLD lainnya juga. Dan seterusnya.Setiap
CNAME
catatan yang ditambahkan ke rantai dapat menambahkan secara eksponensial ke jumlah pencarian yang diperlukan tergantung pada jumlah server nama yang perlu diulang. RantaiCNAME
+NS
+A(AAA)
record lookup ini pada gilirannya bisa berbelit-belit, mencapai lebih dari 150 level pada cache emtpy. Di sinilah batas kedalaman rekursi bisa menjadi sangat buruk, mengakibatkan kegagalan sementara untuk mencari domain Anda pada cache kosong, dan untuk alasan yang sering tidak segera terlihat.Singkatnya, Anda dapat melakukan ini, tetapi lanjutkan dengan hati-hati, dan menanggapi umpan balik seperti ini dengan serius. Anda tidak memiliki kendali atas seberapa sering server DNS rekursif di internet dihidupkan ulang atau dibersihkan.
sumber
Multi-level
CNAME
sering berguna dalam praktik. Setiap tingkat pengalihan menyediakan tingkat kontrol di zona administratif yang berpotensi berbeda atau organisasi yang sama sekali berbeda. Meskipun ini hampir tidak setiap teknis diperlukan, ia dapat mengatasi masalah organisasi .Seperti yang dicatat orang lain, ini dapat menyebabkan kesulitan, tetapi ini dapat diatasi:
pantau semua server DNS. Mungkin ada yang tidak berfungsi. Pantau server eksternal dan server Anda sendiri. Anda mungkin perlu melaporkan masalah ke Akamai atau vendor lain.
TTL
s harus ditetapkan cukup tinggi untuk memungkinkan caching tetapi cukup rendah sehingga Anda dapat menggeser traffic dengan cukup cepat untuk aplikasi Andasumber