É possível que dois nomes de host compartilhem o mesmo endereço IP?


35

Alguém pode explicar se é possível que dois nomes de host compartilhem o mesmo endereço IP?

E se um nome de host representar mais de um endereço IP, isso também é possível? Por quê?


18
Quer um exemplo do mundo real onde isso acontece? Faça ping serverfault.come superuser.comobserve o endereço IP retornado para ambos.
Scott Chamberlain

1
Todos os nomes de host já compartilham o endereço 127.0.0.1, espécie de ...
jlliagre

Respostas:


45

Também é possível atribuir mais de um endereço IP a um nome 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

Quando você consulta um servidor DNS, rr.example.comvocê recebe de volta uma lista de endereços IP. Você pode optar por se conectar a um deles. Se a primeira tentativa de conexão for recusada ativamente, tente a próxima.

A maioria dos navegadores seguirá esse fluxo, desde que os terminais recusem ativamente a conectividade TCP. Se um limite de tempo limite exceder o tempo limite, o recurso será tratado como inacessível, mesmo que nem todos os IPs tenham sido tentados

Como a maioria dos aplicativos (navegadores incluídos) geralmente está interessada apenas em 1 ponto de extremidade de IP por vez e apenas escolhe a primeira resposta disponível, corre o risco de distorcer a carga entre os servidores de destino para que o primeiro servidor obtenha todo o tráfego enquanto os outros podem estar ociosos .

Para contornar isso, a maioria dos servidores DNS oferece o que é conhecido como configuração Round Robin, fazendo com que o servidor alterne a ordem na qual os registros iguais são retornados. Antes que os balanceadores de carga fossem comuns, era uma maneira eficiente de equilibrar a carga e implementar de alguma maneira a tolerância a falhas nos sistemas de rede.


7
A pergunta não está fazendo o inverso disso?
precisa saber é o seguinte

2
Existem duas perguntas. @Sirch já cobriu a primeira parte muito boa
Mathias R. Jessen

Oh, entendi, pulei a descrição. Obrigado pela resposta btw!
precisa saber é o seguinte

1
Os navegadores / pilhas de rede geralmente tentam o primeiro endereço recebido? Ou eles tentarão um aleatório? Faria sentido aleatoriamente a ordem em que os IPs são retornados pelo servidor DNS para tentar equilibrar a carga?
21813 Tom Marthenal

Depende da implementação específica do cliente. A maioria dos servidores seleciona aleatoriamente a ordem dos endereços IP retornados (esse é o comportamento conhecido como "round-robin"). Questões interessantes na verdade, eu acho que vou expandir a resposta um pouco
Mathias R. Jessen

35

Sim, é possível que vários nomes de host usem o mesmo endereço IP, a melhor prática é usar um registro CNAME para apontar para o registro A

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

Anote todas as paradas completas.

Ter um nome de host para representar vários endereços IP é um pouco mais complicado. Se estamos falando sobre registros MX, esta solução já existe no DNS usando números de prioridade; se você deseja que ele represente vários registros A, é melhor usar um balanceador de carga, o HAProxy, por exemplo.


6
Vale a pena notar, e eu vi na Internet real, cadeias de CNAMEs que quebraram os resolvedores de nomes. Porque um CNAME pode apontar para outro CNAME. Até os loops CNAME são possíveis.
PP.


Também vale ressaltar que Aregistros contendo o mesmo IP podem aparecer em zonas diferentes, por exemplo, x.foo.com. A 1.2.3.4e y.bar.com. A 1.2.3.4.
Blrfl

Esta resposta esquece de informar sobre Aregistros curinga , que também levam a vários nomes de host no mesmo IP.
Izzy

Ei Sirch, qual é o problema com os paradas?
JonoRR

6

Além da alteração de CNAME, como outras respostas sugeridas, você também precisa lidar com a lógica no servidor de hospedagem. Eu uso o Apache e o configurei 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>

Tenho certeza que outros softwares de servidor http têm coisas semelhantes.


2

Você precisa deixar claro o que você quer dizer com dois nomes de host. Se você quer dizer duas caixas físicas com o mesmo endereço IP, a resposta é normalmente não. Um caso em que você faria seria se serverA e serverB estivessem trabalhando como um cluster passivo ativo, então cada servidor teria dois endereços por peça. Um seria um endereço IP dedicado a esse servidor e o segundo seria um endereço compartilhado entre os servidores, mas apenas o servidor ativo ouviria esse endereço compartilhado. O servidor passivo só começa a escutar no endereço compartilhado quando o servidor ativo fica inativo.


2

Também é importante notar que no IPv6 você pode atribuir o mesmo IP a dois ou mais hosts e a rede fará o balanceamento de carga e o failover para você (se um não estiver acessível, tente o outro). Ambos são considerados como um ponto final lógico e não há DNS envolvido.

Esse recurso é conhecido como Anycast .


1

IP múltiplo para um mesmo domínio:

  • Sim, é possível e muito comum: se um servidor (com ip A) cair, você poderá se conectar ao próximo IP do registro DNS e acessar outro servidor (com ip B) para obter o serviço.

Domínio múltiplo para um mesmo IP:

Você precisa responder à próxima pergunta: Todos os domínios estão fornecendo o mesmo serviço?

  • Se sim: também é uma configuração muito comum: muitas empresas compram muitos domínios com diferentes domínios principais do país: xxx.com, xxx.net, xxx.org, etc. E todas elas apontam para o mesmo serviço, ou seja, , para a mesma lista de IP.
  • Se não: é possível, mas não é comum e não é recomendado. Algumas empresas de hospedagem que permitem apenas o serviço HTTP usam NAT / Proxy para poupar IP. Mas é claro, isso significa um Proxy que "entende" o HTTP para identificar o serviço de destino.

0

Muitos servidores de telecomunicações (como HSS e PCRF) usam transporte SCTP e, portanto, esses servidores têm vários endereços IP. Esses endereços são usados ​​para hospedagem múltipla (suportada pelo SCTP), fornecendo conexão com redundância e failover.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.