ct

    Manual de uma VPN com o protocolo PPTP em Linux

    Artigos

    Neste artigo explicaremos como montar uma VPN baseado no Conectiva Linux sobre o protocolo PPTP, possibilitando aos usuários de Linux adquirirem conceitos para que consigam montar a VPN com o protocolo PPTP de forma rápido e fácil.Eduardo Assis e Antônio Ricardo Leocadio Gomes
    28/01/2004


    Neste artigo explicaremos como montar uma VPN baseado no Conectiva Linux sobre o protocolo PPTP, possibilitando aos usuários de Linux adquirirem conceitos para que consigam montar a VPN com o protocolo PPTP de forma rápido e fácil.

    A grande vantagem desse tutorial e que ambos os serviços, ou seja, servidor e client pptp, rodam sob Linux. Geralmente os artigos sobre o assunto abordam servidor Linux e cliente Windows, no qual também daremos uma canja.



    Configurando o Servidor

    Primeiramente vamos baixar e instalar o pacote PPTPD que será o nosso servidor VPN. Faça o download do seguinte endereço:

    ftp://ftp.rpmfind.net/linux/PLD/current/dists/ra/PLD/i386/PLD/RPMS/pptpd-1.1.3-1.i386.rpm

    Se preferir faça o download da página do autor: http://www.poptop.org.br

    Depois de baixar o pacote PPTPD devemos instalar com o comando: (utilize o usuário root)

    # rpm -Uvh pptpd-1.1.3-1.i386.rpm

    Após a instalação do pacote PPTPD devemos editar o arquivo pptpd.conf que esta dentro do /etc.

    # mcedit /etc/pptpd.conf

    Não alteraremos nada neste arquivo, simplesmente descomente as seguintes linhas (retire o # do inicio de cada linha):

    speed 115200

    debug
    option /etc/ppp/options.pptp
    localip 10.0.0.1-200
    remoteip 10.0.0.210-230

    Neste arquivo a opção “speed” indica a velocidade da conexão. A opção “debug” server para que as ações sejam debugadas e enviadas para o arquivo de log (/var/log/messages). A opção “option” é onde estará a configuração das ações do pptp. A opção “localip” será o ip que será atribuído ao seu servidor. Se o ip for atribuído como na opção acima na primeira conexão o ip do servidor será 10.0.0.1 na segunda conexão será atribuído o ip 10.0.0.2. Uma forma mais prática e deixar o servidor com um único ip, para isso basta deixar a opção localip com o ip 10.0.0.1 somente. A opção “remoteip” será o ip que será atribuído a conexão. A primeira conexão irá receber o ip 10.0.0.210, a segunda conexão 10.0.0.211 e assim por diante. A opção "remoteip“ não será necessária se você atribuir um ip para cada usuário dentro do arquivo /etc/ppp/pap-secrets e /etc/ppp/chap-secrets.

    Pronto, vamos ao próximo arquivo:

    # mcedit /etc/ppp/options.pptp

    Apague tudo o que estiver neste arquivo e adicione as seguintes linhas:

    debug
    auth
    proxyarp


    A opção “debug” server para que as ações sejam debugadas e enviadas para o arquivo de log (/var/log/messages). A opção “auth” server para que o force o login do usuário, caso a opção seja colocada como “noauth” não será necessário um usuário para login. Ainda é possível acrescentar as opções defaultroute e persist, com isso o default gateway da sua rede para a ser o servidor VPN.

    Cadastramento de usuários:

    (utilize o usuário root)

    # mcedit /etc/ppp/chap-secrets


    o arquivo ficará da seguinte maneira: # Secrets for authentication using PAP

    texto1
    Repita o mesmo conteúdo do arquivo chap-secrets no arquivo pap-secrets:

    # mcedit /etc/ppp/pap-secrets

    texto2
    A configuração do nosso servidor de VPN esta pronta. Teremos agora que carregar o módulo da VPN no Linux.

    Em algumas distribuições não é preciso compilar o kernel, pois o mesmo já vem com suporte nativo tanto para PPTPD quanto para IPSEC.


    Carregando o modulo do kernel

    # modprobe ppp


    Para consulta se o módulo foi carregado:

    # lsmod


    Iniciando o servidor VPN (PPTPD)

    No Shell, simplesmente digite:

    # pptpd


    Nossa máquina estará pronta para uma conexão VPN. Não importando seu tipo de conexão banda larga ou acesso discado.


    Encerando o servidor VPN (PPTPD)

    No Shell, simplesmente digite:

    # killall –HUP pptpd


    Configurando um cliente VPN no Linux

    Primeiramente baixe o pacote pptpclient (pptp-linux-1.4.0-1.i386.rpm).

    Faça o download do seguinte endereço:

    http://prdownloads.sourceforge.net/pptpclient/pptp-linux-1.4.0-1.i386.rpm

    Não é necessário, mas ajudaria muito se você também desse uma atualizada no seu PPP. O pacote pptp-php-gtk é um cliente gráfico para a configuração do pptp e não iremos abordá-lo nesse artigo. Caso deseje ver a configuração gráfica, visite o endereço:

    http://pptpclient.sourceforge.net/howto-redhat-80.phtml

    Feito o download do pacote pptp-linux, instale-o em seu sistema com o seguinte comando: (utilize o usuário root)

    # rpm -ivh pptp-linux-1.4.0-1.i386.rpm

    Iremos editar o arquivo /etc/ppp/options:

    # mcedit /etc/ppp/options

    Não alteraremos nada, simplesmente adicione essas linhas no final do arquivo, caso já esteja com algumas das opções habilitadas, não é necessário repetir.

    noauth
    noipdefault
    debug
    name "login do usuário VPN que irá fazer a conexão"


    Iremos editar o arquivo pap-secrets, onde são guardados os usuários e senhas usadas nas conexões ppp:

    # mcedit /etc/ppp/pap-secrets

    Não alteraremos nada, simplesmente adicione essas linhas no final de seu arquivo para o usuário VPN que irá conectar:

    texto3
    OBS: Não utilize a tecla de espaço e sim a tecla TAB como separador de campos.

    As colunas “client” e “secret” (usuário e senha) são as únicas que realmente são usadas nesse arquivo, as demais devem apenas conter o símbolo *.


    Habilitando o módulo GRE

    O PPTPd é um projeto de VPNs baseado no protocolo GRE e na tecnologia PPTP. Seu funcionamento é semelhante ao de uma conexão dial-up, ou seja, ele "disca" para um host conhecido, troca chaves através do protocolo GRE e conecta uma interface virtual (ppp) por onde a comunicação dentro do túnel ocorre. Para estabelecer a conexão é necessária a autenticação de um usuário.

    Você precisa habilitar o módulo do protocolo GRE utilizado no PPTP. Para isso, digite o seguinte comando:

    # modprobe ip_gre

    Esse módulo é necessário, caso contrario o seu computador irá abortar a conexão. Para que você não precise habilitar o módulo todas as vezes que for utilizar o pptp, acrescente esse comando na última linha do arquivo /etc/rc.local.


    Conectando

    Uma vez configurado o pptp, basta digitar:

    # pptp

    Todas as mensagens vão para o arquivo /var/log/messages.

    Se as conexões derem erradas, verifique se o seu firewall está barrando a porta 1723. Nos meus testes desabilitei o firewall. Também verifique se o modulo ip_gre está habilitado com o comando:

    # lsmod

    Se aparecer outras mensagens, verifique no site do pptp:
    http://pptpclient.sourceforge.net/howto-diagnosis.phtml


    Pingando em qualquer máquina na rede remota

    Para pingar em qualquer máquina dentro da rede remota, primeiramente habilite o forward no servidor de pptp com o seguinte comando:

    # echo 1 > /proc/sys/net/ipv4/ip_forward

    Agora na máquina cliente, acrescente a rota para a outra rede da seguinte forma:

    # route add -net netmask < ppp da conexão>

    Para descobrir qual é o PPP da conexão basta digitar o comando:

    # ifconfig

    Procure por ppp0 ou ppp1, veja qual deles é o ip dado pelo seu VPN server.

    Exemplo do comando:

    # route add -net 192.168.1.0 netmask 255.255.255.0 ppp1


    Desconectando

    Para acabar com a conexão, digite o seguinte comando:

    # killall -HUP pptp


    Configurando um cliente VPN no Windows

    Windows XP e 2000

    Criando uma conexão VPN

    1. Para abrir a pasta Conexões de rede, clique em Iniciar, em Painel de controle, em Conexões de rede e de Internet e, em seguida, clique duas vezes em Conexões de rede.

    2. Clique em Criar uma nova conexão e em Avançar. Clique em Conectar-me a uma rede em meu local de trabalho e em Avançar.

    3. Clique em Conexão VPN (rede virtual privada) e em Avançar. Digite um nome descritivo para a empresa e clique em Avançar.

    4. Como você já está conectado à Internet, clique em Não discar a conexão inicial.

    5. Digite o nome do host ou o endereço IP do computador ao qual você está se conectando e clique em Avançar.

    6. Clique em Avançar até aparecer o botão Concluir, para encerrar o processo de instalação.

      gdh1
    Clique em Avançar até aparecer o botão Concluir, para encerrar o processo de instalação.



    Modificando a conexão

    É necessário modificar a conexão VPN para que a mesma conecte em nosso Server VPN que esta em Linux. Essa modificação é necessária porque o método de autenticação do nosso servidor VPN é baseado em CHAP. Abra a conexão VPN criada.

    1. Clique com o botão direito sobre essa conexão e escolha Propriedades.

    2. Na guia Geral verifique se o ip ou host do servidor VPN esta correto.

    3. Na guia Segurança marque a opção Avançadas e clique no botão configurações. No campo Criptografia de dados, deixe com a seguinte opção:

      Criptografia Opcional (conecte mesmo sem criptografia)
      Marque Permitir esses protocolos e também deixe marcada as seguintes caixas:

      • Senha não criptografada (PAP)
      • Protocolo CHAP

      • Microsoft CHAP (MS-CHAP)

      • Permitir versões do MS-CHAP mais antigas para servidores com windows 95
      • Microsoft CHAP versão 2

    Clique no botão OK

    gdh2

    Windows 98

    No painel de controle, vá a Adicionar / Remover Programas. Acesse a aba Instalação do Windows e entre em Comunicações:

    gdh3
    Marque a opção “Rede particular virtual” e clique no botão OK.
    O Windows carregará os arquivos necessários para a conexão (será necessário disco de instalação do Windows 98).
    Após o computador ter reiniciado, iremos fazer a conexão com o servidor.

    Entre em “Acesso à rede dial-up” e clique em “Fazer nova conexão”. Como foi instalado um novo tipo de conexão (Microsoft VPN Adapter), essa opção aparecerá agora na lista de dispositivos. Digite um nome para sua conexão de VPN (chamei de Conexão VPN) e clique no novo dispositivo. Clique em Avançar

    gdh4
    Na tela seguinte, informe o numero de IP de seu Servidor de VPN que deve estar conectado na Internet.Clique em Avançar e Concluir.

    Será criado a conexão “Conexão VPN”.

    Para conectar ao Servidor, entre na “Conexão VPN” e surgira a tela:

    gdh5
    Digite sua senha de administrador e clique em conectar. Está feito.


    Para o windows 98 não é necessário fazer nenhuma modificação na conexão.

    » Gostou do texto? Veja nossos livros impressos

    ... ou use a busca para localizar outros artigos relacionados:

cb
Livros de Carlos E. Morimoto HOME