VPN PopTop

Em primeiro lugar, o que é uma VPN?

Podemos definir VPN como Virtual Private Network, ou seja uma rede privada virtual na. Como a internet é um meio inseguro no qual muita gente mau intencionado pode vasculhar o que se está fazendo, um VPN tem a função de criptografar a conexão, de forma que os dados que forem trafegados não se torne conhecidos tão facilmente.

Muitas vezes, pela facilidade de configuração, quando se precisava criar uma VPN muitos administradores optão pelo windows, pois com um windows 2000 ou XP pra cima, o suporte a criação de servidores VPn é nativo, e muito fácil de se criar.

Mas como somos adeptos do mundo livre, e esforço não é problemas, vamos demostrar aqui como fazê-lo no Linux.

Existem duas formas de se criar VPNs, com os protocolos PPTP ou IPSec. O PPTP é mais inseguro e simples, mas é o único protocolo para quem quer conectar micros com Windows 98/Me. Já o IPSec é mais robusto e tem uma chave criptográfica mais forte, mas é tem um pouco mais de complexidade na configuração.

Para montarmos uma VPN PPTP podemos usar o pacote da PopTop (pptpd), que virtuamente todas as distribuições Linux trazem embutidas ou no repositório de downloads, ou o VPNd. Já para criarmos uma rede IPSec podemos optar pelo FreesWan, OpenVPN, OpensWan.

Eu acredito que uma grande vantagemdo PPTP aparece em redes com múltiplos computadores. Já o IPSec é excelente para conexões ponto-a-ponto como Matriz-Filial.

Instalação

Para instalar o pptp, é realmente muito complicado. No Ubuntu Linux você pode digitar:

apt-get install pptp ppp

Já no Fedora Core você pode digitar:
yum install pptp ppp

E pronto! Está instalado o pacote. Gosto de acrescentar o pacote ppp pois se ele não estiver instalado, já resolvemos isto.

Configuração

Agora vamos a parte divertida da coisa, a configuração do pptp.

Em primeiro lugar vamos abrir o pptpd.conf:

sudo vim /etc/pptpd.conf

É necessário acrescentar estas linhas:

speed 115200
debug
option /etc/ppp/options-pptpd
localip 192.168.0.1-200
remoteip 192.168.1.230-249

Lembrando que para salvar arquivos no vim tecle ESC e depois :wq. Com isto estaremos setando a velocidade, ativando o “debug” das conexões no log (messages), mais opções via options-pptpd e dizendo qual a rede interna e quais ips usar para rede externa.

Agora em options-pptpd vamos apagar tudo e colocar estas linhas:

sudo vim /etc/ppp/options-pptpd

debug
auth
proxyarp

E o último arquivo que iremos criar é o se senhas.

sudo vim /etc/ppp/chap-secrets

#client server secret IP Address
usuário1 * passwd1 *
usuário2 * passwd1 *

Se você quiser alocar um endereço IP específico para um usuário é só trocar o últimos asterístico pelo endereço.

Agora copie este arquivo para o pap-secrets.

sudo cat /etc/ppp/chap-secrets > /etc/ppp/pap-secrets

Iniciando a VPN

Para iniciar a vpn o comando varia dependendo do “sabor” do linux escolhido. Como ao instalar o pacote muitas vezes ele já inicializado, basta reiniciá-lo.

Se for Ubuntu será:

sudo /etc/init.d/pptpd restart

E se for Fedora Core:

sudo /etc/rc.d/init.d/pptpd restart

Com isto você já pode verificar os logs para ter certeza que está tudo bem.

tail -f /var/log/messages

E acabou! Uma rede privada, segura e funcionando.

Se você tem alguma dúvida, pode consultar os sites abaixo:

Para configurar os clientes, é bem fácil.

Você pode consultar os links abaixo para tirar as dúvidas de configuração dos clientes. Estarei postando as configurações para windows e linux ainda esta semana (só preciso achar um tempinho).


15 Comentários on “VPN PopTop”

  1. Diego disse:

    Isso seria a configuração do servidor da matriz, e como ficaria a configuração das filiais?

    Agradeço se alguem puder responder!!!!

    Abraços,

    Diego Araújo

  2. luciano disse:

    Qual sistema operacional você usa na filial? Linux ou Windows?

  3. Felipe disse:

    Obrigado por este excelente artigo.

    Seria bacana adicionar ao post a configuração requerida pelo Diego tanto para Linux como para Windows…

  4. luciano disse:

    Esta semana vou providenciar isto. Grato pela dica.

  5. marcus vinicius disse:

    Então, muito bom o artigo
    gostaria de saber sobre camada de criptografia
    se voce usou mppe com mppc, ou apenas mppe ou nenhum

    e se usou como configurou e tals
    abraçao e valeu

  6. luciano disse:

    Cara, o pptp usa o mppe. Basta instalar, alterar os confs e restartar o serviço.

  7. beowulf disse:

    Esse servidor fica na matriz?
    Como eu configuro as maquinas da filial para entrar na rede da matriz?

    []

    beowulf

  8. luciano disse:

    Dentro do artigo postei alguns links com tutoriais para configurar clientes. Estarei providenciando o tutorial em português, mas esta semana está complicado. Se conhecerem algum tutorial em português, me passem o link que coloco no artigo (dando a fonte claro).

  9. magno disse:

    bom dia!
    muito bom seu artigo.
    gostaria de saber como ficaria configurado com a criptografia mppe.

    abraço..

  10. luciano disse:

    Antigamente era necessário instalar este pacote a parte, ou fazer um patch.
    Hoje em dia ele já vem pré-instalado, e é utilizado com o pptp.

    Grato pelo comentário. É muito gratificante saber que ajudo outras pessoas.

    Um grande abraço magno.

  11. magno disse:

    Teria como voçê descrever como ficaria a configuraçao
    da pptp com mppe,
    este pacote mppe vem junto com o pptp ou é incluso no sistema linux.
    utilizo red hat 9, fedora core 5

    grato obrigado.

  12. Felipe disse:

    Opa, na instalação no Debian faltou um d no final:
    # apt-get install pptpd ppp

    É realmente muito fácil a implementação… só uma dúvida, não sei porquê mas, no meu caso, ele criou duas interfaces diferentes sob o mesmo IP, isto seria o normal?

    ppp0 Link encap:Point-to-Point Protocol
    inet addr:192.168.1.1 P-t-P:192.168.2.234 Mask:255.255.255.255
    UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1396 Metric:1
    RX packets:8178 errors:0 dropped:0 overruns:0 frame:0
    TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:3
    RX bytes:1178464 (1.1 MiB) TX bytes:108 (108.0 b)

    ppp1 Link encap:Point-to-Point Protocol
    inet addr:192.168.1.1 P-t-P:192.168.2.234 Mask:255.255.255.255
    UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1396 Metric:1
    RX packets:52 errors:0 dropped:0 overruns:0 frame:0
    TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:3
    RX bytes:6102 (5.9 KiB) TX bytes:108 (108.0 b)

    pois devido a: remoteip 192.168.1.230-249, fiquei com a impressão que seriam criados 20 IPs diferentes antes disso ocorrer…

  13. Itallo disse:

    Olá, eu gostaria de saber porque quando eu vou connectar na matriz dá este erro:

    Feb 11 11:33:19 vs-1467 pptpd[11668]: CTRL: Starting call (launching pppd, openi ng GRE)
    Feb 11 11:33:19 vs-1467 pppd[11670]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so is f or pppd version 2.4.3, this is 2.4.4
    Feb 11 11:33:19 vs-1467 pptpd[11668]: GRE: read(fd=6,buffer=804e560,len=8196) fr om PTY failed: status = -1 error = Input/output error, usually caused by unexpec ted termination of pppd, check option syntax and pppd logs
    Feb 11 11:33:19 vs-1467 pptpd[11668]: CTRL: PTY read or GRE write failed (pty,gr e)=(6,7)
    Feb 11 11:33:19 vs-1467 pptpd[11668]: CTRL: Client 189.81.138.56 control connect ion finished

  14. sialber disse:

    tbm estou com mesmo problema do ítallo, já até abri meu firewall… mas continua com mensagens semelhantes ao que o ítallo informou acima. qualquer ajuda agradeço.


Deixe um comentário

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.