Concentradores PPPoE com IPv6

De Wiki BPF
Ir para: navegação, pesquisa

Introdução

Nesse artigo, falaremos sobre como configurar concentradores PPPoE habilitando o suporte ao IPv6.

Revisão do conceito de PPPoE

PPPoE é o acrônimo de Point-to-Pont Protocol over Ethernet e foi um protocolo popularizado na época do boom da Internet Banda Larga no Brasil pela facilidade de gerência e facilidade de processo AAA (Autenticação, Autorização e Accounting). Nesse ínterim, muitos provedores e operadores que vinham de redes nativamente com IP Fixo amarrado ao MAC Address e também implementações baseadas em Captive Portal (hotspot) migraram para o PPPoE pois esse também reduzia a quantidade de broadcast circulando pela rede devido a ser um modelo de implementação baseado em protocolo ponto a ponto.

Revisão do conceito de IPv6

O IPv6 é um protocolo Internet criado para resolver alguns problemas inerentes ao protocolo IPv4 como: falta de endereços disponíveis a todos os dispositivos (gerando quebra do modelo fim-a-fim), fragmentação de pacotes no caminho (gerando alto custo computacional nos roteadores que encaminham milhares de pacotes constantemente), dificuldade na criptografia dos dados (por conta da quebra do modelo fim-a-fim e bloqueio do protocolo ICMP) entre outros problemas. Possui 128 bits de capacidade de endereçamento contra 32 bits do protocolo anterior. Trabalha com o conceito de blocos de endereçamento e não mais endereços únicos.

IPv6 para Usuários Finais

No âmbito do conceito de entrega para usuários finais, existem algumas BCOP's (Boas Práticas Operacionais) que determinam que um assinante no cenário residencial deve receber um bloco /56 para uso interno e um assinante empresarial receberia um /48 para uso interno. Além disso, como estamos tratando de PPPoE é necessário também um bloco de endereçamento /64 para endereçar o túnel PPPoE. Não vamos nos ater aos conceitos básicos de endereçamento IPv6, mas vamos falar apenas que um /64 é o mínimo bloco de endereçamento a ser manipulável e todos os demais blocos são múltiplos de 8 desse /64. Exemplo: um /56 tem 8 bits a menos que um /64. Assim sendo, um /56 possui 256 redes /64 inclusas.

Resumindo: Precisamos para cada assinante residencial de 1 /64 para o túnel e 1 /56 para prefix-delegation (bloco que será entregue para a rede interna do assinante, visto que IPv6 não necessita de NAT).

Documentação

É de extrema importância o planejamento e a documentação de uso de prefixos. Enquanto no IPv4 tínhamos uma escassez (que nos ensinou a ser econômicos), no IPv6 temos fartura. Porém, essa fartura pode atrapalhar no planejamento. Geralmente costumamos indicar o PHPIPAM (http://phpipam.net) para documentação (lembrando que é opensource e vale a pena contribuir com esse trabalho). Já no PHPIPAM, você pode documentar e separar os seus blocos em frações de trabalho. Um exemplo clássico de concentrador para 1024 assinantes segue abaixo:

Tabela de Relação de Prefixos a Serem entregues por Concentrador
Prefixo a ser entregue Tamanho Quantidade de Clientes Tamanho do Prefixo Necessário
Túnel /64 1024 /54
Prefix-Delegation /56 1024 /46

Concentrador RouterOS

Para o concentrador PPPoE RouterOS, necessitaremos criar os pools conforme definido no nosso projeto e após, indicá-los no profile usado pelo nosso Serviço PPPoE. Usaremos para esse fim, o prefixo de documentação 2001:db8::/32. É necessário certificar-se de que há rota de saída e de entrada para os pools escolhidos em cada concentrador.

IPv6 Pool.png

Nessa tela, temos a possibilidade de cadastrar os pools que serão usados pelo nosso profile PPPoE para a entrega de prefixos para os clientes que conectarem. Para fazer o cadastro de cada pool, basta utilizar o botão (+) localizado no canto superior esquerdo da tela e inserir os dados conforme o seu projeto. Lembrando que o campo Prefix Length refere-se ao tamanho do prefixo que será entregue ao usuário (/64 ou /56 dependendo do objetivo do bloco cadastrado).

Tela de Profiles.png

Já nessa tela (PPP->Profiles->"Profile Desejado"), relacionaremos os prefixos previamente configurados aos campos: Remote IPv6 Prefix Pool para o Pool de Tunel e o DHCPv6 PD Pool para o Pool de Prefix-Delegation.

IPv6 Yes.png

Na mesma tela anterior, porém na aba Protocols, devemos marcar o box Use IPv6 com a opção yes.

Apenas seguindo esses passos, nosso concentrador PPPoE RouterOS estará pronto para entregar prefixos IPv6 aos clientes.

Concentrador Accel-PPP

Para o concentrador Accel-PPP é necessário configurar no arquivo accel-ppp.conf que pode estar em /etc/ ou em outra pasta referenciada na compilação do software. Vamos aos testes!

Allow.png

Na sessão PPP, deve-se usar a opção ipv6=allow. Essa opção permite que se a CPE do assinante tenha suporte ao IPv6, ela vai receber também as informações referentes à essa pilha IP.

Pool.png

Nessa sessão, é mandatório inserir os dados referentes aos nossos pools. Usamos aqui na primeira linha o pool de Túnel e na segunda, o pool de Prefix-Delegation (assim como usamos o exemplo do RouterOS).

DNS.png

E aqui, inserimos os DNS's a serem entregues ao cliente, um em cada linha.

Conectados.png

E essa tela é a saída suprimida do comando accel-cmd show sessions (os dados intermediários dos endereços foram removidos para sigilo).

Considerações finais

Não menos importante que a implantação, cuidar da segurança da sua rede IPv6 é de altíssima importancia. Cuide sempre de firewall e de isolamento de redes de gerência fazendo o controle de forma simples e segura. E vamos seguindo em prol de um mundo IPv6-Only!

Autor: Uesley Corrêa