VPN PopTop
Publicado; 17 \17\-03:00 agosto \17\-03:00 2007 Arquivado em: configuração, confs, linux, vpn 15 ComentáriosEm 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:
- VNPC – Virtual Private Network Consortium
- VPN – Wikipedia em português
- VPN – Wikipedia in english
- VPN – RPN
- HowStuffWorks- VPN
- Viva o Linux- VPN no Conectiva 8 com o PPTPD
- Viva o Linux – Criando VPNs entre servidores Linux sem mistérios (parte I)
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).
- PopTop Documentation
- pptpclient documentation (cliente Linux)
- Configuração cliente Windows 9X
- Configuração cliente Windows XP (Arquivo PDF em alemão)
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
Qual sistema operacional você usa na filial? Linux ou Windows?
Obrigado por este excelente artigo.
Seria bacana adicionar ao post a configuração requerida pelo Diego tanto para Linux como para Windows…
Esta semana vou providenciar isto. Grato pela dica.
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
Cara, o pptp usa o mppe. Basta instalar, alterar os confs e restartar o serviço.
Esse servidor fica na matriz?
Como eu configuro as maquinas da filial para entrar na rede da matriz?
[]
beowulf
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).
bom dia!
muito bom seu artigo.
gostaria de saber como ficaria configurado com a criptografia mppe.
abraço..
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.
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.
Excelente artigo! Parabéns!
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…
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
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.