Como configurar um servidor de túnel 6in4/6to4 em um gateway Linux?

Como configurar um servidor de túnel 6in4/6to4 em um gateway Linux?

Tenho conexão IPv6 nativa (prefixo/64) e estou tentando configurar a conexão IPv6 por trás de um roteador OpenWrt. Mas descobri que não consegui usar ebtables para passar por todo o tráfego IPv6 (limitação de firmware) ou usar ndppd para fazer proxy de todas as solicitações ICMPv6 (solicitação/anúncio de vizinho, roteador upstream que não tenho controle e não os aceita por motivo desconhecido).

Parece que a única opção que tenho agora é encapsular todo o tráfego IPv6. Abaixo está a topologia da rede:

   Internet - Roteador - PC
            prefixo wan::/64
            wan 219.242.xx
            rede 10.224.0.1 10.224.36.223

Estou tentando criar um túnel entre dois endereços 10.224.xx para encapsular todo o tráfego IPv6 para obter conexão IPv6.

Procurei alguns tutoriais mas não consigo descobrir qual endereço usar como parâmetro ao configurar o túnel.

O PC está executando o Windows. Seria melhor se também fosse fornecido um exemplo de configuração.

(O gateway está executando OpenWrt, mas presumo que funcione quase como um gateway Linux?)

Responder1

Um túnel não é uma solução para o problema que você está enfrentando.

Você tem uma conexão física direta entre as duas máquinas que conectaria por um túnel, portanto, em primeiro lugar, não há necessidade do túnel. Qualquer endereçamento que você queira realizar no túnel pode ser feito diretamente na conexão Ethernet entre os dois endpoints. E fazer isso na Ethernet, em vez de em um túnel, elimina a complexidade adicional na configuração, bem como a sobrecarga de encapsulamento.

Você tem outro problema: não tem nenhum endereço para atribuir a essa conexão. Mas usar IPv6 sobre Ethernet ou IPv6 sobre um túnel não muda isso. Ambos precisam do mesmo número de endereços (exceto que fazê-lo pela Ethernet permitiria que esse prefixo fosse usado por toda a LAN).

Se quiser fazer isso corretamente, você precisará de um prefixo para a LAN, que deve ser roteado para o seu roteador. Pela sua descrição, você atualmente só tem um prefixo de link para a WAN. Isso não é suficiente, pois você precisa de outro prefixo de link para a LAN, que deve ser obtido de um prefixo roteado para o seu roteador.

Conheço um protocolo padronizado para configurar esse prefixo roteado, que é o DHCPv6. O roteador deve enviar uma solicitação DHCPv6 em sua interface WAN e solicitar um prefixo roteado. Um /64 roteado é suficiente para o que você deseja fazer agora, mas você também pode optar por um /48, /56 ​​ou /60 imediatamente, pois provavelmente em breve encontrará usos para mais de um /64 em sua LAN. A alternativa ao DHCPv6 com delegação de prefixo é o seu ISP configurar uma rota estática para o prefixo roteado para o seu roteador.

Se você descobrir que seu ISP não possui nenhum servidor DHCPv6, ou que ele nem mesmo delega um /60 ou /64, entre em contato com seu ISP para perguntar como obter um prefixo roteado para seu roteador.

Se eles se recusarem a encaminhar um prefixo para você depois que você o solicitar, é hora de procurar soluções alternativas. As duas soluções alternativas que conheço são a ponte e o proxy de descoberta de vizinhos. Do ponto de vista dos ISPs, ambos se comportarão da mesma forma e aumentarão o consumo de memória do roteador. Eles poderiam ter evitado esse uso extra de memória roteando um prefixo para você.

Você diz que nenhuma solução alternativa é suportada pelo firmware do seu roteador. Acho que isso significa que você precisará atualizar para um firmware que suporte isso.

Você também está perguntando sobre 6to4, que não está relacionado. Eu classificaria 6to4 como irrelevante para sua configuração. Porém, se você puder fazer isso no firmware do roteador, eu habilitaria um relé 6to4 no roteador, porque isso proporcionará uma comunicação mais confiável ao se comunicar com alguém que esteja usando 6to4. Eu habilitaria um retransmissor Teredo exatamente pelo mesmo motivo, o que é muito conveniente se você precisar se conectar em casa a partir de um laptop em alguma rede somente IPv4.

Responder2

É possível apenas configurar seu OpenWRT como uma ponte, para que ele apenas passe o tráfego IPv6, mas adicionar os IPs públicos e privados à interface de ponte dos roteadores para que você ainda possa ter uma rede IPv4 privada com NAT, o OpenWRT poderia atuar como um roteador de um braço. Caso contrário, fazer com que seu proxy NDP funcione pode ser o próximo passo, você tem certeza de que o kernel do Linux não está consumindo o tráfego NDP, verifique /proc/sys/net/ipv6/conf/*/accept_ra para ver a mudança de manipulação do kernel de anúncios de roteador muda o comportamento. Não sei por que você estaria olhando para ebtables, a menos que você queira filtrar o tráfego da camada 2 em uma ponte, por padrão todo o tráfego é permitido na camada 2 e a maior parte da filtragem acontece com iptables na camada 3. Se você quiser filtrar o tráfego, poderá selecionar apenas o tráfego IPv6 com base no tipo descrito em /etc/ethertypes; se quiser filtrar o IPv4, certifique-se de permitir também o ARP, é um protocolo Ethernet diferente.

informação relacionada