AAAA (IPv6) aramalarından önce A (IPv4) DNS aramalarını tercih edin


44

Yeni kurulan Ubuntu 10.10, her zaman A kaydı aramadan önce AAAA DNS araması yapar. Sistemi önce A aramaları yapacak şekilde yapılandırabilir miyim?

(Çeşitli tarayıcılar ve diğer uygulamalar kendi çözümleyicilerini içerebilirken, glibc'dekilerden bahsediyorum)


Netleştirmek için, hem IPv4'ün hem de IPv6'nın mevcut olmasını ister misiniz?
belacqua

Tercihen evet. Ancak, yalnızca yerel IPv6'yı bağladığım için, google.com'un AAAA kaydını her seferinde soran ve sonra A rekorunu isteyen bir atık.
nos

Yanıtlar:


53

Yeni nesil IP kullanımına izin vermek için IPv6'yı IPv4 üzerinden önceliklendirmek standarttır :)

Bunu, içindeki öncelik bloklarını düzenleyerek değiştirebilirsiniz /etc/gai.conf(gai getaddrinfo, ana bilgisayar adlarını çözmek için kullanılan standart sistem anlamına gelir ). Dosyada anlatıldığı gibi satırı yorumlamanız yeterlidir:

# IPv4 bağlantılarını tercih eden siteler için son satırı

#precedence :: ffff: 0: 0/96 100

Detaylı bilgi gai.confiçin man sayfasında.


teşekkürler, günümü kurtardın! sunucumdan biri dns sunucusundan ipv6 sonuçlarını almaya devam ediyor ancak sunucum sadece düzgün çalışamadı w / ipv6
Boon

Merhaba, bu ayar etkili olması için bir sysctl veya herhangi bir servis yeniden yükleme veya yeniden başlatma gerektiriyor mu? Cevabınızı faydalı buldum, ancak bu tür şüpheleri gidermek için düzenleyebilirsiniz.
Marco

Man sayfası , doğru değiştirilmiş davranışı elde etmek için sadece IPv4 olanı değil tüm satırların gai.confyorumunu kaldırmanız gerektiğini söylüyor . Kimden : "Bir kez daha, yapılandırma dosyasında tek bir öncelik satırının varlığı, varsayılan tablonun kullanılmamasına neden olur." Diğer varsayılan tablo satırlarının çalışmaya devam etmesini istiyorsanız, onları da yorumlamalısınız. gai.conf(5)
Ian D. Allen

10

Benim sorunum aynıydı, IPV4'ten önce IPV6 sorguları yaptım ve kaynakları boşa harcadılar, bu yüzden /etc/gai.conf dosyamı freddyb olarak değiştirdim, ancak senaryom biraz farklıydı, sunucum Natted. IPv4, sadece bu satırda IPv6 üzerinde önceliğe sahip olmaz. Çözüm ayrıca, gai.conf adresindeki diğer satırları da yorumluyor;

#For sites which prefer IPv4 connections change the last line to
precedence ::ffff:0:0/96 100
...
#    For sites which use site-local IPv4 addresses behind NAT there is
#    the problem that even if IPv4 addresses are preferred they do not
#    have the same scope and are therefore not sorted first.  To change
#    this use only these rules:
#
scopev4 ::ffff:169.254.0.0/112  2
scopev4 ::ffff:127.0.0.0/104    2
scopev4 ::ffff:0.0.0.0/96       14

Böylece Sunucunuz, siz Yerinde olsanız bile ilk ipv4'ü deneyecek!


2
/etc/gai.confUbuntu 15.04 "canlı" içindeki dosya, scopev4yukarıda önerdiğiniz üç satırın zaten varsayılan olduğunu söylüyor . Sadece bir satırlık precedence ::ffff:0:0/96 100değişiklik yaptım ve bu bile NAT'ın gerisinde kaldı.
Ian D. Allen

1

IPv6'nın etkin olmasını istemiyorsanız, bunun için IPv6'yı devre dışı bırakabilirsiniz. http://www.webupd8.org/2010/05/how-to-disable-ipv6-in-ubuntu-1004.html

değilse, eklemeyi deneyebilirsiniz

options single-request

/Etc/resolv.conf dosyasına. ( kanyon detayları için http://udrepper.livejournal.com/20948.html adresine bakınız)


1
Resolv.conf için manuel sayfa, önerdiğiniz seçeneğin tam olarak şu şekilde yapıldığını gösterir: "Bu seçenek [...] glibc'in IPv6 ve IPv4 isteklerini sırayla gerçekleştirmesini sağlar (çözme işleminin bir miktar yavaşlaması pahasına)." - man7.org/linux/man-pages/man5/resolver.5.html
ndemou 28:15

sıralı = ilk önce bir sonra diğer - paralelin aksine. burada iyi çalışıyor.
cweiske
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.