Eu configurei meu servidor openvpn para usar 172.31.48.0/20, onde ips de 172.31.48.0 a 172.31.62.255 são estaticamente designados e 172.31.63.0/24 são dinâmicos.
tls-server
mode server
push "topology subnet"
ifconfig 172.31.48.1 255.255.240.0
ifconfig-pool 172.31.63.0 172.31.63.254 255.255.255.0
Onde os hosts estáticos têm seu ip configurado via ifconfig-push 172.31.48.2 255.255.240.0
em um arquivo que corresponde ao seu nome comum, e está no diretório client-configs que o servidor especificou.
Os clientes que não tiverem um arquivo com um nome comum correspondente receberão um ip dinâmico no intervalo 172.31.63.0/24, mas eles não obterão um roteamento para 172.31.48.0/20, portanto, não consigo executar o ping do vpn host (172.31.48.1) para um cliente com um ip dinâmico (como 172.31.63.1)
No cliente dinâmico, ele só tem uma rota para 172.31.63.0/24, conforme especificado por ifconfig-pool
. Eu gostaria de rotear todo o tráfego 172.31.48.0/20 através do dispositivo tun que é criado pelo cliente vpn. Se eu executar este comando manualmente, tudo funcionará:
sudo route add -net 172.31.48.0/20 dev vpn1
Onde vpn1
é o dispositivo vpn especificado no arquivo ovpn do cliente
dev vpn1
dev-type tun
A opção route
no openvpn quer um ip e não uma interface de dispositivo, no entanto. Significado, isso não funcionará:
push "route 172.31.48.0 255.255.240.0 vpn1"
E se eu deixar o vpn1
, então o openvpn no lado do cliente irá reclamar que nenhum gateway foi especificado.
Como posso rotear a sub-rede 172.31.48.0/20 em clientes que obtêm um ip dinâmico?