Como deixar o navegador preferir IPv6 sobre IPv4?

15

Eu instalei o miredo e tenho o IPv6 instalado e funcionando. Posso pingar hosts e baixar páginas da web com wget ou my webbrowser quando especificar endereços IPv6, no entanto, sempre que eu especificar um nome de host que seja oferecido em IPv4 e IPv6, o navegador selecionará o endereço IPv4 para a conexão.

Como posso alterar isso e deixar o navegador usar o IPv6 em vez do IPv4, se disponível?

Pesquisando, descobri que os navegadores prefeririam IPv4 em IPv6 para túneis 6to4 / teredo, mas até agora não encontrei uma explicação sobre por que ou como mudar isso.

    
por Grumbel 24.10.2010 / 13:41

6 respostas

9

Não são os navegadores que preferem nenhuma das opções, é o sistema operacional. O padrão define as prioridades mais ou menos assim:

  1. ipv6
  2. ipv4
  3. 6to4-tráfego

Você pode alterar isso editando os blocos label / precedence em /etc/gai.conf (gai significa getaddrinfo , a chamada padrão do sistema para resolver nomes de host).

Uma explicação detalhada sobre gai.conf pode ser encontrada na página do manual

Isso, a propósito, também explica a experiência de Jonathon de que o túnel SiXXS era preferido em relação ao 6to4.

    
por freddyb 25.04.2011 / 16:47
7

Para o Firefox & amp; outros navegadores baseados em Mozilla / Gecko, a configuração network.dns.disableIPv6 em about:config deve ser false se você tiver IPv6 (ele é definido como verdadeiro por padrão no Ubuntu, porque muitas pessoas obtêm problemas com proxies DNS com bugs em roteadores domésticos ).

    
por JanC 24.10.2010 / 20:19
5

Assim como freddyb apontou, isso depende da configuração da chamada de sistema padrão para resolver nomes de host, getaddrinfo .

Para resolver seu problema, substitua o conteúdo de seu /etc/gai.conf pelas seguintes linhas:

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

atualizado : thx para freddyb por apontar que minha resposta anterior estava errada: Precisamos comentar a última linha, não a terceira. Agora funciona para mim!

    
por pklaus 11.05.2011 / 16:53
4

Até recentemente, o Chrome, o Firefox e os navegadores derivados, na verdade, evitam o IPv6 se um site responder mais rápido ao IPv4. Não é possível alterar esse comportamento por meio de uma configuração.

O recurso em si é provavelmente razoável para o usuário comum, mas quase me deixa louco porque você não pode desativá-lo. A conectividade IPv6 é muito boa hoje em dia e, às vezes, o IPv6 tem várias vantagens sobre a conexão por meio do IPv4, mesmo se a latência - devido ao encapsulamento - for maior. Eu venho navegando no IPv6 há anos e, apesar do roteamento IPv6 e o desempenho ter ficado muito melhor, esse maldito recurso de "hack" do navegador me atrasa uma década.

    
por MegaGuest 10.06.2015 / 01:42
2

OK, eu estive olhando para isso e é estranho.

1) Use um proxy local.
Se eu definir o Firefox como proxy através do Squid em execução na minha máquina, o Firefox (ou, mais precisamente, o Squid) se conectará através do túnel miredo. Se eu tenho o miredo instalado, mas o Firefox está configurado para "sem proxy", o Firefox usa o IPV4 primeiro.

2) Instale o aiccu
Se eu instalar o aiccu e configurá-lo com um túnel (por exemplo, SiXXS), então não importa minhas configurações de proxy, o IPV6 é usado primeiro pelo Firefox.

Pode ser que, como miredo está lá para se conectar a sites IPV6, ele seja usado somente quando o IPV4 não estiver disponível, nesse caso tente aiccu.

    
por Jonathon 24.10.2010 / 18:35
-1

A resposta é simples: altere os rótulos.

label 2002::/16    1
label 2001:0::/32   1

Isso os torna equivalentes ao "vanilla" ipv6.

Se você os deixar comentados, eles coletarão os valores padrão.

    
por Stoat 17.08.2014 / 20:36

Tags