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.