Configurando o NAT64 em um repetidor sem fio baseado em Linux

0

Estou tentando configurar uma rede somente IPv6 com o NAT64 / DNS64 em um GL.iNet GL-AR150 executando o OpenWRT "Chaos Calmer" 15.05 (kernel Linux 3.18.27). Eu configurei com sucesso o DNS64 usando bind9 e agora estou tentando fazer com que o NAT64 funcione.

Eu instalei o "tayga" do repositório do OpenWRT:

root@GL-AR150:~# opkg info tayga
Package: tayga
Version: 0.9.2-2
Depends: libc, ip, kmod-ipv6, kmod-tun
Status: install user installed
Architecture: ar71xx
Installed-Time: 1516620745

E adquirimos um script do link que supostamente automatiza a configuração do tayga (embora eu também precisei faça algumas modificações no script para contornar alguns erros . Isso configura uma interface de rede de encapsulamento chamada nat64 e executa o tayga para processar pacotes nele. Eu posso ver via ps que tayga está sendo executado, e a interface definitivamente existe, no entanto, as tentativas de executar ping em hosts IPv4 por meio de endereços mapeados em IPv6 não estão funcionando. Não tenho certeza se isso é um problema de roteamento ou outra coisa.

A configuração do tayga produzida pelo script de inicialização é:

tun-device nat64
ipv4-addr 192.168.2.1
prefix  64:ff9b::/96
ipv6-addr fdcf:101c:d870::1
dynamic-pool 192.168.2.0/24
data-dir /tmp/db/tayga

Minha tabela de roteamento IPv6 depois de executar o script é:

Destination                                 Next Hop                                Flags Metric Ref    Use Iface
::/0                                        ::                                      !n    -1     1    12003 lo
64:ff9b::/96                                ::                                      U     1024   0        0 nat64
fdcf:101c:d870:0:2801:1f4d:c311:e529/128    ::                                      UC    0      2       31 br-lan
fdcf:101c:d870::/64                         ::                                      U     1024   1        0 br-lan
fdcf:101c:d870::/48                         ::                                      !n    2147483647 0        0 lo
fe80::/64                                   ::                                      U     256    0        0 br-lan
fe80::/64                                   ::                                      U     256    0        0 wlan-sta
fe80::/64                                   ::                                      U     256    0        0 wlan0
::/0                                        ::                                      !n    -1     1    12003 lo
::1/128                                     ::                                      Un    0      1        0 lo
fdcf:101c:d870::/128                        ::                                      Un    0      1        0 lo
fdcf:101c:d870::1/128                       ::                                      Un    0      3       52 lo
fe80::/128                                  ::                                      Un    0      1        0 lo
fe80::/128                                  ::                                      Un    0      1        0 lo
fe80::/128                                  ::                                      Un    0      1        0 lo
fe80::e495:6eff:fe43:1ef7/128               ::                                      Un    0      1        0 lo
fe80::e695:6eff:fe43:1ef7/128               ::                                      Un    0      1      230 lo
fe80::e695:6eff:fe43:1ef7/128               ::                                      Un    0      1        0 lo
ff02::1/128                                 ::                                      UC    0      0        1 br-lan
ff02::c/128                                 ::                                      UC    0      0     3578 br-lan
ff02::1:ff00:1/128                          ::                                      UC    0      0        1 br-lan
ff05::c/128                                 ::                                      UC    0      0     3520 br-lan
ff0e::c/128                                 ::                                      UC    0      0     3520 br-lan
ff00::/8                                    ::                                      U     256    5        0 br-lan
ff00::/8                                    ::                                      U     256    0        0 wlan-sta
ff00::/8                                    ::                                      U     256    0        0 wlan0
::/0                                        ::                                      !n    -1     1    12003 lo

conforme relatado por route -A inet6 ou, alternativamente, conforme relatado por ip -6 route :

64:ff9b::/96 dev nat64  metric 1024
fdcf:101c:d870::/64 dev br-lan  proto static  metric 1024
unreachable fdcf:101c:d870::/48 dev lo  proto static  metric 2147483647  error -128
fe80::/64 dev br-lan  proto kernel  metric 256
fe80::/64 dev wlan-sta  proto kernel  metric 256
fe80::/64 dev wlan0  proto kernel  metric 256

e minha tabela de roteamento IPv4 é:

Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.254   0.0.0.0         UG    0      0        0 wlan-sta
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 wlan-sta
192.168.1.254   0.0.0.0         255.255.255.255 UH    0      0        0 wlan-sta
192.168.2.0     0.0.0.0         255.255.255.0   U     0      0        0 nat64
192.168.8.0     0.0.0.0         255.255.255.0   U     0      0        0 br-lan

Informações relevantes sobre redes:

fe80::e695:6eff:fe43:1ef7/128 - é o endereço IPv6 de ligação local para o meu router

64:ff9b::/96 - é o prefixo de rede usado para mapear endereços IPv4 no espaço de endereço IPv6

wlan0 - é a rede sem fio usada para se conectar ao roteador e na qual desejo oferecer suporte a clientes IPv6 que se conectam a serviços IPv4. Eu acredito que também é superado para eth0 as br-lan (essa foi a configuração padrão do roteador que eu não mudei). Isto tem os seguintes endereços:

  • 192.168.8.1/24 - Rede IPv4 para depuração somente durante a configuração; quando tudo estiver funcionando, essa rede será removida para que somente clientes IPv6 possam usar a rede
  • fdcf:101c:d870::/64 - é o prefixo da minha rede privada roteável, a partir do qual os endereços de clientes estão sendo alocados apenas na sub-rede 0 (embora ainda não tenha feito nada para evitar que outras sub-redes sejam roteadas para a rede)

wlan-sta é uma conexão a uma rede somente IPv4 com acesso público à Internet. Esta rede tem endereços:

  • 192.168.1.254 - roteador, deve ser rota padrão para todos os pacotes destinados à Internet
  • 192.168.1.74 - endereço do GL-AR150 na rede IPv4

Os pacotes IPv4 alcançam com sucesso a Internet, mas o envio de pacotes via IPv6 falha:

root@GL-AR150:~# ping unix.stackexchange.com
PING unix.stackexchange.com (151.101.1.69): 56 data bytes
64 bytes from 151.101.1.69: seq=0 ttl=58 time=16.900 ms
64 bytes from 151.101.1.69: seq=1 ttl=58 time=22.749 ms
^C
--- unix.stackexchange.com ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 16.900/19.824/22.749 ms
root@GL-AR150:~# ping6 unix.stackexchange.com
PING unix.stackexchange.com (64:ff9b::9765:c145): 56 data bytes
^C
--- unix.stackexchange.com ping statistics ---
4 packets transmitted, 0 packets received, 100% packet loss

Eu configurei o firewall adicionando uma nova zona "nat64" com configurações:

  • dispositivos conectados "nat64"
  • aceitando pacotes encaminhados de "lan" e "wan"
  • permitindo o encaminhamento de pacotes para "lan" e "wan"

Alguma sugestão do que há de errado com essa configuração?

    
por Jules 22.01.2018 / 17:46

0 respostas