VPN PPTP no Ubuntu Intrepid

Um dia após o lançamento do Intrepid (versão 8.10) do Ubuntu Linux, eu já tinha feito o download e a instalação na minha máquina de trabalho, um notebook Dell. Vou poupar elogios, até porque eu utilizo o Ubuntu diariamente desde o lançamento da release Dapper Drake (versão 6.06), de Julho de 2006. De lá para cá, muito trabalho vem sendo feito para tornar o Ubuntu o sistema ideal para uso em desktops e laptops.

Um dos aspectos que se encontram em constante evolução é a parte de conectividade. O Network Manager, gerenciador de conexões utilizado nas versões mais recentes do Ubuntu, torna simples a tarefa de se conectar com praticamente qualquer tipo de rede, inclusive com as recém chegadas redes 3G.

Apesar de facilitar a vida na maioria dos casos, o Network Manager presente na última versão do Ubuntu parece não funcionar do jeito que deveria, principalmente quando tentamos conectar numa VPN PPTP (Point-to-Point Tunneling Protocol). Na versão anterior do Ubuntu, eu conseguia conectar em VPNs PPTP sem problemas, coisa que deixou de acontecer após a instalação da última versão do Ubuntu.

A boa notícia é que, depois de perder algumas horas pesquisando, eu consegui resolver o meu problema. E é isso que mostrarei a seguir!

Atualizando o Network Manager

A primeira coisa que fiz foi tentar substituir a versão pré-instalada do Network Manager pela versão distribuída pelos próprios desenvolvedores.

Para isso, abra o Synaptic e selecione o menu Settings – Repositories. Em seguida, selecione a aba Third-Party Software e clique no botão Add. Finalmente, cole a linha abaixo e confirme:

deb http://ppa.launchpad.net/network-manager/ubuntu intrepid main

Feche a tela e pressione CTRL+R para baixar as informações atualizadas dos repositórios. Após o término, pressione CTRL+G para iniciar o processo de atualização dos pacotes. Quando a instalação terminar, o Ubuntu irá pedir que você faça o reboot. Obedeça. :)

Configurando a VPN

Após o reboot, o sistema já deve estar funcionando com a nova versão do Network Manager. Clique no Applet do Network Manager e selecione o menu VPN Connections – Configure VPN. Aqui, basta configurar de acordo com as instruções que você deve ter recebido do pessoal responsável pela parte de redes da sua empresa.

Para não terminar o post aqui, eu vou mostrar como eu fiz para configurar a conexão VPN que estou utilizando atualmente. É obvio que cada empresa configura sua VPN de um jeito diferente, por isso o que segue abaixo é apenas um exemplo de configuração.

Informações básicas

Na primeira tela você deve informar os dados para conexão com a VPN, como IP do servidor da VPN, usuário e senha:

Informações básicas

Informações básicas

Clique no botão Advanced para configurar em detalhes como deverá ser a comunicação entre seu computador e a VPN:

Opções avançadas

Opções avançadas

No meu caso, o servidor da VPN foi configurado para fazer autenticação via CHAP; marque ou desmarque as opções disponíveis na tela, se necessário.

Configurando as rotas

Prosseguindo, na aba IPv4 Settings você poderá configurar o seu IP na VPN. No meu caso, o IP local, juntamente com o servidor DNS e Gateway, são fornecidos automaticamente pelo servidor. Por isso eu optei por manter a opção Automatic (VPN) no campo Method.

Neste ponto você já deve ter a VPN funcionando, mas com um pequeno inconveniente: pelo menos aqui, a VPN passou a ser acessível através da rota padrão (IP 0.0.0.0). Isso significa que todo o tráfego é direcionado para a VPN!

Para solucionar esta questão, é preciso configurar uma rota através da qual a VPN possa ser acessada, mantendo inalterada a rota padrão. Para isso, basta clicar no botão Routes… e configurar a(s) rota(s):

Declarando rotas

Declarando rotas

Aqui, eu substituí as rotas obtidas automaticamente pelas rotas informadas na tabela. No meu caso, a faixa de IP da VPN é 192.168.0.X, por isso o Prefix foi configurado como 24 (aprenda aqui o que esse número significa). O campo Gateway foi configurado para o “IP remoto virtual” da VPN, fazendo com que os pacotes destinados a IPs 192.168.0.X sejam redirecionados para a VPN. O campo Metric foi deixado como zero.

Feito!

Isso deve bastar. Tente conectar com a VPN:

Conectando na VPN

Conectando na VPN

Não conectou? Confira os dados de conexão e modifique os parâmetros avançados de conexão (métodos de autentiação, encriptação, etc). Tente encontrar o motivo nos logs /var/log/messages e /var/log/syslog. Conectou? Ótimo, agora faça o seguinte teste:

  1. Dispare um ping contra algum computador da VPN;
  2. Dispare um ping contra algum computador da sua rede local;
  3. Dispare um ping contra algum computador da Internet (ex: google.com);

O teste falhou? Com certeza tem algo errado com a(s) sua(s) rota(s). Ainda conectado na VPN, utilize os comandos ip route e/ou route -n para ver como ficaram as rotas; faça os ajustes necessários, reze e tente novamente. O teste foi um sucesso? Parabéns, você conseguiu! :)

Update: Aos usuários do Fedora 10, o procedimento de configuração é praticamente o mesmo. O que muda é a configuração das rotas:

Declarando as rotas (Fedora 10)

Declarando rotas (Fedora 10)

Sobre Daniel Martins

Fundador da Destaquenet, ele é graduado em Sistemas de Informação e desenvolve softwares como hobby e profissão desde 2000. Especializado na plataforma Java, ele utiliza a tecnologia há vários anos, sendo programador e desenvolvedor web certificado pela Sun Microsystems, recentemente adquirida pela Oracle. Também se interessa por assuntos ligados à cultura open source, metodologias ágeis, engenharia de software, frameworks e linguagens dinâmicas tais como Python, Ruby e Smalltalk.
Esta entrada foi publicada em Português, Tutoriais e marcada com a tag , , , , , , , , . Adicione o link permanente aos seus favoritos.

3 respostas a VPN PPTP no Ubuntu Intrepid

  1. Boa tarde Carlos!

    Bem, essa configuração que mostramos aqui é conhecida como “Client to LAN”, onde o cliente (seu computador) consegue acessar a rede remota. O que você deseja fazer é criar uma conexão “LAN to LAN”, onde todos os computadores na sua rede local conseguem acessar os computadores da rede remota através do cliente conectado à VPN (seu computador).

    Para fazer isso funcionar, você vai precisar incluir algumas regras no Iptables do seu servidor. O link a seguir mostra as instruções:

    http://pptpclient.sourceforge.net/routing.phtml#lan-to-lan

    Abraços e boa sorte!

  2. Carlos Jorge Novaes disse:

    Pessoal,
    Boa tarde…

    Eu fiz uma conexão a uma VPN igualzinho como vocês fizeram, inclusive seguindo o seu material pude perceber que o botão rota servia para manter meu acesso internet, tudo OK, muito obrigado. Agora eu precisava compartilhar esse acesso da VPN para minha rede, como devo fazer isso?

    Atenciosamente,

    Carlos Jorge Novaes

  3. Carlos Jorge Novaes disse:

    Pessoal,

    Eu respondi via e-mail ao Daniel e esqueci de postar aqui no Blog… A dica funcionou sem problemas utilizando as instruções do site.

    A todos muito obrigado e uma boa tarde…

    Abs,

    Carlos Jorge

Deixe um Comentário

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">