Existe uma maneira de sempre usar o mesmo endereço IPv6 do Teredo?

4

Um dos meus computadores está em um ISP somente IPv4, por isso estou usando o miredo para ter um endereço IPv6. Agora preciso acessar esse computador remotamente com o IPv6. (Eu não posso usar o IPv4 aqui porque ele está atrás de um NAT e não posso adicionar novos encaminhamentos de porta.) O problema é que não posso adicionar um registro DNS AAAA porque algumas partes do endereço IP são alteradas aleatoriamente toda vez que o computador se conecta à rede.

Então, minha pergunta é: existe uma maneira de sempre usar o mesmo endereço IP com Teredo?

    
por Rudloff 28.09.2015 / 21:00

4 respostas

2

Os endereços IP do Teredo dependem de algumas coisas, conforme Wikipédia .

Primeiro, depende do endereço IPv4 do roteador. Se isso está sujeito a alterações, você tem um problema.

Segundo, isso depende da porta de origem usada pelo Teredo, que pode ser traduzida e alterada pelo dispositivo NAT. Se o seu dispositivo NAT preservar a porta de origem usada pelos aplicativos no interior, você poderá conseguir que isso seja imutável. Se você estiver no Windows, a opção "clientport" para o Teredo pode ser útil. Veja este artigo do technet.

Resposta curta: Você pode conseguir que seja a mesma coisa na maior parte do tempo, mas sua milhagem pode variar consideravelmente. Provavelmente, você não conseguirá obter essa confiabilidade porque o dispositivo NAT pode mangle sua porta de origem. Você pode ser capaz de parar isso configurando os encaminhamentos de porta no seu firewall ... mas você já não pode fazer isso ... então ...

Uma opção melhor pode ser configurar um cliente DNS dinâmico, supondo que você possa encontrar um que publique um endereço IPv6 de uma interface teredo.

    
por 28.09.2015 / 22:01
1

Aparentemente, como RFC 5991 , algumas partes do endereço IPv6 são sempre aleatórias, a fim de torná-lo não previsível .

Portanto, a solução mais fácil para mim foi usar um serviço DNS dinâmico que suporte IPv6 como o dynv6.com.

    
por 29.09.2015 / 12:47
1

Sim, é possível fazer isso com o protocolo Teredo. Mas requer código modificado no cliente Teredo e no servidor Teredo.

Para explicar por que ainda pode ser considerado o mesmo protocolo depois que o cliente e o servidor foram modificados, primeiro tenho que explicar quais são os outros componentes envolvidos na comunicação.

Noções básicas sobre o Teredo

Os quatro nós de rede críticos em uma comunicação usando o protocolo Teredo são:

  • cliente Teredo
  • servidor Teredo (escolhido pelo cliente)
  • Relé de Teredo (escolhido pelo nó IPv6 nativo)
  • Nó IPv6 nativo

Por fim, é o cliente Teredo e o nó IPv6 nativo que deseja trocar os pacotes IPv6. Os servidores Teredo e as retransmissões Teredo existem para facilitar esse tráfego.

O servidor Teredo está envolvido apenas na configuração inicial da conexão. Depois que a conexão é estabelecida, o tráfego entre o cliente Teredo e o nó IPv6 nativo passa pelo relé sem que o servidor Teredo veja qualquer tráfego.

Como o cliente não tem influência sobre a escolha do Teredo Relay, qualquer solução que exija mudanças no relay não funcionará. Felizmente isso não é necessário. A conexão entre cliente e retransmissão onde a maior parte do tráfego é enviada continuará sendo o tráfego Teredo completamente padrão.

Como o cliente e a retransmissão ainda se comunicam usando Teredo padrão e porque o cliente ainda tem um endereço IPv6 no prefixo 2001::/32 , isso ainda se qualifica como Teredo.

Alterações necessárias

12 dos bits no endereço Teredo são escolhidos aleatoriamente pelo cliente Teredo. Uma modificação é necessária no lado do cliente para que não seja aleatória.

48 dos bits no endereço Teredo são o endereço IPv4 e o número da porta UDP do cliente Teredo, conforme visto pelo servidor Teredo.

Aqui é muito importante que esses 48 bits sejam o endereço de porta visto pelo servidor. Devido ao NAT, o cliente e o relé podem achar que a porta UDP tem um endereço completamente diferente. Mas o que o endereço IPv4 e o número de porta do cliente e o relé não têm influência no endereço IPv6 final.

Normalmente, o único NAT envolvido está localizado próximo ao cliente Teredo. Mas se você quiser influenciar o endereço IPv6 final, um NAT pode ser colocado na mesma máquina que o servidor Teredo. É até mesmo possível criar o NAT diretamente no servidor Teredo se você estiver inclinado.

Existe alguma implementação disso?

Provavelmente não.

Eu já implementei mais de um servidor Teredo fazendo isso. Mas o cliente só poderia escolher o endereço IPv4 e não o número da porta UDP. Eu precisava do número da porta UDP para distinguir clientes.

Um servidor Teredo com suporte para manter o endereço IPv4 e a porta UDP estática para um usuário específico precisaria de alguma maneira de reconhecer o usuário. Existem campos no protocolo, que poderiam ser usados para isso. Mas não conheço nenhuma implementação com suporte para identificar clientes Teredo em relação a servidores Teredo.

Além disso, Teredo sofre de um problema significativo de confiabilidade. Esse problema de confiabilidade está relacionado à parte do protocolo Teredo, que não é afetada por nenhuma modificação que descrevi aqui.

O problema com o Teredo

O problema é como o nó IPv6 nativo escolhe qual retransmissão Teredo usar. Idealmente, o administrador da rede na qual o nó IPv6 nativo está localizado configuraria uma retransmissão Teredo para essa rede (e a localizaria fora do NAT, caso a NAT estivesse sendo usada para IPv4).

Mas muitos administradores optam por não implantar uma retransmissão Teredo. Geralmente raciocinando que desde que Teredo é tão pouco confiável, eles não precisam apoiá-lo (nunca percebendo que esse raciocínio torna a falta de confiabilidade de Teredo uma profecia auto-realizável).

O que acontece é que o tráfego do nó IPv6 nativo será enviado através da rota padrão para o provedor upstream que, por sua vez, pode enviá-lo para seu provedor upstream e, eventualmente, o tráfego pode acabar em um retransmissor público de terceiros. AS que decidiu anunciar 2001::/32 .

Usar um retransmissor de terceiros significa um caminho de rede mais longo que, por sua vez, significa maior latência. Isso também significa que não há SLA e o Teredo Relay pode não ter capacidade suficiente para o tráfego ser enviado a ele.

A maioria dos casos em que um endereço IP estático é desejado, alguma confiabilidade também é desejada. E como você raramente tem controle sobre todos os nós remotos com os quais você se comunicará, você também não tem controle sobre quais relés Teredo serão usados.

Isso torna a Teredo com endereço IP estático um produto de nicho para os poucos que desejam instalar um cliente Teredo modificado para obter um endereço IP estático sem garantias de confiabilidade.

    
por 29.09.2015 / 15:19
0

Você pode estar melhor com um túnel 6in4 . Isso usa o protocolo 41 não requer regras NAT adicionais. Existem corretores que fornecem túneis gratuitos. Contanto que você seja o único em sua rede usando o IP do agente de encapsulamento, não deverá haver problemas.

Se o endereço IP do seu roteador não for estático, você precisará fazer uma configuração adicional para reconfigurar a rede quando o endereço IP for alterado. Isso é semelhante ao que você precisa fazer com o DDNS.

Faça o firewall da sua conexão, pois você não terá um NAT protegendo você contra tráfego indesejado.

O suporte para 6in4 e 6to4 está embutido no Linux. Eu originalmente comecei com 6to4 que funcionou, mas não foi tão estável quanto eu gostei. Com 6in4 , tive conectividade estável. Eu tenho usado para conectividade NTP e obter fontes de tempo estáveis sobre IPv6.

    
por 29.09.2015 / 06:15

Tags