sexta-feira, 10 de fevereiro de 2012

Configurando um servidor VPN Linux para acesso Windows

Como já tratado em alguns posts anteriores sobre a instalação e configuração de uma VPN entre máquinas Windows e entre máquinas Linux, vamos agora tratar de configurar uma VPN entre uma máquina Linux e outra Windows.

Este post trata especificamente da configuração um servidor VPN Linux para aceitar conexões de máquinas clientes Windows.

Acesse também os outros posts sobre VPN:

Conectando a uma rede VPN pelo Windows 7

Criar um servidor de VPN no Windows 7 ou Windows Server 2008



Primeiramente vamos instalar o pacote pptpd:

# apt-get install pptpd

Obs.: Este pacote está disponível no CD2 do Debian Squeeze, caso nao possua este CD e não possua este repositório, baixe pelo site e instale manualmente. Para instalar manualmente é necessária a instalação do pacote "bcrelay" antes da instalação do "pptpd".

Download > bcrelay
                     pptpd

Para instalar rode o comando:

# dpkg -i bcrelay_1.3.4-3_i386.deb

e

# dpkg -i pptpd_1.3.4-3_i386.deb

Após a instalação do pptpd vamos a configuração


Configuração

Agora vamos editar o arquivo pptpd.conf:

# vim /etc/pptpd.conf

Não alteraremos nada, simplesmente adicione essas linhas no final de seu arquivo:

speed 115200
debug
option /etc/ppp/options
localip 10.0.0.1-200
remoteip 10.0.0.210-230

Neste exemplo estou usando uma rede Classe A (10.0.0.x) e em localip 10.0.0.1-200 estou dizendo que esse ips uso para minha rede interna remoteip 10.0.0.210-230 e que esse uso para quem se conectar na minha VPN.

Pronto, agora vamos ao próximo arquivo:

# vim /etc/ppp/options

Apague tudo o que estiver nele e adicione essas linhas:

debug
auth
proxyarp


Pronto, passaremos para o próximo:

# vim /etc/ppp/chap-secrets

O arquivo, por exemplo, ficará da seguinte maneira:

# Secrets for authentication using PAP
# client server secret IP addresses
fred             *        senha      10.0.0.220
usuario        *        senha      10.0.0.221

Onde esse usuário tem que estar cadastrado no Linux e sua senha será a mesma. (Lembrando que quando estiver no Windows e for acessar essa VPN o usuário cadastrado no Linux também terá que estar logando no Windows)

Faça o mesmo para o arquivo pap-secrets:

# vim /etc/ppp/pap-secrets

# Secrets for authentication using CHAP
# client server secret IP addresses
fred             *        senha        10.0.0.220
usuario        *        senha        10.0.0.221

Obs.: Se você não especificar os endereços IPs nestes dois arquivos, ele receberá pela faixa definida no arquivo "pptpd.conf", mas se você definir os IPs aqui, ele irá descartar a faixa de IPs no arquivo "pptpd.conf" e utilizará os IPs presentes nestes dois ultimos arquivos.

Agora reinicie o pptpd para ativar nossa configuração

# /etc/init.d/pptpd restart

Neste momento a conexão VPN está pronta... Para usuários Windows conectarem no servidor Linux.

Agora é só configurar o Windows para se conectar no Linux. (Acesse Conectando a uma rede VPN pelo Windows 7)

Depois de configurada a VPN, mas sem nenhuma máquina conectada nela, a saída do comando "ifconfig" no servidor Linux, não retornará nada novo, mas assim que conectado algum cliente, essa nova interface será mostrada na saída desse comando:

# ifconfig


ppp0        Link encap: Protocolo Ponto-a-Ponto
                inet end.: 10.0.0.1   P-a-P: 10.0.0.220    Masc: 255.255.255.255
                UP POINTTOPOINT RUNNING NOARP MULTICAST  MTU:1396  Métrica: 1
                RX packets: 30  errors: 0   dropped: 0   overruns: 0   frame: 0
                TX packets: 8  errors: 0   dropped: 0   overruns: 0    carrier: 0
                colisões: 0   txqueuelen: 3
                RX bytes: 38610 (37.7 KiB)    TX bytes: 98 (98.0 B)


Isto indica "teoricamente" que a VPN está funcionando, para termos certeza, vamos pingar da máquina Windows o servidor Linux.

C:\Users\Fred>ping 10.0.0.1

Disparando 10.0.0.1 com 32 bytes de dados:
Resposta de 10.0.0.1: bytes=32 tempo=8ms TTL=64
Resposta de 10.0.0.1: bytes=32 tempo=6ms TTL=64
Resposta de 10.0.0.1: bytes=32 tempo=5ms TTL=64
Resposta de 10.0.0.1: bytes=32 tempo=8ms TTL=64

Estatísticas do Ping para 10.0.0.1:
    Pacotes: Enviados = 4, Recebidos = 4, Perdidos = 0 (0% de perda),

Aproximar um número redondo de vezes em milissegundos:
    Mínimo = 5ms, Máximo = 8ms, Média = 6ms


Agora podemos ter certeza de que nossa VPN está funcionando, bastando agora apenas adicionar as rotas.

Baseado e adaptado no post do tucs (Viva o Linux)

2 comentários:

  1. Muito obrigado tenho o Sistema a funcionar apenas tive que alterar o seguinte:


    # nano /etc/sysctl.conf

    e tirar o comment a:

    net.ipv4.ip_forward=1

    ResponderExcluir
  2. Boas a VPN ficou a funcionar com o seu tuturial. Mas depois de reiniciar ja nao funciona. o que se tera passado. Obrigado Estou da tentar ligar-me do macosx ao linux debian. ontem estava a funcionar hoje ja nao.
    cumprimentos
    joao

    ResponderExcluir

DropBox