Recentemente, alguns clientes de rede que trabalham em outro ambiente e se conectam via OpenVPN fizeram upgrade de XP para 7. Depois desse upgrade, tivemos dois problemas:
- Algumas máquinas se conectavam mas não acessavam a rede interna.
- Outras se conectavam mas chegavam via Internet e não via VPN. Assim, eram bloqueados pelo sistema de firewall para o acesso a determinados serviços.
Comecei a realizar testes com um netbook com Windows 7 via 3G. O console do OpenVPN GUI mostrava bem claramente uma situação: na hora de criar rotas, eu obtinha o erro Route addition via IPAPI failed. Então, olhando o manual on-line do OpenVPN e procurando por Windows, encontrei:
Windows-Specific Options: [...] --route-method m Which method m to use for adding routes on Windows? adaptive (default) -- Try IP helper API first. If that fails, fall back to the route.exe shell command. ipapi -- Use IP helper API. exe -- Call the route.exe shell command.
Outra boa opção que encontrei na Internet e depois procurei entender no manual foi a –route-delay. Esta opção também é benéfica nos MS Windows. As citadas opções devem ser inseridas no script do cliente. Assim, incluí as seguintes linhas nos clientes:
--route-method exe --route-delay 5
Bem, com as linhas acima, a situação mudou. Passei a receber uma mensagem referente a não ter privilégios para criar rotas. Então, executei o OpenVPN GUI como administrador e deu certo. Um pouco estranho, pois os usuários teriam que ter a senha de algum administrador. Então, procurando na Internet sem parar, não encontrei uma solução direta via Windows. Parece que ninguém encontrou. Mas há aplicativos como suDown e sudowin que dizem resolver o problema. Não os testei porque realmente não estou precisando desse tipo de solução.
O último problema enfrentado foi o fato dos usuários conseguirem navegar fora do túnel. Na maioria das vezes isso não é problema, a não ser no nosso caso (aqui no meu trabalho). Dependendo do IP de origem (VPN ou Internet), o nosso usuário terá direito a alguns acessos. Então, ele deverá estar o tempo todo dentro do túnel. Já tínhamos uma configuração para isso, do lado do servidor. Trata-se da seguinte linha no arquivo do OpenVPN server (em /etc/openvpn/):
push "redirect-gateway"
Só que não estava funcionando. Então, voltando ao manual on-line do OpenVPN para ver se tinha algo especial para o Windows 7, descobri que a opção mudou e foram acrescidos parâmetros. Ele explica cada parâmetro e recomenda def1, que realmente bate com o meu caso. Então, a nova linha:
push "redirect-gateway def1"
Com isso tudo se resolveu e os Windows 7 estão na VPN.
[]s!
Obrigado pela dica, foi muito útil.
Para mim nao funcionou o push “redirect-gateway def1” =(
Estou a fazer uma conexao com chave estatica e funciona tranquilamente, o unico problema é a conexao cliente sair pelo tunel do servidor
LADO SERVIDOR
dev tun
proto tcp-server
port 8081
ifconfig 1.1.1.1 1.1.1.2
secret /etc/openvpn2/static.key
push “redirect-gateway def1”
keepalive 10 60
comp-lzo
persist-key
persist-tun
float
LADO CLIENTE
dev tun
proto tcp-client
port 8081
remote MEU_IP_EXTERNO
ifconfig 1.1.1.2 1.1.1.1
secret static.key
keepalive 10 60
comp-lzo
persist-key
persist-tun
float