Configurando IPv6 no pfSense
Se você está aqui provavelmente está com dificuldades de configurar o IPv6 no pfSense ou quer entender o processo antes de colocar a mão na massa. Essa postagem não contempla explicações detalhadas do funcionamento do IPv6, é só um resumão de como fazer o processo no pfSense e ficar funcional, não é um manual de boas práticas. Vou apresentar 3 modos de implementar, 1 mais perto de correto, 1 gambiarra e 1 “criminoso”. Não vou encher o post de prints, acredito que você conheça o pfSense e saiba onde estão as opções, o importante é entender o processo e como aplicar.
Modo 1 – O mais perto de correto
Digo mais perto de correto porque ele não cobre todas as melhores práticas, mas penso que atenda a maioria dos cenários.
Pra começar, precisa ter em mãos um bloco maior que /64 de IPv6, na maioria dos casos que vi eles forneceram um /56 e alguns poucos casos um /48, e isso é ótimo, permite a criação de mais de um /64.
Vi alguns casos de provedores locais que fornecem um /126 pra WAN e outro /64 para LAN, também serve, o importante é que esse /64 ser roteável e estar na interface que sua rede interna enxergue.
Por estar na interface interna, preste atenção no firewall, por padrão o pfSense deixa tudo fechado na entrada, sendo necessário configurar abrir manualmente no Firewall > Rules.
O primeiro passo é quebrar o bloco que te deram, podes fazer isso manualmente como melhor entender ou usar essa ferramenta
Vamos tomar como recebido o bloco 2001:db8::/32 e um gateway informado pela fornecedora.
Siga os passos:
1- Em Interfaces, selecione a WAN que deseja configurar, em IPv6 Configuration Type selecione Static, então abrirá a opção Static IPv6 Configuration, ali, em IPv6 Address coloremos 2001:db8:0:1:: e selecionaremos /64, em IPv6 Upstream gateway clique em Add a new gateway, marque default gateway e em Gateway IPv6 coloquei o gateway informado pela fornecedora.
IMPORTANTE > se a operadora fornecer outro bloco, como um /126, configure conforme informado, incluindo o gateway, o /64 será, portanto, exclusivo da LAN.
2- Em Interfaces, selecione a LAN que deseja configurar, em IPv6 Configuration Type selecione Static, então abrirá a opção Static IPv6 Configuration, ali, em IPv6 Address coloremos 2001:db8:0:2::1 e selecionaremos /64, em IPv6 Upstream gateway coloque None.
Neste ponto, se você configurar qualquer máquina da LAN manualmente com 2001:db8:0:2::xxxx/64 ele já deverá conseguir dar ping pra fora.
IMPORTANTE > A parte 3 têm várias maneiras de fazer, o jeito que vou colocar não é uma recomendação, é apenas uma das formas, em muitos cenários isso me causou menos questões/problemas, principalmente quando existem redes muito heterogêneas.
3- Em Services > DHCPv6 Server & RA, selecione LAN e DHCPv6 Server
Aqui já virá parte preenchida, em Range você pode colocar 2001:db8:0:2::aaaa até 2001:db8:0:2::ffff, em Prefix Delegation Size, /64 e DNS Servers, coloque os DNS do fornecedor ou seus próprios, em Provide DNS servers to DHCPv6 clients deixe marcado, veja se Enable DHCPv6 server on interface LAN está marcado (primeira opção) depois desça e clique em Save.
Após, clique em Router Advertisements e depois em Router mode selecione Assisted (você pode escolher o que for melhor pra você, tem mais informações aqui), depois em DNS Configuration, preencha os servidores DNS novamente e em Use same settings as DHCPv6 server, deixe marcado, Provide DNS configuration via radvd, deixe marcado e clique em Save.
Neste ponto os dispositivos de rede interna já devem estar recebendo IPv6, sugiro 2 opções de sites pra você testar:
Modo 2 – Gambiarra
Como próprio nome diz, não deve ser sua primeira opção, mas o que fazer quando o fornecedor não entrega algo maior que /64? Dá pra quebrar em redes menores? Sim, dá, mas foge de várias especificações, muitos sistemas operacionais não vão fazer uso por padrão. Então?
Minha sugestão aqui não é uma boa prática pra isso, mas funciona.
1- Crie uma bridge entre a WAN e LAN.
2- Crie uma regra no firewall bloqueando todo tráfego de IPv4 com qualquer origem e qualquer destino.
3- Configure o IPv6 da LAN como se fosse a WAN do modo 1.
4- Configure o DHCPv6 para a bridge da mesma forma do modo 1.
Neste modo o gateway padrão será o firewall, mas se for configurado manualmente o gateway da fornecedora também será alcançado, isso pode ser tornar um problema em caso de uso indevido.
Pode favorecer uma série de brechas na rede, então teste com cuidado e avalie se vale o risco, por padrão, neste modo, só haverá conexões de entrada nos endereços que forem liberados em Firewall > Rules, mas se um dispositivo utilizar o gateway da fornecedora pode ficar completamente aberto na internet.
Modo 3 – “Criminoso”
O jeito totalmente errado de implementar mas funciona.
1- Configure a WAN conforme o modo 1.
2- Configure a LAN com um endereço local. (Pode utilizar esta ferramenta), sem gateway.
3- Em Firewall > NAT > Outbound, marque Hybrid Outbound NAT e crie uma nova regra, com interface WAN, Address Family IPv6, Protocol any, Source any, Destination any, clique em Save
4- Configure o DHCPv6 da mesma maneira que o modo 1.
Pronto, você vai alcançar endereços IPv6, mas nenhum navegador (e provavelmente nem o sistema operacional) vai usar como padrão.
Adendo
Existe o proxy-NDP que poderia ser utilizado no Modo 2 ao invés da bridge, mas o pfSense não suporta até o momento desta postagem.
Maiores informações
Para maiores e melhores informações sobre o IPv6 recomendo: