OpenVPN -Linux central x Linux filial

Montei esse artigo para facilitar e orientar na montagem de uma VPN sem muito trabalho ou esforço, facilitando a ligação da empresa central com as filiais, com segurança. Espero ajudar a todos e aprender também.

[ Hits: 30.156 ]

Por: Anderson Aguiar em 07/08/2008


Instalação e preparação do ambiente VPN



Preparação do ambiente VPN

Estou trabalhando com o Linux Centos5 e Fedora Core 7, mas qualquer Linux dá para montar a OpenVPN.

Uma dica para Slackware, no menuconfig você tem que habilitar o driver universal TUN/TAP device driver support, que por padrão vem desabilitado.

Vamos primeiro identificar as redes em que vou trabalhar. Na empresa em que trabalho, tenha uma VPN entre a empresa e uma filial.

Segue a identificação da minha rede. Tenho 45 usuários no total:

IP interno da empresa central: 192.168.0.0/32 255.255.255.0
IP externo da empresa central: 200.000.000.1
IP VPN: 10.0.0.1

Nessa máquina eu tenho rodando: dhcp, squid, firewall.
Ela possui 1GB de memória.

IP interno da filial1: 192.168.1.0/32 255.255.255.0
IP externo da filial1: 200.000.000.2
Ip VPN: 10.0.0.2

Nessa máquina tenho rodando: dhcp, squid, firewall.
Ela possui 1GB de memória.

Vamos usar a porta udp 5800 para montar nosso túnel (vpn).

Já temos informações da minha rede, falta agora instalar os pacotes e começar a brincadeira.

Vamos ver se o gcc já esta instalado na máquina. No prompt digite assim:

gcc

Tem que aparecer uma mensagem assim:

gcc: no input files

Se possível dê um start no serviço sshd:

# service sshd start

Vamos baixar os pacotes, na distribuição que uso é só digitar assim:

# yum install lzo-1.08*

No Debian:

# apt-get install lzo-1.08*

No Slackware:

# wget http://www.oberhumer.com/opensource/lzo/download/LZO-v1/lzo-1.08.tar.gz

Agora você tem que descompactar:

# tar -xzvf lzo-1.08.tar.gz

Após isso (isto) use o comando:

# ./configure

Depois:

# make & make install &&

E por último:

# ldconfig

Agora para baixar o pacote principal temos que acessar o Site:

# wget http://openvpn.net/download.html#stable

Descompactar:

# tar -xzvf openvpn-2.0.9.tgz

Digite assim após acessar a pasta openvpn-2.09:

# ./configure

Último comando:

# make & make install &&

Para ver se foi instalado e está tudo correto, digite:

# openvpn --version

A resposta tem que ser essa:

openvpn 2.0.9 i686-pc-linux-gnu [SSL] [LZO] built on Oct 10 2006
Copyright (C)2002-2006 James Yonan <jim@yonan.net>

Pronto, a primeira etapa está ok!

    Próxima página

Páginas do artigo
   1. Instalação e preparação do ambiente VPN
   2. Criar a chave, montar e configurar nossa OpenVPN
   3. Mascarando e colocando regras iptables em nossa VPN
Outros artigos deste autor

Montando o Squid

Leitura recomendada

Criando seu próprio servidor de DNS dinâmico (nsupdate + bind9)

MSN-Proxy no Debian Etch

Navegando na internet com (mais) segurança usando extensões no Mozilla/Firefox

Linux em Router Wireless (WRT54G Vs OpenWrt)

Ferramentas úteis para diagnóstico da rede

  
Comentários
[1] Comentário enviado por andrebsilva em 07/08/2008 - 10:30h

bem instrutivo...

parabéns

[2] Comentário enviado por irado em 07/08/2008 - 10:44h

hmm... acho que mais claro/esclarecedor artigo que já li sobre a utilização do OpenVPN. Parabéns.

[3] Comentário enviado por removido em 07/08/2008 - 11:17h

Achei muito bacana já tinha visto um aqui no volume bem legal também...

[4] Comentário enviado por redhat2 em 07/08/2008 - 11:30h

Muito bom muito instrutivo

[5] Comentário enviado por der.aguiar em 07/08/2008 - 12:50h

Galera agradeço a força...... se tiver melhorias ou dicas por favor me envie....

agradeço a todos.....

Anderson Aguiar - der.aguiar@itelefonica.com.br

[6] Comentário enviado por Riverfount em 07/08/2008 - 17:37h

Bem interessante, mas e se na sede da empresa o servidor VPN for um Windows, como configuro para que o terminal Linux, na filial, acesse essa rede?

Grato

Vicente

[7] Comentário enviado por grandmaster em 08/08/2008 - 00:00h

Assim fica fácil montar :D

Renato de Castro Henriques
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br

[8] Comentário enviado por der.aguiar em 08/08/2008 - 07:28h

Amigo Vicente....
Vpn de Windows x Linux, usando a openvpn é um pouco chato...
eu montei uma para vendedores externo, é longo para explicar dessa forma.
Vou montar um Artigo no mais tardar em 2 dias vou mandar pra vc via e-mail.

Qual é o seu e-mail?

Anderson Aguiar - der.aguiar@itelefonica.com.br

[9] Comentário enviado por ctavares em 11/08/2008 - 21:39h

Amigo, pelo que vi nesse tutorial nós precisamos executar alguns comandos na filial e matriz para o tunel ser criado, mas imagina o seguinte, se por acaso o link de um dos lados cair por algumas horas e depois voltar, o OPEN VPN irá recriar o tunel automaticamente?

[10] Comentário enviado por der.aguiar em 12/08/2008 - 07:16h

Não, não faz automaticamente!!
Se vc estiver colocando um ip fixo na vpn, é so digitar novamente o comando.
Na realidade, esqueci de falar sobre isso. É so vc criar um arquivo *.sh, com as linhas
de comando e executar.
Quem tem ip dinamico, não vai conseguir. Nesse caso tem que dar
kill no servico e dar o comando novamente.

Se não ficou claro o que escrevi, entre em contato que lhe enviarei mais informações.

anderson aguiar
der.aguiar@itelefonica.com.br

[11] Comentário enviado por andrewsluiz em 01/09/2008 - 19:41h

Bom, configurei e funcionou blz ... perfeito seu artigo, agora (pra variar) apareceu mais um necessidade aqui na empresa e se voce souber como fazer te agradeço se puder ajudar. Preciso da seguinte configuração Matriz acessa Filiais e Filiais acessam Matriz .. até ai ok ... mas preciso de Filiais tambem acessam Filiais ... é possivel ????

[12] Comentário enviado por der.aguiar em 02/09/2008 - 07:32h

Bom dia, bem faça o seguinte vc tem que ter o ip fixo nas maquinas, 1 ponto.
Agora vc utiliza o seguinte comando .

aqui vc cria scripts para executar ou coloca no rc.local do seu linux que ele executa sozinho.

####Matrix
#! /bin/bash
#Aqui estou fazendo a matrix ter mais 2 gateway (confiança de acesso), que seriam das filiais conectadas a matrix
route add -net IP_da_Rede_Filial1 netmask 255.255.255.0 gw Ip_vpn_Filial1 dev tun0
iptables -t nat -s Ip_vpn_Filial1 -A POSTROUTING -o eth0 -j MASQUERADE

route add -net Ip_da_Rede_Filial2 netmask 255.255.255.0 gw Ip_vpn_filial2 dev tun0
iptables -t nat -s Ip_da_Rede_filial2 -A POSTROUTING -o eth0 -j MASQUERADE


Agora coloque nas Filiais
###Filial2
#! /bin/bash
route add -net IP_da_Rede_Filial1 netmask 255.255.255.0 gw Ip_vpn_Filial1 dev tun0
iptables -t nat -s Ip_vpn_Filial1 -A POSTROUTING -o eth0 -j MASQUERADE

route add -net Ip_da_Rede_Matrix netmask 255.255.255.0 gw Ip_vpn_Matrix dev tun0
iptables -t nat -s Ip_da_Rede_Matrix -A POSTROUTING -o eth0 -j MASQUERADE

faça isso tb na filial1 invertendo os para o ip da filial2..

detalhe não e ip externo mas sim da rede interna, repare que meu eth0 é a rede interna, assim direciono a entrada da rede externa para a interna.

Blz! se precisar so entrar em contato.

Anderson Aguiar - adm. Redes
der.aguiar@itelefonica.com.br

[13] Comentário enviado por agimenez em 18/09/2008 - 07:14h

Olá Anderson, vi que você tem alguma documentação de OpenVPN de Windows para Linux, poderia enviar pra mim via e-mail?

Agradeço desde já!

alexandre.gimenez at gmail.com

[14] Comentário enviado por hgdanilo em 07/10/2008 - 11:58h

Olá Anderson, achei muito interessante seu artigo.

Gostaria de saber como eu devo fazer no caso de filiais windows? Ex: Tenho uma matriz conforme a que você montou e tenho o micro na minha casa que é windows XP e gostaria de entrar nessa VPN, como devo fazer?

Agradeço desde já

Danilo - hgdanilo@yahoo.com

[15] Comentário enviado por der.aguiar em 09/10/2008 - 11:24h

Galera prometo, que na semana que vem eu termino o artigo da openvpn entre linux x windows....

estou trabalhando muito e não tive tempo de terminar... blz
anderson aguair - der.aguiar@itelefonica.com.br

[16] Comentário enviado por leandrobrunoo em 17/07/2009 - 16:31h

Ola amigo der.aguiar

seu artigo e show

agora me tira uma duvida, eu fiz tudo como manda o artigo, funcionou certin.
quando ping da maquina server central pra maquina server cliente, funfa legal,
agora quando eu entro em outra maquina, tipo windows xp e pingo com outra maquina da rede 192.168.0.1 naum funciona

tanto da central pra cliente, quantu da client pra central !
pode me ajudar ?????


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts