¿Es posible que dos nombres de host compartan la misma dirección IP?

35

¿Alguien puede explicar si es posible que dos nombres de host compartan la misma dirección IP?

¿Y si un nombre de host representa más de una dirección IP, también es posible? ¿Por qué?

vaquero
fuente
18
¿Quieres un ejemplo del mundo real donde sucede? Haga ping serverfault.comy superuser.commire la dirección IP que se devuelve para ambos.
Scott Chamberlain
1
Todos los nombres de host ya comparten la dirección 127.0.0.1, más o menos ...
jlliagre

Respuestas:

45

También es posible asignar más de una dirección IP a un nombre de host:

rr.example.com.        A      192.0.2.12
rr.example.com.        A      192.0.2.23
rr.example.com.        A      192.0.2.34
rr.example.com.        A      192.0.2.45

Cuando consulta un servidor DNS rr.example.com, obtendrá una lista de direcciones IP. Luego puede optar por conectarse a uno de ellos. Si el primer intento de conexión se rechaza activamente, simplemente intente el siguiente.

La mayoría de los navegadores seguirán este flujo, siempre que los puntos finales rechacen activamente la conectividad TCP. Si se agota el tiempo de espera del punto final, el recurso se tratará como inalcanzable aunque no se hayan intentado todas las IP

Dado que la mayoría de las aplicaciones (incluidos los navegadores) a menudo solo están interesadas en 1 punto final de IP a la vez y simplemente eligen la primera respuesta disponible, corre el riesgo de sesgar la carga entre los servidores de destino para que el primer servidor obtenga todo el tráfico mientras que los demás pueden estar inactivos .

Para evitar esto, la mayoría de los servidores DNS ofrecen lo que se conoce como una configuración Round Robin, lo que hace que el servidor alterne el orden en el que se devuelven registros igualmente coincidentes. Antes de que los equilibradores de carga fueran comunes, esta era una manera eficiente de equilibrar la carga e implementar algo de tolerancia a fallas en los sistemas de red.

Mathias R. Jessen
fuente
77
¿No es la pregunta preguntando lo contrario de esto?
mowwwalker
2
Hay dos preguntas @Sirch ya cubrió la primera parte bastante bien
Mathias R. Jessen
Oh, ya veo, me salté la descripción. Gracias por la respuesta por cierto!
mowwwalker
1
¿Los navegadores / pilas de red suelen probar la primera dirección recibida? ¿O intentarán uno al azar? ¿Tendría sentido aleatorizar el orden en que el servidor DNS devuelve las direcciones IP para intentar equilibrar la carga?
Tom Marthenal
Depende de la implementación específica del cliente. La mayoría de los servidores aleatorizarán el orden de las direcciones IP devueltas (este es el comportamiento denominado "round-robin"). Preguntas interesantes en realidad, creo que ampliaré un poco la respuesta
Mathias R. Jessen
35

Sí, es posible que varios nombres de host usen la misma dirección IP, la mejor práctica es usar un registro CNAME para apuntar al registro A

bar.example.com.        CNAME  foo.example.com.
foo.example.com.        A      192.0.2.23

Tome nota de todas las paradas completas.

Tener un nombre de host para representar múltiples direcciones IP es un poco más complicado. Si hablamos de registros MX, esta solución ya existe en DNS utilizando números de prioridad, si desea que represente múltiples registros A, será mejor que use un equilibrador de carga, HAProxy, por ejemplo.

Sirch
fuente
66
Vale la pena señalar, y he visto en Internet real, cadenas de CNAME que rompieron con los solucionadores de nombres. Porque un CNAME puede apuntar a otro CNAME. Incluso los bucles CNAME son posibles.
PP.
2
RFC 1912 2.4 ietf.org/rfc/rfc1912.txt
dmourati
También vale la pena señalar que los Aregistros que contienen la misma IP pueden aparecer en diferentes zonas, por ejemplo, x.foo.com. A 1.2.3.4y y.bar.com. A 1.2.3.4.
Blrfl
Esta respuesta se olvida de contar sobre los Aregistros comodín , que también conducen a múltiples nombres de host en la misma IP.
Izzy
Oye Sirch, ¿cuál es el problema con las paradas completas?
JonoRR
6

Además del cambio de CNAME como sugieren otras respuestas, también debe manejar la lógica en su servidor de alojamiento. Yo uso Apache y lo configuré como:

<VirtualHost 1.2.3.4:80>
    ServerName  www.abc.com
    ServerAlias abc.com
    ...
</VirtualHost>

<VirtualHost 1.2.3.4:80>
    ServerName  www.xyz.com
    ServerAlias xyz.com
    ...
</VirtualHost>

Estoy seguro de que otros softwares de servidor http tienen cosas similares.

Yandong Liu
fuente
2

Debe tener claro lo que quiere decir con dos nombres de host. Si te refieres a dos cajas físicas con la misma dirección IP, la respuesta generalmente es no. Un caso en el que lo haría es que si el servidor A y el servidor B funcionan como un clúster activo-pasivo, entonces cada servidor tendría dos direcciones por pieza. Una sería una dirección IP dedicada a ese servidor y la segunda sería una compartida entre los servidores, pero solo el servidor activo escuchará esa dirección compartida. El servidor pasivo solo comienza a escuchar en la dirección compartida cuando el servidor activo deja de funcionar.

Keith Wolters
fuente
2

También vale la pena señalar que en IPv6 puede asignar la misma IP a dos o más hosts y la red realizará el equilibrio de carga y la conmutación por error por usted (si no se puede acceder a uno, pruebe el otro). Ambos se consideran como un punto final lógico y no hay DNS involucrado en absoluto.

Esta característica se conoce como Anycast .

scravy
fuente
1

IP múltiple para un mismo dominio:

  • Sí, es posible y muy común: si un servidor (con ip A) se cae, puede conectarse a la siguiente IP del registro DNS y acceder a otro servidor (con ip B) para obtener el servicio.

Dominio múltiple para una misma IP:

Debe responder la siguiente pregunta: ¿Todos los dominios brindan el mismo servicio?

  • En caso afirmativo: también es una configuración muy común: muchas empresas compran muchos dominios con dominio superior de diferentes países: xxx.com, xxx.net, xxx.org, etc. Y todos ellos apuntan al mismo servicio, es decir , a la misma lista de IP.
  • Si no: es posible pero no común y no recomendado. Algunas empresas de hosting que solo permiten el servicio HTTP usan NAT / Proxy para ahorrar IP. Pero, por supuesto, eso significa un Proxy que "entiende" HTTP para identificar el servicio de destino.
Adrian Maire
fuente
0

Muchos servidores en telecomunicaciones (como HSS y PCRF) usan transporte SCTP y, por lo tanto, estos servidores tienen múltiples direcciones IP. Estas direcciones se utilizan para el alojamiento múltiple (compatible con SCTP) que proporciona la conexión con redundancia y conmutación por error.

Nissar Ali
fuente