5 de Julho, 2021

OpenWrt / DD-WRT: Altice MEO GlobalConnect Pack

Informática, ISP, Open-Source, Servidores

OpenWrt / DD-WRT: Altice MEO GlobalConnect Pack

5 de Julho, 2021 | Informática, ISP, Open-Source, Servidores

Este serviço de Internet e VoIP “empresarial de gama alta” é vendido como podendo ser configurado em “bridge” no qual um router do cliente pode alocar um IP público, mas não é bem assim. No fim deste artigo deverá ser claro como configurar o serviço MEO GlobalConnect Pack num router DD-WRT, OpenWrt ou num servidor.

Considerações importantes sobre o serviço:

  1. O router Technicolor instalado não tem interface de gestão nem será fornecida;
  2. O serviço de Internet está disponível na VLAN 20 da ONT;
  3. O acesso à Internet é um CGNAT;
  4. O “bridge” terá de ser pedido ao técnico durante a instalação;
  5. Os pedido de suporte requerem o preenchimento de um formulário com dados da instalação que provavelmente o cliente não tem.

Em CGNAT o router da MEO e/ou do cliente estão ligados a uma rede privada 100.64.0.0/10 e não directamente à Internet. A MEO reencaminha todos os pacotes que cheguem ao IP público alocado ao cliente para o respetivo IP privado. A “bridge” não funciona como nos clientes de gama baixa em que qualquer dispositivo ligado à ONT terá a possibilidade de alocar IPs.

Ao pedir “bridge” o técnico irá fornecer os seguintes dados:

VLAN Internet: 20
IP WAN Local: 100.64.194.2
IP WAN Remoto: 100.64.194.1
IP Internet: 62.10.20.30/32

“Adivinhem que isto é um CGNAT e descubram como funciona o nosso serviço.”

Em “bridge” o serviço está disponível na porta 4 do router da MEO untagged (sem VLAN). Caso pretendam ligar directamente à ONT terão de ajustar o vosso router/switch para usar a VLAN 20. Os IPs WAN percentem a uma subnet /30, ou seja, uma máscara 255.255.255.252.

Para configurar o serviço no DD-WRT vamos a Setup > Basic Setup e definimos a WAN Connection Type como:

Connection Type:  Static IP
WAN IP:           100.64.194.2       <--- O nosso IP WAN Local
Subnet:           255.255.255.252
Gateway:          100.64.194.1       <--- O nosso IP WAN Remoto

Após isto já conseguimos fazer ping ao IP WAN Remoto. Agora precisamos de adicionar o IP público real aos IPs da WAN do router e definir algumas regras. Em Administration > Commands adicionamos o seguinte aos comandos da firewall:

ip addr add 62.10.20.30/32 dev vlan2
iptables -t nat -A POSTROUTING -o vlan2 -j SNAT --to 62.10.20.30
iptables -t nat -I POSTROUTING -s 172.26.1.0/24 -j SNAT --to-source 62.10.20.30

Neste caso:

  • O IP público estático é o 62.10.20.30;
  • No router Netgear R7000 a vlan2 é o acesso à Internet. Noutros routers é necessário verificar em Setup > Switch Config qual é a VLAN que está associada à porta WAN do router;
  • A rede privada do cliente é 172.26.1.0/24. Por default será o tradicional 192.168.1.0/24.

A primeira regra adiciona o IP estático à Interface. As seguintes aplicam SNAT de forma a que todo o tráfego a ser enviado “para fora” saia com o IP público final em vez do WAN IP. Na MEO, ao contrario de outros CGNAT’s, o cliente é que tem de ser responsável por metade do trabalho. 😉

Acesso Externo a Serviços do Router

Quem ficou a pensar que a saga do CGNAT “martelado” acabou aqui engana-se. Mais uma vez a MEO só faz metade do trabalho e recebemos os pacotes da Internet com o IP público/estático em vez do IP privado que usamos como WAN.

Como era de esperar os serviços do router ex. WebUI e OpenVPN estão pensados para fazer bind ao WAN IP e como tal ignoram o tráfego do IP público que adicionamos manualmente. Para resolver esta situação podemos:

iptables -A INPUT -p udp -s 62.10.20.30 --dport 4713 -j ACCEPT
iptables -t nat -I PREROUTING -i vlan2 -p udp --dport 4713 -j DNAT --to-destination 100.64.194.2:4713 

Permitir tráfego UDP no porto 4713 do IP público e logo a seguir a reescreve-lo para o WAN IP (da rede privada da MEO). Assim o serviço é abstraído do CGNAT e das confusões da MEO. Alternativamente podemos modificar a regra anterior para reescrever o IP de qualquer pacote que chegue mas isso já fica ao critério de cada um.

Configuração no OpenWRT

Também é possível configurar o serviço no OpenWRT e para tal remeto para esta página do projecto que me ajudou bastante a chegar às conclusões anteriores.

Espero ter ajudado e queria só deixar o comentário de que é absurdo a MEO implementar um setup deste género em clientes empresariais. Pior do que isso é a implementação do CGNAT ser incompleta e os técnicos/suporte não a saberem descrever ou sequer fornecer os dados completos.