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