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?
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.
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:
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.
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.
Respostas:
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
listen
diretivas para:Ou, para sites SSL:
fonte
A
registro é para o seu endereço IPv4 e oAAAA
registro é para o seu endereço IPv6.listen 443;
também não deveria ter ossl
mesmo que olisten [::]:443 ssl;
? Então, aolisten 443 ssl;
invés delisten 443;
.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.139
funcionaria, mashttp://myhost
falharia. O usoping myhost
, por padrão, retornaria o endereço IPv6 (ping myhost -4
retornaria 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.
fonte
Winnovative HTML to PDF Converter
.Host
cabeçalho com um nome de domínio que não lhe pertence.