Linux slogan
Visite também: BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

VPN PPTP - Instalação entre estações Windows, Dispositivos com Android e CentOS 5.x Server
Linux user
marco.varanda
21/05/2012
Utilizaremos nesse tutorial, o programa POPTOP (PPTPD) que utiliza funções nativas do Windows para fazer a conexão
e criptografia dos dados.
Por: Marco Antonio Varanda
[ Hits: 13076 ]
Conceito: 10.0   3 voto(s)3 voto(s)3 voto(s)3 voto(s)3 voto(s) + quero dar nota ao artigo

Visão Geral - Configuração

Visão Geral

Utilizaremos nesse tutorial, o programa POPTOP (PPTPD) que utiliza funções nativas do Windows para fazer a conexão e criptografia dos dados.


Configuração do Servidor

1. Instalação do repositório POPTOP/Sorceforge – CentOS:

# wget http://poptop.sourceforge.net/yum/stable/rhel5/pptp-release-current.noarch.rpm
# rpm –Uvh pptp-release-current.noarch.rpm


2. Instalando pacotes "ppp", "ppp-devel" e "pptpd":

# yum -y install ppp ppp-devel pptpd

3. Configurar o arquivo "/etc/pptpd.conf":

# vi /etc/pptpd.conf

localip 192.168.100.254
remoteip 192.168.100.1-100


- Aqui valem algumas considerações:
  • Minha faixa de rede é: 192.168.0.0/16 (alterei a classe da máscara para B ou: 255.255.0.0), ou seja, todos os micros que estiverem em '192.168.xxx.xxx', estão na mesma rede;
  • O termo 'localip' é o IP que o Servidor assumirá, e 'remoteip' é a faixa de IP que cada estação, conectada na VPN, assumirá;
  • Obviamente eles não podem entrar em conflito com IPs já atribuídos em sua rede;
  • Meu Servidor possui duas interfaces de rede: eth0 como WAN (IP válido e fixo do meu provedor) e eth1 com o IP 192.168.0.246/16 (portanto, o Servidor ficará com os IPs 192.168.0.246 da interface eth1 real e 192.168.100.254 apenas quando houver pelo menos 1 cliente conectado);
  • Existe uma configuração chamada 'debug' dentro do arquivo "/etc/pptpd.conf" – você poderá descomentá-lo caso esteja com problemas gerando um LOG mais detalhado.

4. Agora, vamos editar o arquivo "/etc/ppp/options.pptpd":

# vi /etc/ppp/options.pptpd

name pptpd refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 ms-dns 8.8.8.8 # se você tiver seu DNS primário coloque-o aqui ms-dns 8.8.4.4 # se você tiver seu DNS secundário coloque-o aqui ms-wins 192.168.0.254 # IP do meu servidor SAMBA configurado com WINS proxyarp debug lock nobsdcomp novj novjccomp nologfd


5. Agora, vamos editar os arquivos de senha para cada usuário que conectará via VPN – eu costumo deixar os arquivos " /etc/ppp/chap-secrets" e "/etc/ppp/pap-secrets", com o mesmo conteúdo, da seguinte forma:

# Client         Server      secret               IP_address joao                 pptpd      escolha_uma                 * pedro                 pptpd      senha_pedro                 192.168.100.112 ...                 pptpd      .....                         *


Se quiser que o 'Pedro' entre sempre com o mesmo IP, defina-o como acima

6. Eu utilizo interface de texto para o Servidor, então, para que o serviço "pptpd" inicie automaticamente, use o seguinte comando:

# chkconfig –level 3 pptpd on

Obs.: Se você utiliza interface gráfica, use:

# chkconfig –level 35 pptpd on

7. Edite o arquivo "/etc/sysctl.conf", acrescentando:

net.ipv4.ip_forward = 1


8. Edite o arquivo "/etc/rc.d/rc.local", acrescentando:

iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o eth0 -j MASQUERADE modprobe ip_nat_pptp # importante habilitar em todos servidores de sua empresa modprobe ip_conntrack_pptp # importante habilitar em todos servidores de sua empresa


Os dois últimos módulos habilitados, são importantes para a passagem do protocolo GRE (Generic Routing Encapsulation), se você tiver dois links com Servidores diferentes (um com VPN e outro para navegação) e estiver fazendo testes de estações navegando em um, conectando a VPN em outro, habilite estes dois módulos em ambos servidores.

Principalmente no Servidor de navegação, caso contrário, não passará os pacotes GRE e apresentará erros do tipo:
sent [LCP ConfReq ...] e nenhum rcvd [LCP ConfReq ...]

Se estiver usando um roteador simples, ele tem que ser capaz de fazer 'VPN pass through' (a grande maioria tem).

Uma excelente referência para encontrar erros, é: http://pptpclient.sourceforge.net - Howto Diagnosis

9. Reinicie o Servidor, ou inicie os serviços manualmente:

# sysctl -p
# iptables -t nat -A POSTROUTING -s 192.168.0.0/16 -o eth0 -j MASQUERADE
# modprobe ip_nat_pptp
# modprobe ip_conntrack_pptp
# service pptpd start


Próxima página >>




Páginas do artigo

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por nandow em 22/05/2012 - 08:10h:

Chefe, gostei muito do seu tutorial.
Eu conheço outras formas de VPN, mas essa é bem prática de se implantar e dependendo do cenário se aplica até melhor.

Obrigado pela dica.. realmente gostei muito! Foi para os favoritos!! :D

Abraços!


[2] Comentário enviado por blade_ander em 30/07/2012 - 12:22h:

Bom dia!

Saberia informar até quantas VPN's PPTP são possiveis criar em um servidor linux? Sei que isso depende das configurações do servidor, mas em média teria como saber?
Preciso desta informação para colocar em um projeto.

Muito Obrigado.

Abs,
Anderson.



Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.