Posso ROUTE ADD xxxx automaticamente depois de fazer uma conexão VPN no Windows 7?

8

depois de fazer uma conexão VPN ao meu trabalho / o que for, atualmente tenho que ir ao prompt de comando e adicionar manualmente uma rota.

por exemplo.

ROUTE ADD 10.1.0.0 255.255.0.0 172.16.3.0 METRIC 1 ou qualquer que seja o comando.

É possível que isso aconteça automaticamente depois que eu efetuo uma conexão VPN?

Pure.Krome
fonte

Respostas:

4

Se você deseja torná-lo um processo em uma etapa, você pode criar um arquivo em lotes que executa rasdial para automatizar sua conexão VPN e, em seguida, executa um ROUTE ADD:

rasdial "connection name" username password ('*' to prompt for password)
ROUTE ADD 10.1.0.0 255.255.0.0 172.16.3.0 

Isso pressupõe que você esteja se conectando a uma VPN da Microsoft, mas você pode criar um script para o cliente OpenVPN da mesma maneira:

openvpn c:\path\to\config-file.ovpn
ROUTE ADD 10.1.0.0 255.255.0.0 172.16.3.0 
nedm
fonte
O cliente OpenVPN deve adicionar automaticamente as rotas apropriadas, assumindo que ele esteja configurado corretamente.
precisa saber é o seguinte
Verdadeiro para as rotas atribuídas / enviadas a partir do servidor, mas pode haver rotas adicionais que você deseja definir.
Nedm 05/09/10
OOO! agora isso é interessante :) Foi um erro de digitação na linha ROUTE ADD .. mas, além disso, o .bat não funciona porque ele precisa ser executado no modo privilegiado :(
Pure.Krome
Sim, 'route add' requer privilégios de administrador, mas você deve clicar com o botão direito do mouse no ícone da barra de tarefas do prompt de comando e escolher 'Executar como usuário diferente', inserir credenciais de administrador e, em seguida, executar o arquivo bat na linha de comando. Eu colocaria o arquivo .bat em qualquer diretório em que isso deixe o prompt de comando por padrão, para que você possa digitar 'vpnscript.bat' ou qualquer outra coisa após o login sem alternar os diretórios. Como alternativa, clique com a tecla Ctrl + Shift pressionada e também deve abrir o prompt de comando no modo privilegiado / admin com UAC.
Nedm 5/09
Com a dica do powershell do @ErikvO, você o configura e esquece, usando a conexão VPN normalmente sem a necessidade de privilégios de administrador.
Laurent
19

Se você tiver várias VPNs, poderá encontrar o problema de que, quando elas se conectam em ordem aleatória, os IDs de interface são alterados. Nesse caso, o normal ROUTE -P ADD 10.0.0.0 MASK 255.255.0.0 10.0.0.1 IF 42não funciona. A próxima vez que a VPN se conectar, poderá ter um número de interface diferente.

O Powershell tem um cmdlet disponível que adiciona rotas na conexão VPN e as remove novamente quando a VPN é desconectada: Add-VpnConnectionRoute . Funciona sem precisar especificar o ID da interface.

A sintaxe básica é assim:

Add-VpnConnectionRoute -ConnectionName "VPN Connection Name" -DestinationPrefix 10.0.0.0/16

Após inserir este comando, as rotas serão criadas / removidas automaticamente na conexão / desconexão da VPN.

ErikvO
fonte
Deve ser a resposta aceita. BTW, eu não sabia sobre esse "PowerShell" antes disso ... Não entendo por que esses comandos não estão disponíveis no CMD. Outra bobagem Microsoft ...
Laurent
+1 para o Poweshell. Impressiona-me por que o MS não adiciona outra guia nas configurações de IP - além do fato de ainda estarem criando painéis de controle de substituição para a (atualmente) interface do usuário moderna / móvel.
Mayyit
1
Meu Windows 7 não possui esse comando!
LatinSuD 7/03/19
3
netsh interface ipv4 add route [destination/prefixlength] "[interface/connection name]"

Estou usando isso para lidar com conexões que se sobrepõem à sub-rede adicionando rotas estáticas para hosts na sub-rede remota - servidores e similares.

Stuart Smith
fonte
É exatamente isso que eu precisava, pois estou usando o Windows Server 2008. A solução PoswerShell não funcionou.
Michael Coxon
Isso funcionou perfeitamente para o meu cliente Windows 7. Obrigado.
Vic
Não é persistente e exige que a VPN já esteja conectada, certo?
LatinSuD 7/03/19
Está correto. O problema que tive foi com sobreposição de sub-rede, portanto, ter rotas persistentes causaria problemas. Você deseja que isso ocorra apenas após a conexão estar concluída. Eu olhei para o uso de gatilhos de eventos através do agendador de tarefas, mas nunca o fiz funcionar de maneira consistente. Deve ser possível criar um serviço que assina o SENS para fazer isso (acho que a conexão e desconexão da interface é coberta pelo SENS), mas navegar no contexto de segurança para gerar outro processo com direitos de administrador é problemático devido ao UAC. Eu imagino que pode ser feito permitindo interação desktop e UAC prompts, eu só
Stuart Smith
1

Você pode tornar a rota persistente (acho que com route -p) para não precisar inseri-la toda vez. Se você estiver usando o openVPN, o servidor poderá enviar uma rota para o cliente: push "route 192.168.1.0 255.255.255.0"por exemplo. Com outros servidores VPNs, não sei, mas acho que eles também podem ter uma opção semelhante.

Laurent
fonte
por isso não pode ser feito, do lado do cliente .. e sob demanda?
precisa saber é o seguinte
Eu não conheço nenhuma maneira de fazê-lo (com openVPN) no lado do cliente e não permanentemente diferente da resposta da nedm, mas haverá a necessidade de executar o arquivo bat com privilégio de administrador. Eu acho que uma rota persistente não é uma solução ruim se você não pode modificar a configuração do servidor openVPN.
18710 laurent