Özel bir Route 53 Bölgesi Genel Adlar için Neden NXDOMAIN Döndürür
Üst adla eşleşen özel bir Route 53 bölgesi genel kayıtlar için NXDOMAIN yanıtı verir: hangi bölgenin yanıtladığına bakın, ardından bölünmüş görünümü veya bir alt alan adını seçin.
Özel Route 53 bölgeleri, genel kayıtla birleşmek yerine bir adın yanıtını değiştirir ve bu, insanları en kötü anda şaşırtır. Şunun için bir iç kayıt ekleyin: api.example.net için, şu özel bölgede: example.net bölgesinde tanımlayın, bunu bir VPC ile ilişkilendirin ve o üst ad altındaki diğer tüm adlar artık yalnızca özel bölgeden yanıtlanır. Dün www.example.net adresine ulaşabilen istemci bugün olumsuz yanıt alır. Aşağıdaki yürüyüş, o başarısız sorgudan başlar ve onu yanıtlayan bölgeye doğru dışarı açılır.
Konsoldan değil, sorgudan başlayın
Hatayı bildiren istemcide yeniden üretin ve tam adı ve kayıt türünü not edin. A türü için başarısız olan bir ad, AAAA türü için hâlâ çözülebilir ve önbellekteki adı yeniden deneyen tarayıcı hangisinin bozulduğunu gizler. Sorguyu iki kez çalıştırın: bir kez istemcinin gerçekten kullandığı çözümleyici üzerinden, bir kez de onu atlayan bir izleme ile.
dig +short api.example.net
dig www.example.net +noall +comments +authority
resolvectl query www.example.net
Önemli olan ikinci komuttur. Durum satırı ve authority bölümü yanıtı üreten bölgeyi adlandırır; böylece özel bölgeden gelen olumsuz yanıtı bir zaman aşımından, engellenmiş bağlantı noktasından veya sorguyu hiç almayan bir çözümleyiciden ayırabilirsiniz. resolvectl hangi üst sunucuya sorulduğunu gösterir ve bu genellikle VPN'in gönderdiğini varsaydığınız çözümleyici değildir.
İzlenen sorgu genel adresi döndürürken normal sorgu döndürmüyorsa, genel kayıt sağlamdır ve yanıtı özel görünüm veriyor. Bu tek karşılaştırma, bu sayfanın geri kalanının hangi yarısının sizin için geçerli olduğuna karar verir.
Hangi bölgenin yanıtladığını okuyun
Şunu taşıyan bir yanıt: NXDOMAIN ve authority bölümünde özel bölgenin SOA kaydı varsa, bu o bölgenin kesin yanıtıdır, başarısız bir arama değildir. Route 53 Resolver özel barındırılan bölgeyi ad eşleştiği için seçti, ardından istenen türde kayıt bulamadı ve belgelenen davranış, soruyu genel DNS'e iletmek yerine olumsuz yanıtı döndürmektir.
Seçim özgüllüğü izler. Birden çok özel ad alanı çakıştığında en özgül eşleşen bölge kazanır ve daha geniş bir özel üst bölge, seçilen alt bölgede olmayan bir ad için ikinci şans elde etmez. İletme kuralları bir katman daha ekler, çünkü alan adına özgü bir Resolver kuralı özel barındırılan bölge ilişkisini geçebilir. Bir bölgenin boş olduğu sonucuna varmadan önce ilişkileri ve kuralları listeleyin.
aws route53 list-hosted-zones-by-name --dns-name example.net.
aws route53 list-resource-record-sets --hosted-zone-id Z0EXAMPLEID --query "ResourceRecordSets[?Type=='A'].[Name,ResourceRecords[0].Value]"
Her iki komut da bölgenin sahibi olan hesabın kimlik bilgilerini gerektirir ve ikincisi birinciden gelen bölge kimliğine ihtiyaç duyar. Bunu kendi kimliğinizle değiştirin; yukarıdaki yer tutucu bilerek gerçek değildir.
Özel bölge neden kazanır
Bölgeyi bir VPC için görünür yapan ilişkidir ve o VPC'deki çözümleyici bunu uygular. İstemcinin trafiğinin geldiği VPC ile ilişkilendirilmemiş özel bir bölgenin hiçbir etkisi yoktur, oysa yanlış VPC ile ilişkilendirme yanlış kitle için özel bir yanıt üretir. Kayıtları düzenlemeden önce ilişkilendirme listesini kontrol edin, çünkü bir bölge doğru olup yine de görünmez olabilir.
Çakışan ad alanları, karışıklığın ikinci kaynağıdır. Şunun için özel bir bölge: example.net ve şunun için özel bir bölge: api.example.net ikisi de bir API sorgusuyla eşleşir ve daha özgül olan yanıtlar. Bu, dar bir iç ad alanı istediğinizde yararlıdır ve dar bölgede daha geniş bölgede bulunan bir kayıt eksik olduğunda tehlikelidir. Özel barındırılan bölgelerle ilgili değerlendirmeler, Route 53 belgelerinde hem aşağı düşme davranışını hem de kural önceliğini açıklar ve ikinci bir çakışan bölge eklemeden önce okunmaya değer.
Bunların hiçbiri genel bölgeyi değiştirmez. Genel çözümleyiciler genel kayıtları yine doğru yanıtlar ve bu nedenle VPC dışındaki herkese bu hata bir istemci sorunu gibi görünür.
Kayıt eklemeden önce ad alanını seçin
Yalnızca yeni bir iç hizmet ailesi özel adlara ihtiyaç duyuyorsa, ona özel bir alt alan adı verin ve genel üst bölgeyi rahat bırakın. Şuna benzer bir ad: internal.example.net şunu gölgeleyemez: www.example.net ve eksik bir kaydın etki yarıçapı, bu amaçla uydurduğunuz adlarla sınırlıdır. Bedeli, mevcut URL'lerin ve sertifikaların yeni adla eşleşmemesi olabilir.
Genel ve özel kullanıcılar aynı ana bilgisayar adını korumak zorundayken, bölünmüş görünümlü DNS desteklenen tasarımdır ve kayıtları her görünümde açıkça sürdürmenizi gerektirir. Tek kayıtlı geniş bir özel bölge, o bölgenin altındaki genel bağımlılıkları korumaz; onları tek kayıtlı bir bölgeyle değiştirir.
Bir istemci kitlesini özel görünüme yönlendirmeden önce bir uygulamanın gerçekten çağırdığı adları listeleyin. Oturum açma ana bilgisayarları, statik varlık ana bilgisayarları, yönlendirme hedefleri ve API uç noktaları ilk bozulanlardır ve genellikle birkaç ekibin kayıtlarına yayılmıştır.
Çözümleyici yolunu, ardından rotayı izleyin
Bir dizüstü bilgisayar özel görünümü yalnızca sorguları ilişkinin bulunduğu çözümleyiciye ulaşırsa görür. VPN sunucusundaki hosts dosyasını düzenlemek bağlı istemcilere hiçbir şey yayımlamaz ve genel bir çözümleyiciyle yapılandırılmış bir istemci tünel açık olduğu sürece genel yanıtlar almaya devam eder. İstemcinin aldığı çözümleyici adresini doğrulayın, ardından sorguyu sunucudan değil istemciden yineleyin.
Ad çözüldükten sonra döndürülen adrese giden yolu ayrı bir adım olarak test edin, örneğin ip route get ile sorgunun döndürdüğü adrese karşı. Adrese rota olmadan doğru özel yanıt bir yönlendirme sorunudur ve kayıt eksik yanıtı bir DNS görünüm sorunudur; ikisini tek sorun olarak ele almak kalıcı olmayan düzeltmeler üretir. Hizmetin TLS ana bilgisayar adı ve sertifika kontrollerini değiştirmeden bırakın, çünkü özel bir adres bağlantının nereye gittiğini değiştirir ve hangi sertifikanın geçerli olduğu konusunda hiçbir şeyi değiştirmez.
Değişiklik notuna bölgeyi, ilişkilendirmeyi, çözümleyiciyi ve doğruladığınız adları yazarak bitirin. Böylece bir sonraki kayıt ekleyen kişi o istemci kitlesi için hangi ad alanının yetkili olduğunu bilir.