Um guia 'curto' para noobs como eu, que não sabem muito sobre redes. Não há muita novidade aqui, mas um resumo de todas as boas opções descritas nas respostas anteriores e em outros tópicos relacionados. Todo o procedimento consiste em 3 etapas básicas:
1) Faça todo o tráfego NÃO passar por VPN. Para isso, desmarque a Use default gateway on remote network
caixa de seleção nas configurações da VPN. Desmarque esta caixa de seleção para IPv4 e IPv6. Normalmente, desabilito completamente o protocolo IPv6 para a conexão VPN.
(!) É (às vezes) possível que desmarcar essa caixa de seleção seja suficiente para o trabalho normal - na minha experiência, as rotas necessárias (que direcionarão o tráfego necessário via VPN) podem ser adicionadas automaticamente após o estabelecimento da conexão VPN. Não sei exatamente onde e como essas regras estão configuradas, mas esse cenário existe - provavelmente é uma mágica feita pelos administradores de rede VPN.
2) Faça apenas o tráfego necessário via VPN. Para isso, você precisa definir rotas. Aqui você tem 3 opções:
2.1) Adicionar rota permanente via gateway VPN:
route -p add a.b.c.d/<CIDR> w.x.y.z
ou route -p add a.b.c.d mask e.f.g.h w.x.y.z
onde 'gateway VPN' = 'seu IP na rede VPN' = w.x.y.z
e endereço / rede de destino = a.b.c.d
. Você pode encontrar w.x.y.z
executando ipconfig
e procurando o nome da sua conexão VPN ou, se você usa o PowerShell, pode obter uma saída compacta executando ipconfig | grep -A5 PPP
(que produzirá 5 linhas depois de encontrar cada conexão PPP).
Contras: você terá que recriar rotas se o seu IP da VPN mudar.
2.2) Adicionar rota permanente via interface de rede VPN:
route -p add a.b.c.d/<CIDR> 0.0.0.0 IF <interface number>
onde a.b.c.d
é o endereço / rede de destino e interface number
é o identificador da sua conexão VPN. Esse ID pode ser encontrado executando netstat -rn
, ou, para uma saída mais compacta netstat -rn | grep -A10 'Interface List'
,.
Prós: não é necessário alterar nada se o seu endereço VPN ( w.x.y.z
) mudar.
Contras: é necessário recriar rotas com o novo ID se você excluir sua conexão VPN.
2.3) Use o cmdlet do PowerShell:
Add-VpnConnectionRoute -ConnectionName '<VPN connection name>' -DestinationPrefix a.b.c.d/<CIDR>
Prós: as rotas necessárias são adicionadas sempre que a conexão VPN é estabelecida e excluída toda vez que é desconectada.
Contras: não há Get-VpnConnectionRoutes
cmdlet; portanto, pode ser difícil gerenciar essas regras.
3) Verifique e verifique se o roteamento funciona conforme o esperado!
Se você adicionou rotas persistentes, pode verificá-las executando netstat -rn | grep -A10 'Persistent Routes'
.
E, finalmente, execute alguns tracert
comandos nos dois endereços IP que devem ser acessados via VPN e naqueles que devem funcionar sem a VPN.