getent ana bilgisayarlar IPv6 yazdırır, getent ahosts IPv4 yazdırır


9

Terminalimden kelimesi kelimesine çıktı:

$ getent hosts example.org
2001:500:88:200::10 example.org
$ getent ahosts example.org
192.0.43.10     STREAM 43-10.any.icann.org
192.0.43.10     DGRAM  
192.0.43.10     RAW    

İkisinin de (en azından ahosts ) hem IPv4 hem de IPv6 adreslerini yazdırması gerektiğini düşündüm . Bu baskılar neden farklı adres türleri?

$ uname -srvmpio
Linux 3.2.0-31-generic #50-Ubuntu SMP Fri Sep 7 16:17:36 UTC 2012 i686 i686 i386 GNU/Linux

Düzenle : Görünüşe göre bu hata raporuyla ilgili olabilir .


Başlık yanlış (çıktının tersi)
whoan

Yanıtlar:


8

Her ikisi de getent hostsve getent ahostspotansiyel olarak hem IPv4 hem de IPv6 adreslerini yazdırabilir, ancak hangi adreslerin farklı yazdırılacağına karar verirler (bu iki farklı komutun olması gereken noktadır).

hostsaramalar gethostbyname2(IPv6 destekleyen varyantı gethostbyname). Davranış sabit olarak kodlanmıştır : bir IPv6 adresi arayın ve yoksa IPv4 adresini arayın.

ahostsçağrıları getaddrinfo. Bu işlev, belirli bir ad için tüm protokolleri numaralandırır, böylece aynı çağrıda hem IPv4 hem de IPv6 adreslerini döndürebilir. Ne döndürdüğü, içindeki ayarlarla belirlenir /etc/gai.conf. Birçok uygulama hala IPv6 ile başa çıkmaya çalıştığından, çoğu dağıtım varsayılan olarak IPv4'ü tercih eder ve yalnızca açık istekle IPv6'yı kullanır.

Stack Exchange'de ahostsve gai.confçevresinde bazı yararlı okumalar :

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.