Desativar o IPv6 com o OpenWRT

5

Quando uso o firmware da Linksys em estoque no meu roteador, meus dispositivos de rede usam corretamente o IPv4 apenas para acessar a Internet.

Quando uso o OpenWRT 15.05.1, os dispositivos tentam se conectar a vários sites usando endereços IPv6, o que seria ótimo se meu ISP fornecesse o serviço IPv6, o que não acontece.

Eu tentei algumas coisas que não funcionaram: desativar o DHCPv6, desabilitar o cache DNS do dnsmasq, configurar o servidor DHCP do dnsmasq para fornecer um endereço de servidor DNS estático ( 8.8.8.8 ) e configurar o servidor DNS interno do OpenWRT configuração para usar esse servidor DNS.

Como faço para que o OpenWRT pare de informar aos dispositivos que não há problema em usar o IPv6?

Resultados de comandos em um dos dispositivos em rede

Os resultados de ip addr são:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp6s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:1a:80:7a:4e:47 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.107/24 brd 192.168.1.255 scope global dynamic enp6s0
       valid_lft 42521sec preferred_lft 42521sec
    inet6 fd7f:77c6:629f::9e8/128 scope global 
       valid_lft forever preferred_lft forever
    inet6 fd7f:77c6:629f::4e3/128 scope global 
       valid_lft forever preferred_lft forever
    inet6 fd7f:77c6:629f:0:21a:80ff:fe7a:4e47/64 scope global noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::21a:80ff:fe7a:4e47/64 scope link 
       valid_lft forever preferred_lft forever
3: wlp2s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:1d:e0:44:04:57 brd ff:ff:ff:ff:ff:ff

Os resultados de route -6 são:

Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
fd7f:77c6:629f::4e3/128        ::                         U    256 0     0 enp6s0
fd7f:77c6:629f::9e8/128        ::                         U    256 0     0 enp6s0
fd7f:77c6:629f::/64            ::                         U    100 1     3 enp6s0
fd7f:77c6:629f::/48            fe80::c256:27ff:fe77:37a7  UG   100 0     0 enp6s0
fe80::/64                      ::                         U    256 2    10 enp6s0
::/0                           ::                         !n   -1  1   729 lo
::1/128                        ::                         Un   0   3     6 lo
fd7f:77c6:629f::4e3/128        ::                         Un   0   1     0 lo
fd7f:77c6:629f::9e8/128        ::                         Un   0   1     0 lo
fd7f:77c6:629f:0:21a:80ff:fe7a:4e47/128 ::                         Un   0   2     3 lo
fe80::21a:80ff:fe7a:4e47/128   ::                         Un   0   2    30 lo
ff00::/8                       ::                         U    256 2    67 enp6s0
::/0                           ::                         !n   -1  1   729 lo

Os resultados de ambos os ping6 google.com e ping6 2607:f8b0:4008:808::200e são:

connect: Network is unreachable
    
por Olathe 24.07.2016 / 06:50

1 resposta

6

Na instalação inicial (ou redefinição de configurações), o OpenWrt gera um prefixo de endereço local exclusivo e atribui ULAs a todos os dispositivos na rede, permitindo que eles se comuniquem internamente via IPv6, mesmo sem conectividade global IPv6.

Isso geralmente funciona bem, exceto em dois cenários:

  1. Um dispositivo final tenta rotear o tráfego IPv6 global mesmo assim, apesar de esse intervalo de endereços não ser utilizável para essa finalidade. Sua tabela de roteamento não indica que isso é o que está acontecendo, e nenhum sistema operacional comumente usado da última década estaria fazendo isso.
  2. Um aplicativo se comporta mal e tenta fazer conexões IPv6 globais quando o computador não tem conectividade IPv6 global (ou, mais especificamente, uma rota padrão). De sua descrição, isso parece ser o que está acontecendo.

Para ser explícito: Ao anunciar um prefixo ULA, o OpenWrt não informa seus dispositivos que não há problema em acessar a Internet via IPv6. Só está dizendo a eles que não há problema em acessar sua rede doméstica via IPv6.

A solução a longo prazo é corrigir os aplicativos mal-comportados. Se você se deparou com esse comportamento em um aplicativo em particular, deve denunciá-lo como um bug para seus desenvolvedores.

A solução alternativa de curto prazo é que o OpenWrt não anuncie um prefixo ULA. Você pode ir para Rede > Interfaces , apague a caixa Prefix IPv6 ULA e clique em Salvar & Aplicar . Isso impedirá que o OpenWrt anuncie um prefixo ULA. Se você redefinir as configurações do seu roteador para os padrões, talvez seja necessário fazer isso novamente.

    
por 24.07.2016 / 21:17

Tags