Configurando servidor PPTP no Debian integrado ao LDAP

Olá pessoal,

Antes de prosseguirem, gostaria de deixar um aviso:

Devido a criptgrafia deste acesso ser de 128bits só é recomendável utilizar este tipo de VPN em casos extremos, sendo enormemente recomendada a utilização de uma VPN mais segura como o OpenVPN

1 – Vamos instalar o pacote do servidor:

# apt-get update ; apt-get install pptpd

2 – Após a instalação, vamos editar o arquivo de configuração, onde deverá ter no mínimo as configurações abaixo:

# nano -w /etc/pptpd.conf
option /etc/ppp/pptpd-options
debug
noipparam
logwtmp
localip 172.16.2.70-80
remoteip 192.168.1.2-254

Onde:

localip: corresponde a sua faixa de rede local
remoteip: corresponde a faixa utilizada na atribuição de IPs para os clientes da VPN

3 – Vamos editar agora o segundo arquivos de configuração, sendo que neste momento realizaremos a integração com o LDAP, utilizando um grupo fictício chamado “VPN”. Temos que descobrir qual é o ID deste grupo, para isso digite:

# wbinfo -n vpn

S-1-5-21-41568184-657132488-1612882312-1255 SID_DOM_GROUP (2)

Este é o ID do seu grupo. Agora usaremos um plugin e um helper (ntlm_auth-helper) para fazer a integração do serviço.

# nano -w /etc/ppp/pptpd-options
name pptpd refuse-pap refuse-chap refuse-mschap require-mschap-v2 require-mppe-128 proxyarp nodefaultroute debug lock nobsdcomp ms-wins 192.168.1.1 ms-dns 192.168.1.1
# autenticando por grupo no AD
plugin winbind.so
ntlm_auth-helper "/usr/bin/ntlm_auth --helper-protocol=ntlm-server-1 --require-membership-of=S-1-5-21-41568184-657132488-1612882312-1255"

Onde:
require-mppe-128: especifica a criptografia utilizada.
ms-wins: é o servidor WINS da sua rede local, caso exista.
ms-dns: é o servidor DNS da sua rede local, ou da internet. Um dos problemas que encontrei quanto a isso é que caso este parâmetro não esteja setado, ao acessar a VPN, o acesso a internet deixa de funcionar devido a resolução de nomes, portanto caso aconteça, você já sabe por onde começar.

4 – Liberando o acesso à VPN via firewall:

# iptables -A INPUT -p tcp --dport 1723 -j ACCEPT

Obs: nesse caso você terá acesso apenas ao servidor, não a sua rede local, caso você necessite deste acesso e a sua política padrão para FORWARD estiver setada como DROP você necessitará acrescentar o seguinte:

NET_VPN=192.168.1.0/24
LOCAL0=eth0 # aqui é a sua interface ligada a rede local
# roteando pacotes da rede vpn para a rede local
iptables -A FORWARD -s $NET_VPN -o $LOCAL0 -j ACCEPT
iptables -A FORWARD -d $NET_VPN -i $LOCAL0 -j ACCEPT
iptables -t nat -s $NET_VPN -A POSTROUTING -o $LOCAL0 -j MASQUERADE

5 – Subindo os módulos necessários e colocando para subir junto com sistema após um reboot:

# modprobe ip_gre
# modprobe ppp-compres-18
# echo "ip_gre" >> /etc/modules
# echo "ppp-compres-18" >> /etc/modules

6 – Configurando os clientes, lembrando que deve ser especificado o domínio antes da autenticação:

Para Windows XP clique aqui
Para Windows 7 clique aqui
Para Linux (Usando network manager) clique aqui
Para Android clique aqui