Quero usar uma VPN do Windows, mas apenas para uma rede específica, para que ela não assuma toda a minha conexão de rede.
Por exemplo, em vez de a VPN se tornar a rota padrão, torne-a apenas a rota para 192.168.123.0/24
(Percebo que há uma solução para isso no Ubuntu nesta questão , mas às vezes também preciso fazer isso no Windows)
Isso pode ser automatizado para que, sempre que eu conectar à VPN, faça isso?
windows
networking
vpn
routing
Legooolas
fonte
fonte
Respostas:
Você pode desativar o controle de toda a conexão, acessando as propriedades da VPN,
Networking
guia,Internet Protocol (TCP/IP)
propriedadesAdvanced
e desmarcarUse default gateway on remote network
. Isso pode ou não deixar uma rota192.168.123.0/24
dependendo da configuração do servidor VPN. Caso contrário, você precisará adicionar manualmente a rota a cada vez, embora possa colocá-la em um arquivo em lotes.Para adicionar manualmente a rota, execute (como administrador):
Este exemplo fará uma rota persistente (não é necessário executar o comando após uma reinicialização) para o IP
192.168.0.12
através do gateway VPN10.100.100.254
.Mais sobre isso em http://technet.microsoft.com/en-us/library/bb878117.aspx
fonte
Usei com sucesso a técnica do @ TRS-80 para conseguir isso.
Eu trabalho em casa e tenho que VPN na rede corporativa para o meu email (eu odeio webmail !!).
Ao mesmo tempo, eu preciso estar constantemente navegando para obter informações e também preciso do youtube para a minha música de fundo ... Agora você definitivamente não deseja transmitir o youtube a partir de uma VPN, pois isso soa como um Robot Singing !!! :)
Tudo o que fiz foi seguir o @ TRS-80:
e depois fiz o meu:
Tudo funciona perfeitamente!
fonte
A resposta concedida não reflete sua solicitação, mas eu uso uma VM especificamente para esse fim. Dessa forma, apenas a rede dentro da VM é restringida pelas rotas.
Você pode encontrar respostas melhores de outras pessoas, mas pelo menos isso pode lhe dar algo a considerar, pois é uma solução fácil após a criação da VM.
fonte
Eu achei que precisava apontar diretamente a interface no comando route. Sem ele, o Windows usará a interface principal da placa de rede, em vez da VPN. No meu caso, parece que
observe o 'IF 26'.
fonte
Use o cmdlet Add-VpnConnectionRoute no Windows 8 ou superior.
fonte
se você possui IPV4 e IPV6, desmarque a opção "Usar gateway padrão na rede remota" nos dois locais, mesmo se você usar apenas IPV4
fonte
Se você usar o CMAK e configurar um arquivo de roteamento que o cliente possa baixar ... o Windows fará o download do arquivo de roteamento e ajustará as rotas conforme apropriado. Existem opções para remover a rota padrão ... e adicionar várias rotas estáticas e tal. Isso é conhecido como um btw de túnel dividido.
Há um bom tutorial aqui: http://blogs.technet.com/b/rrasblog/archive/2007/06/11/split-tunnelling-using-cmak.aspx
fonte
Quero adicionar minha solução à mistura. É executado em um shell UNIX desenvolvido pela Cygwin no Windows 7 ou mais recente, mas também deve funcionar com o MSYS2, o Bash-on-Windows [WSL] após a compilação 14986 ou o Busybox for Windows). Precisa ser executado com privilégios de administrador.
Ele possui algumas configurações e tenta detectar algumas das coisas que você não definiu explicitamente. Ele também define explicitamente o número da interface (IF) para combater alguns problemas que alguns usuários (como eu) tiveram com as outras soluções aqui.
Também é importante notar que pode ser necessário definir manualmente uma métrica baixa ou a rota padrão corresponderá antes do tráfego destinado à VPN. Você faz isso acessando a configuração do adaptador, onde abre o item de menu "… Propriedades" do adaptador VPN → guia "Rede" → "Internet Protocol Version 4 (TCP / IP)" Propriedades → "Avançado" → e desmarca a caixa de seleção "Métrica automática" (além de "Usar gateway padrão ...", é claro) e defina o valor no campo "Métrica da interface:" para um valor menor que a rota padrão (consulte a
ROUTE.EXE -4 print
saída).fonte
Um pouco velho, mas encontrei uma maneira de fazer isso usando outra máquina. Eu tenho um laptop onde eu configuro a conexão VPN e lá eu tenho o FreeProxy configurado com o Socks5 ..
Depois, configurei o firefox na máquina cliente para usar o servidor proxy do laptop. O resultado é que, se eu usar o FireFox ou qualquer coisa configurada para usar o proxy Socks5, ele usará a VPN, caso contrário, ele usará o roteamento padrão.
fonte
Você pode usar algo como o netcatcher - basta adicionar todas as rotas necessárias uma vez e esquecê-las. Ele adicionará e excluirá rotas automaticamente quando você conectar ou desconectar sua sessão VPN. Se o seu endereço IP da VPN for obtido dinamicamente (DHCP), o netcatcher o capturará e atualizará as rotas da maneira correta.
fonte
do fórum russo: http://forum.ixbt.com/topic.cgi?id=14:43549
salve como arquivo (por exemplo: vpn_route.vbs) e depois do comando de conexão conectado vpn
vpn_route.vbs:
fonte
Isso não pode ser feito no Windows sem o uso de programas adicionais, arquivos em lotes ou a linha de comando. Uma alternativa é obter uma máquina virtual (ou física) na qual você possa executar a VPN.
Parece estranho que algo tão facilmente explicável quanto isso seja tão difícil de alcançar. Quão difícil poderia ser apenas rotear o tráfego de um programa para a interface VPN e de todos os outros programas para a interface NIC padrão? Por que precisamos configurar uma máquina virtual inteira para isso? E com o Linux é possível, mas sua solução também não é muito elegante.
Também é muito procurado: me deparei com dezenas de tópicos sobre o mesmo assunto. Então, só espero que alguém perceba o absurdo disso e faça algo a respeito. (No Windows 8!)
Esta solução é de um arquivo em lotes não atribuído . Foi ligeiramente adaptado.
Instruções para o Windows 7
O script irá conectar e rotear o tráfego através de sua VPN até que um reboot - você pode substituir
route add
comroute -p add
para a mudança de persistir, mas se você não tem um IP persistente com a sua VPN, ele acabará por deixar de funcionar quando as alterações IP VPN.Networking
guiaProperties
Advanced
Use default gateway[...]
Você precisa substituir o seguinte no script:
<VPN>
com o nome da conexão VPN que você criou<USER>
com o nome de usuário da VPN<PASS>
com a senha da VPN<TARGET>
com o endereço IP que você deseja rotear pela VPN (se desejar rotear mais endereços, basta duplicar as três linhas em que o destino é usado)Nota: Se você não quiser salvar a senha no arquivo, substitua
<PASS>
com%password%
e adicione a seguinte após a primeira linha do script:set password= Input password:
.Roteiro
fonte
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
ouroute -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 encontrarw.x.y.z
executandoipconfig
e procurando o nome da sua conexão VPN ou, se você usa o PowerShell, pode obter uma saída compacta executandoipconfig | 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 einterface number
é o identificador da sua conexão VPN. Esse ID pode ser encontrado executandonetstat -rn
, ou, para uma saída mais compactanetstat -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.fonte