VPN com servidor e cliente rodando em Linux

Neste artigo explicarei como montar de forma simples e prática uma VPN onde 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.

[ Hits: 120.237 ]

Por: Antônio Ricardo Leocadio Gomes em 22/12/2003


Configuração (VPN fácil)



Todos os passos aqui foram testados no Conectiva 7, 8 e 9, Kurumin 2.12 e Red Hat 8, sendo que o Kurumin já vem com o cliente pptp instalado.

Portanto, a utilização em qualquer Linux a base de RPM ou DEB irá funcionar. Para ficar mais fácil usarei o Conectiva como base de exemplo.

Para configurar o servidor PPTPD usei o tutorial escrito pelo tucs:

Configuração do Client PPTP para Linux


Primeiramente baixe o pacote pptpclient (pptp-linux-1.3.1-1.i386.rpm) em: Não é necessário, mas ajudaria muito se você também desse uma atualizada no seu PPP. O pacote pptp-php-gtk-20030505-rc1.i386.rpm é 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: Feito o download do pacote pptp-linux-1.3.1-1.i386.rpm, instale-o em seu sistema com o seguinte comando (utilize o usuário root):

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

Iremos editar o arquivo options:

# mcedit /etc/ppp/options

Não alteraremos nada, simplesmente adicione essas linhas no final de seu arquivo:

noauth
noipdefault
debug
name "nome 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 cada usuário VPN que irá conectar:

<nome do usuário VPN que irá fazer a conexão>  *  <a senha do usuário VPN novamente>  *

Exemplo:

leocadio            *             minhasenha           *

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

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.

    Próxima página

Páginas do artigo
   1. Configuração (VPN fácil)
   2. Conectando
Outros artigos deste autor

Tunning do KDM theme

Apertem o cinto, o inittab sumiu!

Leitura recomendada

Entendendo o processo de boot

Howto NIS/NFS no SuSE

Configurando cliente na rede wireless com criptografia WPA - Debian

Configurando uma pasta compartilhada para os usuários do seu Linux

Recuperando RouterOS na RouterBOARD 450

  
Comentários
[1] Comentário enviado por tucs em 22/12/2003 - 11:09h

Parabens pelo artigo , fico muito bom

Abracos

tucs

[2] Comentário enviado por Ragen em 27/12/2003 - 16:45h

Ola,

E' bem massa seu artigo...

Mas estou com a duvida, entao tente acompanhar meu raciocinio:

Suponhamos que eu tenha um roteadorzinho aqui na minha rede local e, inves de usar um servidor DCHP pra fazer minha conexao pra net eu faca um VPN (como voce mostrou).

Entao acontece isso:

eth0 Link encap:Ethernet HWaddr 00:E0:7D:A1:F3:E9
inet addr:10.0.0.1 Bcast:10.255.255.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:15430 errors:0 dropped:0 overruns:0 frame:0
TX packets:8898 errors:0 dropped:0 overruns:0 carrier:0
collisions:3 txqueuelen:1000
RX bytes:8879978 (8.4 Mb) TX bytes:1370406 (1.3 Mb)
Interrupt:11 Base address:0xb800

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:29 errors:0 dropped:0 overruns:0 frame:0
TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1508 (1.4 Kb) TX bytes:1508 (1.4 Kb)

ppp0 Link encap:Point-to-Point Protocol
inet addr:200.96.235.108 P-t-P:200.103.98.172
Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:9178 Metric:1
RX packets:8885 errors:0 dropped:0 overruns:0 frame:0
TX packets:8049 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:8138140 (7.7 Mb) TX bytes:886794 (866.0 Kb)


Pela interface eth0 eu faco uma VPN com meu roteador que por usa vez estabelece uma conexao na interface ppp0 com meu servidor ISP. Ate' aqui tudo OK.

Mas suponhamos que eu tenha um servidor VPN externo, e com essa conexao conexao que eu uso eth0/ppp0 (pptp) estabelecidas como faco pra criar conexao numa interface ppp1 por exemplo com o outro servidor?

Ps: Nao sei se eu falei bobeira aqui, entao me corrijam se eu usei termos erroneos
Ps2: Resumindo, o que eu quero e' fazer 2 conexoes VPNs, uma local e uma externa.

[]`s

Ragen

[3] Comentário enviado por deilson em 03/01/2004 - 14:20h

Olá !

Aí vai a minha dica a respeito do arquivo /etc/ppp/options em relação às rotas com o gateway padrão dos provedores de internet. Se já existir uma configuração para um gateway da rede interna, a rota da conexão pptp será acrescentada mas sem o gateway da conexão e, caso o roteador interno não faça roteamento para a internet, mesmo conectado, não será possível navegar. Para que o linux inclua o gateway da conexão pptp deve-se acrescentar uma linha contendo defaultroute como abaixo:

*** /etc/ppp/options******
lock
defaultroute
debug
persist
name "suaconta@seuprovedor"

Edwilson.

[4] Comentário enviado por geovannyjs em 19/01/2004 - 13:27h

Fiz todas as configuraçoes mas minha conexao nao funciona com o comando:
#pptp <ip do servidor>
tenho que digitar:
# pptp-command start configuracao (configuracao = criada com o comando #pptp-command setup)

[5] Comentário enviado por rcca_tas em 22/04/2004 - 13:10h

Olá amigo, adorei seu artigo, mas pelo o fato de ser iniciante em linux é logico que nao peria deixar de ter duvidas, então ai vai. Eu teria que fazer esta configuração no servidor linux e depois no cliente linux.

desde ja agradeço a resposta e este maravilhoso artigo...

Rodrigo.

[6] Comentário enviado por bri em 09/09/2004 - 06:43h

Sou iniciante no Kurumin, estou tentando migrar para ele mas, ainda não consigo navegar, no momento eu consigo conectar na VPN mas não consigo navegar, Como resolver?
Obrigado
Bri Recife

[7] Comentário enviado por srf em 17/12/2007 - 08:49h

Olá...
Gostaria de tirar uma dúvida com vc... estou conectando na VPN com Meu note WinXP eu consigo chegar no IP do Servidor da VPN, mas não consigo chegar na rede interna, por ex. o Servidor é IP 10.1.1.254 e eu não consigo chegar no Ip 10.1.1.200... O que pode ser?

Também esta aparecendo essas menssagem no log:

Dec 17 07:12:12 linux pppd[31263]: not replacing existing default route to eth1 [189.42.39.12]
Dec 17 07:12:12 linux pppd[31263]: Cannot determine ethernet address for proxy ARP


No aguardo
Sandro

[8] Comentário enviado por marujo em 25/04/2008 - 00:15h

Muito bom... Adptei ao meu slack... e Funcionou muito bem...

[9] Comentário enviado por lucasfs em 28/08/2008 - 08:58h

Pessoa, já dei o comando modprobe ip_gre , no lsmod o protocolo ip_gre está aprecendo, mas segue o erro que acontece ao tentar conectar:

Aug 28 08:55:36 sfw pppd[8968]: pppd 2.4.4 started by root, uid 0
Aug 28 08:55:36 sfw pppd[8968]: Using interface ppp0
Aug 28 08:55:36 sfw pppd[8968]: Connect: ppp0 <--> /dev/pts/1
Aug 28 08:56:09 sfw pppd[8968]: LCP: timeout sending Config-Requests
Aug 28 08:56:09 sfw pppd[8968]: Connection terminated.
Aug 28 08:56:10 sfw pppd[8968]: Modem hangup
Aug 28 08:56:10 sfw pppd[8968]: Exit.

Alguém aí tem uma luz ?

[10] Comentário enviado por leogazio em 30/01/2012 - 00:45h

Só faltou explicar como ativar o módulo no Kernel pois sem isso não funciona...


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts