As abordagens gerais são:
- Impede que pacotes indesejáveis sejam enviados usando o firewall.
- Ajuste a tabela de roteamento para que os pacotes nunca passem pelo caminho direto.
O primeiro método pode ser implementado através da filtragem de pacotes de saída com base em seu endereço source , pois você terá endereços diferentes para a sub-rede LAN e para o túnel VPN. (Claro, você precisa adicionar uma exceção para o próprio cliente VPN).
O segundo, removendo a rota "padrão" existente (0.0.0.0/0 ou :: / 0) para que os pacotes sejam imediatamente retornados com erros de "Rede inacessível". Novamente, você precisa configurar uma exceção para o servidor VPN, adicionando uma rota muito estreita (possivelmente até / 32 ou / 128).
Alguns sistemas operacionais também suportam "domínios de roteamento", "VRFs" ou "namespaces de rede" que limitam quais interfaces de rede um programa ainda vê - para que você possa criar um namespace separado para o cliente VPN e atribua a interface Ethernet física a ele. (Os programas restantes serão forçados a usar o que restar, por exemplo, no Linux, uma interface virtual "veth" para comunicação entre entre namespaces.)