A maior dificuldade que tive ao elaborar esta solução não foi com o sistema em sim, mas sim em encontrar toda a informação que precisava sobre o funcionamento do sistema da MEO. A maior parte da informação encontra-se neste fórum, mas está toda espalhada por posts nas mais diversas threads, e algumas delas já com uns aninhos em cima. Daí estar a reunir toda a informação que precisei aqui. Espero que ajude mais alguém.
Já agora – Esta informação foi a que consegui arranjar. Funcionou no meu caso, mas casa queiram experimentar nos vossos equipamentos descarto desde já responsabilidade por qualquer problema que ocorra. Nunca perguntei, mas tenho quase a certeza que estas configurações não são suportadas pela MEO.
Após este “disclaimer” vamos ao que interessa. Por favor leiam tudo até ao fim antes de começar a tentar aplicar estas configurações.
1. Hardware necessário (para além do fornecido pela MEO):
Servidor Linux com 3 portas ethernet (vamos chamar-lhe GNU/Linux Server – GLS para simplificar);
Ou
Se o GLS não dispuser de 3 ethernet, pode-se utilizar um GLS com apenas 2, recorrendo adicionalmente a um switch de rede qualquer (não precisa de ser um smart switch) com pelo menos 4 portas.
2. Esquema de ligações:
?
3. Distribuição de funcionalidades:
Com este setup, as funções de cada aparelho tornam-se pouco usuais. Essencialmente o ONT mantém o seu papel, mas o router MEO fica a funcionar como um simples “access point”, sem funções de “routing” quase nenhumas, sendo este papel de gestão de rede assegurado pelo GLS.
4. Configurações genéricas do GLS:
Não faz parte deste tutorial explicar como configurar os serviços que o GLS corre, mas são os seguintes:
- OpenVPN – Faço a ressalva que é necessário criar um virtual device (tap0) e que depois é preciso colocar em bridge mode com o interface enp1s0 num device denominado br1. A melhor informação sobre isto encontra-se ou na documentação do OpenVPN ou na Archwiki.
- dnsmasq (servidor de DNS e DHCP)
5. Configurações específicas do GLS
Tal como descrito na figura, o nome dos interfaces de rede do GLS são enp0s0, enp1s0 e enp2s0.
5.1 – Internet no GLS
Ligamos o ONT diretamente ao enp0s0. Podemos reparar que se usarmos um cliente de DHCP neste interface não vamos receber nenhum endereço de rede. Isto acontece porque a MEO usa um sistema de “Vlans”. Mais uma vez, a Archwiki explica como configurar uma VLAN muito melhor do que eu alguma vez conseguiria expor aqui, neste caso a VLAN12.
A partir do momento em que usem um cliente de dhcp no novo interface virtual, já devem receber um endereço de IP. O primeiro passo está concluído e o GLS tem agora acesso à Internet.
5.2 – Servidor de DHCP no GLS
De seguida, configuramos o nosso servidor de DHCP do GLS para atribuir endereços numa gama diferente do router MEO. Este geralmente funciona no range 192.168.1.0/24. Vamos configurar o nosso servidor GLS numa gama completamente diferente para não haver enganos. No meu caso estou a usar 10.10.10.0/24 (alguém se lembra do pai natal número 10 10 10?), mas usem o que acharem melhor.
Atenção que as configurações do “dnsmasq” não devem incidir sobre o interface enp1s0, mas sim sobre o interface br1 se estiverem a usar uma bridge de openvpn para ligar o interface virtual tap0 com o físico enp1s0.
Um outro passo muito importante é ir à configuração do nosso servidor de DHCP e atribuir um endereço diferente à MEO Box. Para tal, apontamos o MAC Address da vossa MEO Box e configuramos o “dnsmasq” (neste caso) para atribuir a esse endereço físico o seguinte endereço de IP: 192.168.1.60. Este endereço tem de ficar na gama dos endereços atribuídos pelo router MEO. Não é preciso preocuparmos-nos com route pushing nem nada.
5.3 – Bridge entre o ONT e o router MEO
Agora precisamos de criar um interface de bridge entre o dispositivo virtual de VLAN12 e o nosso enp0s2 que liga à porta WAN do router MEO. Mais uma vez a ArchWiki mostra como é simples fazer isso.
Se tudo correu bem, neste momento o router MEO tem acesso à Internet com um endereço de IP público diferente do servidor GLS. Estamos quase a chegar ao fim.
5.4 – Configs do router MEO
Agora chegamos à parte mais “tricky”.
Primeiro vamos atribuir ao router meo um novo endereço de IP. Vamos manter os que já lá estão inalterados, mas vamos acrescentar o endereço 10.10.10.2 à gama de endereços nas quais o router fica pronto a responder. Isto vai facilitar-nos a vida mais tarde quando quisermos aceder ao router.
Agora o que temos a fazer é desligar o servidor de DHCP do router. V6 e V4. Sim, isso mesmo. O router passa agora a ser um mero access point. Depois de isto estar desligado, podem ligar a porta enp0s1 do GLS a uma das portas LAN do router e a Meo Box a outra. Se tudo correu bem, agora o GLS é responsável pela rede local e a MEO Box continua a funcionar via Router MEO. O telefone não deve ser afetado.
6. Com um switch
Se quisermos usar um switch de rede, ou não tivermos uma máquina com 3 portas ethernet, basta esquecer as configurações da br1 e ligar o ONT ao switch, onde também fica ligado o Router MEO e o GLS na porta enp0s0. O resto mantém-se.
A vantagem desta abordagem é que a TV fica completamente independente do GLS.
Por outro lado, obriga a ter mais um aparelho ligado (o switch).
Feedback é bem vindo!