Pular para o conteúdo

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!

2 comentários em “OpenVPN com Windows 7”

  1. 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

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

oito − 8 =