Devo usar apenas o IPv6 ou o IPv4 e o IPv6 no meu servidor da web?


39

Meu servidor web (Ubuntu, Nginx) tem endereços IPv4 e IPv6 atribuídos pelo host. No meu site, devo vinculá-lo apenas a um endereço IPv6? É a maneira recomendada padrão? Ou devo usar os endereços IPv4 e IPv6?


13
Você está fazendo a pergunta errada (para as pessoas erradas) - Faça a si mesmo "Preciso acessar este site a partir de clientes IPv4, IPv6 ou ambos?". A resposta para isso também é a resposta para quais endereços o servidor da Web precisa estar escutando.
precisa saber é o seguinte

6
Normalmente, eu concordo completamente com uma resposta "obtenha suas especificações primeiro" assim, mas neste caso, estranhamente, não; Eu concordo com o Michael. "apenas v6" ainda é, infelizmente, muito improvável que seja o requisito (embora, se for, esse comentário está totalmente errado). Caso contrário, reduzimos para "pilha mista" e "apenas v4". Mesmo que todos os usuários digam que "apenas a v4" está correta, neste momento, está errado; A pilha mista é o caminho a percorrer para a proteção do futuro, independentemente do que a comunidade de usuários atual diz.
MadHatter apoia Monica

@ MadHatter Neste ponto, podemos eliminar com segurança "somente v4". Os limites inerentes ao NAT de grande escala tornam a v4 apenas insustentável para o operador de um site ou, possivelmente, qualquer outro serviço da Internet. Mais detalhes na minha resposta atualizada.
Michael Hampton

@MichaelHampton ainda concorda com você.
MadHatter suporta Monica 08/08

Respostas:


56

Use IPv4 e IPv6

Você deve usar os endereços IPv4 e IPv6.

Atualmente, quase todo mundo na Internet tem um endereço IPv4 ou está atrás de um NAT de algum tipo e pode acessar recursos IPv4.

No entanto, no momento da redação deste documento, apenas cerca de 0,7% 2,3% 3,8% 6,5% 9% 12% 19% 22% 26% da Internet é compatível com IPv6 , mas esse número está crescendo constantemente à medida que o IPv6 começa a ser lançado em todo o mundo.

Em pouquíssimos lugares, os ISPs estão fornecendo principalmente IPv6 ou apenas IPv6 para clientes residenciais e usando NAT, NAT64 ou outras soluções em larga escala para conectividade IPv4. Espera-se que esse número cresça à medida que o espaço de endereço IPv4 estiver finalmente esgotado. Esses usuários normalmente terão melhor desempenho sobre o IPv6.

Onde os ISPs implantaram NAT em larga escala para resolver o esgotamento do IPv4, os usuários presos a isso sofrerão uma confiabilidade reduzida de todas as suas conexões com a Internet devido aos limites de conexão inerentes aos gateways NAT em grande escala. Por exemplo, uma página da Web pode carregar apenas alguns, mas não todos os seus recursos , deixando ícones quebrados onde as imagens deveriam estar, estilos e scripts ausentes etc. Isso é semelhante ao esgotamento do limite de conexão em um roteador doméstico, mas afeta todos os usuários do ISP intermitentemente e aparentemente aleatoriamente. Se você deseja que seu site seja confiável para esses usuários, você deve veiculá-lo via IPv6 (e o ISP deve ter implantado o IPv6).

Como o IPv6 é o local para onde a Internet está indo, ter o site IPv6 ativado agora coloca você à frente do jogo e permite resolver problemas muito antes que eles se tornem graves.

Configurar nginx

Por padrão, com Linux e nginx, é possível vincular ao IPv4 e ao IPv6 ao mesmo tempo alterando suas listendiretivas para:

listen [::]:80;
listen 80;

Ou, para sites SSL:

listen [::]:443 ssl;
listen 443 ssl;

Ok obrigado ... mais uma pergunta .. Agora eu configurei o servidor ... No DNS se repete, tenho que colocar dois registros A e AAAA (com o nome do host @) e apontando para os ips relevantes?
THPubs 27/08/12

3
Sim, o Aregistro é para o seu endereço IPv4 e o AAAAregistro é para o seu endereço IPv6.
Michael Hampton

Perfeito. Muito obrigado pela explicação :) Im novo para ipv6 coisas
THpubs

Eu não estou familiarizado com o nginx, mas o listen 443;também não deveria ter o sslmesmo que o listen [::]:443 ssl;? Então, ao listen 443 ssl;invés de listen 443;.
um CVn

@aCVn Sim, deveria. Obrigado por capturar isso. Isso vai me ensinar a editar as coisas enquanto meio adormecido.
Michael Hampton

3

Vincule-se a ambos!

Tínhamos um site do IIS cujo código fazia uma referência interna, usando o nome DNS que o cliente havia usado. Esse processo sempre falhava.

Outro sintoma foi que um navegador em execução localmente no servidor não pôde encontrar o site pelo nome do servidor, apenas pelo endereço IPv4. Ou seja, http://192.168.55.139funcionaria, mas http://myhostfalharia. O uso ping myhost, por padrão, retornaria o endereço IPv6 ( ping myhost -4retornaria o endereço IPv4).

A correção foi abrir o IIS e alterar as Ligações do site para vincular ao endereço IPv6 e ao endereço IPv4.

insira a descrição da imagem aqui


6
Não é necessário ofuscar endereços particulares. No entanto, você também deve vincular ao seu endereço IPv6 global para que seu site possa ser acessado externamente via IPv6.
Michael Hampton

O código mencionado foi o Winnovative HTML to PDF Converter.
Glen Little

2
Ter um serviço acessível internamente e externamente é mais fácil quando você não usa o NAT. E é mais fácil evitar o NAT, se você estiver usando o IPv6. Mas conectar-se cegamente a um nome de host fornecido por um cliente parece uma falha de design. É perfeitamente possível que o cliente envie um Hostcabeçalho com um nome de domínio que não lhe pertence.
kasperd
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.