Sub-rede IPv6 a / 64 - o que será interrompido e como contornar isso?

27

No IPv6, você não deve sub-rede para nada menor que um / 64 (RFC 5375). Entre outras coisas, o SLAAC não funciona com sub-redes menores e, aparentemente, também alguns outros recursos serão interrompidos.

Quais são as soluções alternativas para situações em que os ISPs fornecem apenas um / 64, mas você precisa de várias sub-redes internamente? O conselho comum parece ser apenas encontrar outro ISP que distribua um / 56 ou / 48. Em algumas partes do mundo, isso pode funcionar, mas em nossa região (EUA), isso não é possível devido à falta de concorrência. A maioria dos meus clientes tem sorte se tiver um único ISP atendendo sua área. Muitas pessoas aqui ainda estão discando.

Meus clientes não se qualificarão para o / 48 da ARIN.

Kevin Keane
fonte
9
Eu não tentaria implantar o IPv6 nesse cenário. Continue pressionando o ISP para fornecer conectividade adequada. Torne seus erros altamente visíveis e públicos, se necessário. Cite o capítulo e o versículo da RFC 6177. É claro que você deve primeiro se certificar de que é um erro deles e que seu equipamento está solicitando uma sub-rede maior.
Michael Hampton
5
Isso também é um mau conselho. Dadas todas as suas vantagens, a maioria das pessoas deve implantar o IPv6 na primeira oportunidade disponível. Infelizmente, muitos ISPs criaram um café da manhã completo para cães com seu serviço IPv6, tornando imprudente o uso.
Michael Hampton
2
Poderíamos argumentar durante todo o dia se os ISPs estavam fazendo o café da manhã com um cachorro (o que eles certamente fizeram!) Ou se os designers do IPv6 eram irreais na suposição de que os ISPs não fariam isso. Obviamente, não digo aos meus clientes para ficarem longe do IPv6 para sempre, apenas até que a poeira baixe. Tenho certeza de que daqui a cinco anos, ou mesmo antes, haverá um SLAAC 2.0 que suporta sub-redes menores, junto com o NAT (muitos roteadores já o implementam de qualquer maneira) e tudo o mais necessário para fazer o IPv6 funcionar diante das adversidades. Eu estava procurando mais soluções no momento.
Kevin Keane
4
Não conte com a bagunça IPv4 como o NAT para funcionar corretamente com o IPv6. NAT era um truque, não uma característica ...
Sander Steffann
3
@KevinKeane NAT sempre foi um hack e sempre será. Todo problema que as pessoas tentaram resolver usando o NAT tem uma solução real que não envolve o NAT - mas provavelmente envolve o IPv6. A grande maioria das quebras de que você fala pode ser atribuída a implantações de NAT ou IPv6 incompletas.
kasperd

Respostas:

28

Se o ISP não lhe fornecer mais que / 64, esse ISP é péssimo. Se houver algum alívio, posso lhe dizer que tenho que lidar com ISPs que sugam ainda mais do que isso. Por aqui, é perfeitamente normal retirar endereços IPv4 públicos dos clientes e colocá-los atrás de uma CGN. E se você solicitar endereços IPv6, eles dirão que não estão oferecendo IPv6 porque ainda não há endereços IPv4, e enquanto houver servidores sem suporte a IPv6, eles não oferecerão IPv6 porque é impossível um cliente de pilha dupla para conectar-se a um servidor somente IPv4.

Se algum provedor de serviços de Internet me desse o que você tem, eu aceitaria porque é uma droga menos do que o que pude obter até agora.

Avançando, há duas abordagens que recomendo que você siga em paralelo.

Coloque pressão no ISP

Coloque o máximo de pressão no ISP possível. Isso inclui entrar em contato com outros ISPs e, possivelmente, mudar se algum outro ISP puder oferecer um acordo melhor.

Certifique-se de testar o que acontece se o seu roteador solicitar um / 48, / 52, / 56 ou / 60 delegado através do DHCPv6 na WAN. Eu testaria todos os quatro comprimentos de prefixo para o caso de o servidor DHCPv6, por algum motivo, distribuir apenas um comprimento de prefixo específico e ignorar solicitações de outros comprimentos de prefixo.

Faça o melhor do que você tem

Dado que você provavelmente terá que conviver com alguns hacks a seguir em frente, você deve se perguntar qual é a menor quantidade de IPv4 com hacks ou IPv6 com hacks.

Existem alguns hacks que você pode usar para estender um único / 64 a muitos hosts.

Transformando um prefixo de link em um prefixo roteado

Se você tiver um único / 64 no link WAN, mas nenhum prefixo roteado para sua LAN, poderá transformá-lo / 64 em um prefixo roteado com algumas etapas. Configure a interface WAN no seu roteador como um / 126 em vez de / / 64. Instale um daemon de anúncio vizinho (como ndppd) no roteador para anunciar seu próprio endereço MAC para cada endereço no / 64, exceto pelos 4 endereços no / 126. Com essas duas etapas, você terá um / 64 roteado que poderá ser usado na sua LAN, com exceção dos 4 endereços usados ​​para o link da WAN.

Uma versão modificada desse hack pode compartilhar o link / 64 em vários roteadores. O prefixo do link terá que ser um pouco menor que / 126 para acomodar um endereço IP para cada roteador, um / 120 seria curto o suficiente para permitir até 254 roteadores.

Obviamente, cada roteador obterá apenas um prefixo que será maior que / 64. Eu recomendo que você faça o prefixo para cada roteador o máximo que puder enquanto ainda tiver endereços IP suficientes para a LAN nesse roteador. A / 112 ou / 120 para cada roteador provavelmente seria adequado. Cada roteador responde com seu próprio endereço MAC para a descoberta de qualquer coisa dentro do prefixo desse roteador.

Nesta variante, cada roteador terá prefixos idênticos configurados no lado da WAN e responderá a solicitações de descoberta de vizinhos para o prefixo atribuído ao lado da LAN. Obviamente, nenhum dos prefixos da LAN pode se sobrepor e nenhum deles pode se sobrepor ao prefixo que você configurou no lado da WAN.

Portanto, se o roteador ISP atuando como seu gateway estiver no endereço 2001: db8 :: 1/64, você poderá usar 2001: db8 :: / 120 como sua WAN e poderá atribuir 2001: db8 :: 1: 0/112 a o primeiro roteador, 2001: db8 :: 2: 0/112 para o segundo roteador, etc.

Na LAN, você pode estender um / 64 para muitos hosts sub-rede ou ponte. Você terá que descobrir qual dos dois funciona melhor para você.

Sub-redes

Se você fizer a sub-rede do / 64, poderá também usar os prefixos mais longos, que ainda possuem endereços suficientes para os hosts necessários. Não sub-rede em prefixos / 80, vá com / 116, / 120 ou / 124 por sub-rede. É improvável que as coisas que quebram se você não usa o / 64 se importem e, seguindo o / 116 ou mais, você reduzirá o impacto de certos ataques de DoS de descoberta de vizinhos (se presentes em qualquer um dos seus sistemas).

Nessa configuração de sub-rede, você interromperá o SLAAC; portanto, é necessário um servidor DHCPv6 para responder em cada segmento e endereços IPv6 estáticos configurados em todos os dispositivos sem o suporte ao DHCPv6.

Bridging

A ponte é a outra alternativa. Essencialmente significa que você não faz sub-rede, mas executa toda a LAN como um único segmento IPv6 com um prefixo / 64. (Se necessário, esse / 64 pode abranger tanto a LAN quanto a WAN.)

O IPv6 foi projetado para permitir que as pontes reconheçam a quais redes de ponte cada endereço de anycast precisa ser encaminhado. Dessa forma, você evita ter que transmitir pacotes em todos os links físicos da sua LAN.

As pontes também podem aplicar firewalls e proteção contra falsificação de descoberta de vizinhos na LAN.

Com inteligência suficiente nas pontes, em princípio não há limite para quantos switches você pode conectar um único / 64.

Kasperd
fonte
Obrigado! Esse era exatamente o tipo de resposta que eu estava procurando! Eu particularmente gosto da sua idéia de transformar o / 64 em um prefixo roteado. Você pode elaborar um pouco sobre isso, por favor? Primeiro, não entendo por que você sugere um / 126, em vez de um / 127? Quais endereços IP são usados ​​onde? Em segundo lugar, em um de meus clientes, na verdade, tenho três roteadores internos separados. No IPv4, eles têm três IPs públicos diferentes no / 29 fornecidos pelo ISP. Seu esquema ainda funcionaria com esses roteadores?
Kevin Keane
Além disso, não sei como instalar um Daemon Advertising em qualquer um dos roteadores. Um roteador é o Fortigate, um é o Belkin, e acho que o terceiro é o Linksys.
Kevin Keane
@KevinKeane A razão pela qual sugiro um / 126 é que muitas vezes você precisará de pelo menos três endereços dentro do prefixo. No lado do ISP, o roteador pode ter o prefixo configurado como 2001: db8 :: 1/64, o que significa 2001: db8 :: é especial e 2001: db8 :: 1 é usado pelo roteador ISP. Seu próprio roteador normalmente seria configurado com 2001: db8 :: 2, o que significa que você usou três endereços e um / 127 não será suficiente. O A / 127 poderia ter funcionado se você não tivesse usado um hack com comprimento de prefixo diferente configurado nas duas extremidades do link.
kasperd
obrigado por explicar isso! Portanto, quando tenho três roteadores que atendem a três redes internas diferentes, devo usar um / 125 e cada roteador anunciaria, por meio de publicidade vizinha, seu próprio MAC apenas para os IPs na sub-rede correspondente?
Kevin Keane
1
Existe uma RFC informativa, RFC 7421, Análise do limite de 64 bits no endereçamento IPv6 , que tem uma discussão completa da /64sub - rede e o que há de errado quando não a uso.
22416 Ron Maupin
10

Sim, pressionar o provedor de serviços de Internet para não sugar é a opção preferida. As políticas de alocação de RIR assumem que o ISP está dando a cada cliente um / 48; não há absolutamente nenhuma razão para o ISP não fazer isso.

O IPv6 não é fã de sub-redes menores, no entanto, a única coisa que deve quebrar, do que sei, é o SLAAC. Você terá problemas com bugs e suposições em algumas pilhas IPv6, que assumem cegamente "/ 64 == sub-rede", mas isso é um bug, não um recurso, e você pode bater no fornecedor para corrigi-lo. Se ele é corrigido antes do seu provedor de serviços de Internet fornecer um / 48, por outro lado ...

mulher
fonte
Eu acho que algumas partes do protocolo de descoberta de vizinhos também devem quebrar. O RFC 5375 tem uma lista completa de outras coisas, mas eu realmente não sei as implicações práticas. Às vezes, conseguir um / 64 pode ser simplesmente uma questão de dinheiro. O seu ISP pode conceder aos usuários domésticos apenas a / 64 e / 48s apenas às contas comerciais. Só porque você deseja separar seu escritório em casa ou seu Wi-Fi do resto da casa, ou porque deseja que uma sub-rede separada seja usada para máquinas virtuais? Desculpe o discurso retórico - estou tentando lidar com um problema aqui, não tentando mudar coisas que não consigo controlar.
Kevin Keane
2
Se o seu provedor de serviços de Internet quisesse ter um total controle sobre isso, eles entregariam um / 128 a cada assinante residencial. Eu acho que você pode acenar RFC 5375 no ISP e diga-lhes para lhe dar IPv6, em vez de IPv5.5 ...
womble
De fato, pelo menos um ISP que conheço faz isso (Verizon Wireless). É uma das razões pelas quais argumento que o NAT ainda é necessário no IPv6. Mas isso é separado da minha pergunta, é claro.
22415 Kevin Keane
1
A recomendação / 48 do RFC 3177 não é mais válido, a maioria dos RIRs agora recomendar um / 56 para os locais finais como descrito no RFC 6177: tools.ietf.org/html/rfc6177
skrause
@skrause Não que isso faça diferença de qualquer maneira. Existem / 48s suficientes para que eles não acabem. Mesmo com uma taxa de HD de 80%, seriam necessários 2 ^ 36 alocados / 48s antes que a IANA consumisse todo o ano 2000 :: / 3. E, a menos que seu site final seja um data center importante, o / 56 possui sub-redes suficientes para o site final.
precisa saber é o seguinte