Você pode fazer isso com o OpenVPN.
No entanto, existem duas dicas:
-
Configure o roteamento / firewall no roteador de uma maneira que bloqueie os pacotes entre a interface tun e outras interfaces.
-
habilite client-to-client
em openvpn config (apenas adicione-o no arquivo .conf no servidor)
O OpenVPN, por padrão, fornecerá o mesmo endereço IP ao cliente na reconexão. Há casos em que isso pode não acontecer: o pool está ficando sem IPs, a configuração é movida para outro servidor sem arquivos em / var, etc.
Para garantir que o mesmo IP seja reconectado, use a diretiva client-config-dir
. Nele você cria arquivos com o mesmo nome que o DN do certificado do cliente, então é só adicionar lá
ifconfig-push <ip-of-server-in-vpn> <ip-of-client>
onde o IP do servidor é aquele na interface tun (IP privado)