Instalando Servidor VPN com autenticação PPTP no Gnu/Linux Centos – 5.5

1) Instalar o pacote ppp que e dependência do pptpd

yum install ppp -y

2) Baixar e Instalar o pacote pptpd

#64 bits
wget http://poptop.sourceforge.net/yum/stable/rhel5/x86_64/pptpd-1.3.4-2.rhel5.x86_64.rpm
rpm -ivh pptpd-1.3.4-2.rhel5.x86_64.rpm

#32 bits
wget http://poptop.sourceforge.net/yum/stable/rhel5/i386/pptpd-1.3.4-2.rhel5.i386.rpm
rpm -ivh pptpd-1.3.4-2.rhel5.i386.rpm

3) Configure o arquivo vim /etc/ppp/options.pptpd descomentar ms-dns e coloque o dns da sua rede:
#
ms-dns 8.8.4.4 # se tiver DNS interno na sua rede coloque
ms-dns 8.8.8.8 # se tiver DNS interno na sua rede coloque

4) Configure o arquivo vim /etc/pptpd.conf descomente as linhas abaixo informando o ip do servidor vpn e a faixa de ip que os clientes irão receber ao conectar na vpn:
#
localip 192.168.10.2 # Esse será o ip que o dispositivo ppp0 ficara, então não pode ser igual a nenhum ip da rede.. senão da conflito
remoteip 192.168.10.100-110 # aqui vc define o pool de IPs que os clientes recebera ao conectar

5) Edite o arquivo vim /etc/ppp/chap-secrets para adicionar o usuário e senha que vai conectar a VPN
#
# client server secret IP addresses
#Usuario da vpn | nomedavpn | senha do usuario | ip do cliente
Meusuario * Minhasenha *

6) Configurando a criptografia do servidor pptp no arquivo:
vim /etc/ppp/options

coloque as linhas
refuse-pap
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
nobsdcomp
novj
novjccomp
nologfd

7)Colocar o serviço pptpd para inicar automático.

chkconfig --level 35 pptpd on

8) Inicie o Serviço

service pptpd start

9) Editar o arquivo vim /etc/sysctl.conf para habilitar o encaminhamento de pacotes pela vpn
#
net.ipv4.ip_forward = 1

para aplicar a configuração acima sem precisar reiniciar o servidor digite o comando:

sysctl -p

Se o Servidor PPTP não tiver IP Publico e precisar ser roteado pelo firewall adicionar a regra:

##############################################################
# Acesso Externo para Servidor VPN-PPTPD de IP 192.168.1.x #
# Onde ppp0 e minha interface WAN #
##############################################################

modprobe ip_nat_pptp
modprobe ip_conntrack_pptp
modprobe ip_gre
#
iptables -A INPUT -j ACCEPT -p tcp –dport 1723
iptables -A INPUT -j ACCEPT -p gre
iptables -A INPUT -p 47 -j ACCEPT
#
iptables -A OUTPUT -j ACCEPT -p tcp –dport 1723
iptables -A OUTPUT -j ACCEPT -p gre
iptables -A OUTPUT -p 47 -j ACCEPT
#
iptables -t nat -A PREROUTING -p tcp -d 200.xxx.xxx.xxx –dport 1723 -j DNAT –to 192.168.1.x:1723
iptables -t nat -A PREROUTING -p 47 -j DNAT –to 192.168.1.x
iptables -t nat -A PREROUTING -p gre -j DNAT –to 192.168.1.x
#
iptables -t nat -A POSTROUTING -p tcp -s 192.168.1.x –sport 1723 -j SNAT –to 200.xxx.xxx.xxx
iptables -t nat -A POSTROUTING -p gre -s 192.168.1.x -j SNAT –to 200.xxx.xxx.xxx
iptables -t nat -A POSTROUTING -p 47 -s 192.168.1.x -j SNAT –to 200.xxx.xxx.xxx

Configurando Cliente PPTP no Linux para fechar VPNs entre Filiais e Matriz

Instalando o Cliente pptp
wget http://prdownloads.sourceforge.net/pptpclient/pptp-linux-1.4.0-1.i386.rpm && rpm -ivh pptp-linux-1.4.0-1.i386.rpm

configurando o cliente pptp no arquivo:
vim /etc/ppp/options

coloque as linhas
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
nobsdcomp
novj
novjccomp
nologfd
noauth
noipdefault
debug
name nomedousuariodavpn

Definindo a senha para conectar a VPN Server em
vim /etc/ppp/chap-secrets

Coloque igual ao do server:

# client server secret IP addresses
#Usuario da vpn | nomedavpn | senha do usuario | ip do cliente
Meusuario * Minhasenha *

Para discar, digite no terminal
pptp ip_publico_da_sua_vpn

Como são redes diferentes e para os Hosts da rede da Filial enxergar os Hosts da Rede da Matriz ou vise versa…
e so adicionar a rota: em cada Gateway ou firewall de borda, por exemplo na filial coloque:
.
Dizendo: quem quiser acessas a rede da Matriz va pelo o IP da VPN PPP0
route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.2

na matriz coloque:
Dizendo: quem quiser acessas a rede da Filial va pelo o IP da VPN PPP0
route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.1.2