2008/09/18

Debian + Win = PPTP VPN com Acesso a internet

Instalar pacotes
debian$ sudo aptitude install pptpd

Configurar acessos
debian$ sudo vi /etc/ppp/chap-secrets
Ex.: # login Serviço Senha Endereço de IP que pode autenticar
cobaia pptpd qualquer *

Configurar Faixa de Ips
debian$ sudo vi /etc/pptpd.conf

No arquivo, habilitar as seguintes opções (Caso não estejam):
option /etc/ppp/pptpd-options
logwtmp
localip "ip_do_servidor ex. 10.1.1.1"
remoteip "faixa_de_ips ex. 10.1.1.2-10"

Configurar encriptação,tipos de autenticação, daemon responsável
sudo vi /etc/ppp/pptpd-options

No arquivo, habilitar as seguintes opções (Caso não estejam):
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns "DNS do provedor ou DNS interno da sua rede ex. 192.168.1.4. Pode-se colocar quantos quiser"
ms-wins "Resolução WINS caso sua rede tenha um WinServer ex. 192.168.1.2"
proxyarp
nodefaultroute
debug
lock
nobsdcomp

Carregando modulo necessário

debian$ sudo modprobe ppp-compress-18


Reinicie sempre o serviço caso faça alguma alteração:
debian$ sudo /etc/init.d/pptpd stop
debian$ sudo /etc/init.d/pptpd start

Roteamento de pacotes para a internet.

Supondo que já tenha internet neste servidor, faremos a seguinte regra no iptables:
debian$ sudo iptables -t nat -A PREROUTING -s "rede_configurada_na_opção_remoteip"-j MASQUERADE
Ex.:
debian$ sudo
iptables -t nat -A PREROUTING -s 10.1.1.0/24 -j MASQUERADE


Demais informações e explicações sobre as opções:
debian$ man /etc/pptpd.conf

6 comentários:

daniel alves disse...

Configurei conforme descrito mas não consigo visualizar a rede interna da matriz. Consigo logar e autenticar sem problema.

Config ....

Filial:
Rede interna: 192.168.0.0/255.255.255.0
Internet : 189.x.x.x

Matriz:
Rede interna: 192.168.0.0/255.255.255.0
Internet : 189.x.x.x

Configurações do pptp matriz (/etc/pptpd.conf):

localip 192.168.0.221-230
remoteip 192.168.0.231-240

Configurações do pptp matriz (/etc/ppp/pptpd-options):

name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
#ms-dns "192.168.0.1"
#ms-wins "192.168.0.1"
proxyarp
nodefaultroute
debug
lock
nobsdcomp

Os clientes são Windows XP, e após estabelecer conexão, assume o endereço:

Endereço IP: 192.168.0.231
Máscara de sub-rede: 255.255.255.255
Gateway padrão: 192.168.0.231

Alguma dica ?

Marcio José Atanásio disse...

Neste caso, fiz a conexão VPN com uma faixa de ips diferente da faixa que tenho na rede. A seguir, fiz uma interface virtual no servidor que autentica a VPN e roteamento da rede da VPN para a Rede Interna no iptables

localip 10.1.1.1
remoteip 10.1.1.2-10

rede interna 192.168.1.0/32

Anônimo disse...

Olá estou com tentando realizar semelhante configuração no meu firewall, porém estou com algumas dúvida: a remoteip "faixa_de_ips ex. 10.1.1.2-10" deve ser a faixa de ip do servidor ou pc que vou conectar ex: 201.44.144.100 ou deve deve ser na mesma faixa de ip do meu servidor? Depois disso é só tentar conectar com o software de vpn do windows e pronto?

Marcio José Atanásio disse...

A "faixa_de_ips ex. 10.1.1.2-10" delimita o IP que vai ser entregue ao pc que vai conectar, ou seja, se ele for o primeiro a ser conectar na VPN, receberá o IP 10.1.1.2 na conexão. Crie uma interface virtual com o IP 10.1.1.1 no seu servidor e habilite o roteamento. Assim, conseguirá conectar via VPN direto no servidor. Caso tenha uma rede interna de classe de IP diferente de 10.1.1.0/24, habilite o ip_forward para o servidor trabalhar como roteador entre elas.

Victor Sartori disse...

Amigo, valeu pela dica....
porém o comando iptables -t nat -A -s 10.1.1.0/24 -j MASQUERADE


está faltando a chain...

iptables -t nat -A PREROUTING -s 10.1.1.0/24 -j MASQUERADE


se não colocar o iptables dá erro....

abração

Marcio José Atanásio disse...

Opa...

Valeu Victor. Desatenção minha.
Está corrigido...

Abraço