Você precisa colocar seu roteador DD-WRT e todos os seus computadores cliente em sub-redes diferentes para que eles não falem diretamente, mas somente através do roteador RHEL. Para isso, você deve atribuir 2 endereços IP de diferentes sub-redes à mesma NIC do roteador RHEL.
Eu construí meu laboratório para testar a configuração nas máquinas do CentOS 7. Eu também mantive o NetworkManager distante ( NM_CONTROLLED=no
em todos os arquivos ifcfg).
-
No roteador RHEL, adicione outro endereço à mesma NIC copiando a configuração atual da NIC e alterando as diretivas DEVICE e IP:
cd /etc/sysconfig/network-scripts/ cp ifcfg-eth0 ifcfg-eth0:1 vim ifcfg-eth0:1 ##### After editing mine ifcfg-eth0:1 looks like this: DEVICE=eth0:1 ONBOOT=yes NM_CONTROLLED=no BOOTPROTO=static IPADDR=10.0.0.10 PREFIX=24
-
Configure as rotas no roteador RHEL para enviar tráfego pelo túnel VPN se a conexão for para a sub-rede da universidade e a conexão padrão pelo roteador DD-WRT, por exemplo:
route add default via $dd-wrt-ip-address dev eth0 route add $univ-subnet-ip dev tun0
-
Habilite o ip-masquerading no roteador RHEL. Na minha máquina eu usei o firewalld para isso
firewall-cmd --add-rich-rule 'rule family=ipv4 masquerade'
-
Coloque as máquinas clientes da sua casa na sub-rede 10.0.0.0/24 e faça com que elas usem 10.0.0.10 (roteador RHEL) como gateway padrão.