¿Qué determina si el FQDN se interpreta como IPv6 o IPv4?

9

Cuando escribo un Nombre de dominio completo (FQDN) en mi barra de URL, el navegador se conecta a alguna tabla de mapeo (¿dónde se almacena esta tabla? ¿Con el proveedor de servicios?) Que determina dónde se aloja el archivo solicitado.

Por lo tanto, depende del proveedor de servicios (que supongo que tiene la tabla de conversión) si las direcciones IPv6 son compatibles o no. ¿Es eso cierto?

Lazer
fuente

Respuestas:

7

Como esto está etiquetado como iptables, supongo que esta es una pregunta de Linux.

En Linux depende de glibc decidir si un programa, para un nombre de host dado, busca primero la dirección IPv6 (AAAA) o la dirección IPv4 (A). El programa que usa glibc usa la función getaddrinfo (). El comportamiento de getaddrinfo () se configura en /etc/gai.conf.

En su sistema, lo más probable es que todo en /etc/gai.conf esté comentado. Descomentando la entrada:

etiqueta :: / 0 1

para mí, ha llevado a la activación de la primera búsqueda AAAA, por lo que las direcciones IPv6 se buscan preferiblemente. Entonces esto puede ser lo que quieres.

Actualización para agregar : la forma correcta parece ser descomentar todo el bloque "etiqueta" en gai.conf con los valores de 0 a 7:

label ::1/128       0
label ::/0          1
label 2002::/16     2
label ::/96         3
label ::ffff:0:0/96 4
label fec0::/10     5
label fc00::/7      6
label 2001:0::/32   7
unixtippse
fuente
4

Las direcciones IPv4 se asignan a un nombre de dominio mediante un registro A (Dirección) en DNS (Sistema de nombres de dominio). Las direcciones IPv6 se asignan mediante registros AAAA. ¿Parece extraño? Las direcciones IPv4 son de 32 bits, IPv6 son de 128 bits. 128/32 = 4, entonces AAAA / A = 4 también. Truco inteligente de quien diseñó la entrada de IPv6 en DNS.

DNS es un sistema jerárquico y distribuido en todo Internet. Su navegador realizará una llamada a una biblioteca del sistema, que inicia la cadena de búsqueda. Primero verificará su caché local, generalmente almacenado en la memoria. A continuación, busca en el disco y mira el archivo HOSTS (/ etc / hosts en la mayoría de UNIXes / Linux, y C: \ Windows \ System32 \ drivers \ etc \ HOSTS en Windows). Luego, si aún no puede encontrar una respuesta, realiza una llamada a su servidor DNS asignado, según su configuración de red.

ESE servidor DNS verifica su caché, que es mucho más grande. Si tiene una coincidencia, devuelve una respuesta. Si no puede encontrar una respuesta, se da vuelta y le pregunta a un servidor DNS de nivel aún más alto ejecutado por el ISP del ISP. Este proceso continúa hasta llegar a los servidores de nombres raíz, a.root-servers.neta través m.root-servers.net. La mayoría de las consultas DNS se resuelven MUCHO antes de llegar tan lejos, pero a veces una o dos llegan allí. Pero cuando se encuentra una respuesta, se pasa de nuevo por esa cadena a su navegador.

Pero, ¿cómo sabe su navegador qué tipo de registro solicitar? Eso depende de la configuración de su sistema. Si lo ha configurado en su pila IPv4 es prioritario, entonces su navegador solo le pedirá registros A en sus consultas DNS. Si es IPv6, primero pedirá un registro AAAA y luego volverá a un registro A en segundo lugar.

También hay otros tipos de registros. Los registros MX definen dónde está el servidor de correo para un dominio. Los registros NS definen los servidores de nombres para un dominio. Los registros SRV le indican dónde se encuentra un servicio en particular (SSH o Web, por ejemplo).

DNS realmente es la guía telefónica literal de Internet.

Kumba
fuente
2

La búsqueda sería manejada por su DNS (y posiblemente su archivo de hosts locales). Si un nombre en particular se resuelve como una dirección IPv6 o IPv4 depende de la configuración de su navegador (es compatible con IPv6 y envía solicitudes AAAA de IPv6, su sistema operativo (si tiene una pila de IPv6 entre otras cosas) y su Proveedor de DNS (¿admiten solicitudes AAAA (IPv6) o no)?

El problema del navegador se complica aún más por el hecho de que algunos navegadores (más antiguos) nunca emiten solicitudes de búsqueda AAAA y algunos se pueden configurar para que no los envíen (Firefox tiene una configuración para esto), pero la mayoría de los navegadores modernos envían primero una solicitud AAAA y siguen con una solicitud de A.

Helvick
fuente
¿Dónde puedo encontrar mi archivo de hosts locales en Windows Vista?
Lazer
Está bien, que se encuentra aquí: C:\Windows\System32\drivers\etc. Pero está vacío.
Lazer
% SYSTEMROOT% \ System32 \ drivers \ etc - generalmente será C: \ Windows \ System32 \ drivers \ etc
Helvick el
2
Generalmente está vacío: agregue entradas si es absolutamente necesario, realmente desea dejar la resolución de nombre IPv6 a DNS.
Helvick