VPN PopTop

17 08 2007

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


Ações

Informações

15 respostas

24 08 2007
Diego

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

24 08 2007
luciano

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

25 08 2007
Felipe

Obrigado por este excelente artigo.

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

25 08 2007
luciano

Esta semana vou providenciar isto. Grato pela dica.

27 08 2007
marcus vinicius

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

27 08 2007
luciano

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

28 08 2007
beowulf

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

[]

beowulf

28 08 2007
luciano

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

14 09 2007
magno

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

abraço..

14 09 2007
luciano

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.

14 09 2007
magno

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.

20 02 2008
Luiz Viana

Excelente artigo! Parabéns!

29 09 2008
Felipe

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…

11 02 2009
Itallo

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

11 10 2009
sialber

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