OpenVPN + Bridge no Ubuntu Server

Este artigo mostra como utilizar uma bridge para unir duas redes diferentes, através de um link de comunicação utilizando OpenVPN.

[ Hits: 72.765 ]

Por: alessandro em 15/09/2010


Gerando chaves



Para gerar as chaves do servidor deve-se utilizar os scripts que estão dentro da pasta /etc/openvpn/easy-rsa. Primeiramente deve-se executar o script "./build-key-server" seguido de um nome que pode ser o que identifique seu servidor VPN:

# ./build-key-server "servidor"

(Troque a palavra entre aspas por um nome que identifique seu servidor, no exemplo utilizei palavra "servidor" mesmo)

Após digitar o comando ele repetirá as opções, como na geração do build-ca, após isso ele irá pedir para que você digite uma senha, é mais uma medida de segurança, mas inconveniente que toda vez que gerar um certificado válido para o servidor terá de digitar essa senha criada. Sugiro deixar em branco dando um "enter", após dizer se deseja assinar certificado responda "sim"/"yes" e depois se deseja salvar as configurações novamente responda sim, conforme figura abaixo.
Dentro da pasta keys você pode ver resultado e certificados gerados.
Agora vamos gerar as chaves para os clientes da VPN utilizando o script "build-key" seguido do nome que você quer dar ao cliente, você pode repetir esse passo para vários clientes.

Este script mostra a saída do comando openssl ao gerar as chaves e confirma parâmetros do certificado do servidor.

Agora só dar enter para confirmar os parâmetros já acertados no build-ca, dê um "enter" para confirmar e "Y" (yes) para confirmar criação da chave, "y" novamente para salvar.

Você pode repetir esse passo para criar as chaves dos clientes quantas vezes necessitar, dependendo do número de clientes que terão acesso ao servidor.

Agora você deve criar os parâmetros de "Diffie Hellman", para reforçar a segurança do servidor openvpn na troca de chaves públicas e privadas, esta medida visa implementar segurança extra na troca de chaves entre clientes e servidor.

Execute o comando abaixo:

# ./build-dh

Dependendo do seu equipamento esse comando pode demorar um pouco, ele gera a chave dh1034.pen, que possui parâmetros de Diffie e Hellman para melhor segurança entre comunicação cliente servidor na autenticação das chaves.

Obs.: Os arquivos .csr gerados podem ser apagados.

Agora já temos o nosso conjunto de chaves necessárias para comunicação através de uma VPN segura entre servidor e cliente.

Página anterior     Próxima página

Páginas do artigo
   1. Objetivo
   2. Gerando chaves
   3. Configuração do servidor
   4. Configuração do cliente
   5. Criando a Bridge
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Utilizando o Debian Squeeze em Desktop

Fedora Core 1 :: Starter Kit

Criando túneis com o VTUN

Driver nVidia no Debian

Como transformar Salix OS em Slackware

  
Comentários
[1] Comentário enviado por obernan em 15/09/2010 - 09:43h

Primeiramente parabens pelo artigo e obrigado pela contribuicao, estou louco para testar seu tutorial, mas so tenho uma duvida, se a rede do servidor 192.168.137.0/24 e a dos clientes e 172.16.0.0/24, porque que na conf do servidor vc colocou "server-bridge 192.168.0.254 255.255.255.0 192.168.0.100 192.168.0.110" //aqui endereço do servidor e sua configuração para suporte a bridge e também faixa de endereços para clientes.
Porque pelo que eu pude endender nao precisa adicionar rotas, os clientes pegam a mesma faixa de ip da matriz.

[2] Comentário enviado por obernan em 15/09/2010 - 09:55h

Ah !!!!! E com relaçao as portas vc nao sitou ai, tem que colocar nas confs, fazer redirecionamento de porta !!!!!!!!

[3] Comentário enviado por macgyver_rp em 15/09/2010 - 09:57h

Ow obrigado ...
desculpa falha nossa..coloquei arquivo editado e dei print da tela..me enganei na hora do ip correto é abaixo como você observou bem.

"server-bridge 192.168.137.254 255.255.255.0 192.168.137.100 192.168.137.110'" .

[4] Comentário enviado por macgyver_rp em 15/09/2010 - 10:10h

Outra observação , quem tem IP valido de internet exemplo 189.23.159.10 de alguma operadora vai ter colocar no arquivo de configuração do cliente endereço valido internet do servidor.
Tem opção de informar a porta no config sim e rota de acordo com configuração de sua rede.

exemplo

push "route xxx.xxx.xxx.xxx mmm.mmm.mmm.m" onde x é seu ip e m sua mascara de rede e adiciona linha no config do servidor caso sua rota com internet ou rede seja diferente dos padrões e porta voce adiciona opção no cliente config caso porta não seja a padrão do openvpn-server 1194 udp.
segue link abaixo que tem dicas boas.
http://www.dicas-l.com.br/arquivo/openvpn_com_os_clientes_na_mesma_rede.php

[5] Comentário enviado por obernan em 16/09/2010 - 23:10h

Oh rapa, to testando, quando terminar posto aqui !!!!
Brigadao, valeu mesmo !!!!
Abraço

[6] Comentário enviado por tiagozappa em 15/02/2012 - 10:57h

Muito show o arquivo, tenho uma dúvida referente a configuração do servidor.
Segue a descrição do meu ambiente.

MATRIZ.
Rede interna 192.168.0.0/24
Ip rede interna do servidor (eth0) 192.168.0.1 255.255.255.0
IP rede internet (eth1) 172.0.0.2 -- é o ip de saída para o ADSL
GW do servidor (eth1) 172.0.0.1 -- é o ip do modem ADSL

Filial
Rede interna 192.168.1.0/24
Ip rede interna do servidor (eth0) 192.168.1.1 255.255.255.0
IP rede internet (eth1) 172.0.0.2 -- é o ip de saída para o ADSL
GW do servidor (eth1) 172.0.0.1 -- é o ip do modem ADSL

Minha dúvida é referente a configuração do servidor.
a opção do server-bridge, deixo assim:
server-bridge 192.168.0.1 255.255.255.0 192.168.0.200 192.168.0.230

Ou estou usando tudo errado, e para usar a opção de serve brigde, eu usaria na matriz e filial a mesma rede (192.168.0.0/24)
Colocando a seguinte configuração:
MATRIZ.
Rede interna 192.168.0.0/24
Ip rede interna do servidor (eth0) 192.168.0.1 255.255.255.0
IP rede internet (eth1) 172.0.0.2 -- é o ip de saída para o ADSL
GW do servidor (eth1) 172.0.0.1 -- é o ip do modem ADSL

Filial
Rede interna 192.168.0.0/24
Ip rede interna do servidor (eth0) 192.168.0.200 255.255.255.0
IP rede internet (eth1) 172.0.0.2 -- é o ip de saída para o ADSL
GW do servidor (eth1) 172.0.0.1 -- é o ip do modem ADSL

E daí usando a opção:
server-bridge 192.168.0.1 255.255.255.0 192.168.0.200 192.168.0.230
(aqui no range, começa pelo ip do primeiro client? ou seja; o ip do servidor da filial?)

Ou seja, eu divido a faixa de ip da rede 192.168.0.0 e deixo tanto matriz, como filial com a mesma faixa de ip, e faço os dois server conversarem com a vpn+bridge, assim, as duas redes conversam????

Deu para entender o que quiz dizer?? qual das duas soluções posso executar??? obrigado. f

[7] Comentário enviado por macgyver_rp em 15/02/2012 - 16:16h

Boa Tarde Tiago,

Respondendo sua Duvida, essa solução serve para tanto unir redes com IP´s diferentes ou para unir redes de mesma faixa separadas pela rede wan da operadora de internet.

Você pode usar faixa diferente da sua rede da matriz na filial...resultado - pc´s da filial não acessam matriz.
mesma faixa - pc da filial recebe endereço da mesma faixa - pcs filial acessam matriz.

Bridge
matriz uma faixa 192.168.0.0/24
filial uma faixa 192.168.1.0/24
bridge uma faixa 192.168.2.0/24 - com um só cliente o servidor da filial

quando server da filial se conectar a matriz - vai assumir ip da bridge 192.168.2.100 por exemplo ai redirecionar trafego da interface eth0 para eth1 depois para interface br0 - bridge uni a rede wan a lan usando VPN garante mais segurança dentro de túnel criptografado. então tanto faz endereço da rede interna da matriz ou da filial estarem na mesma faixa...importante é que para evitar conflitos de IP determinar ranges diferentes na matriz e da filial para evitar ter 2 hosts com mesmo ip por serem servidores DHCP diferentes... ideal serem de faixas diferentes como você coloca na opção 1 ..unica coisa que na bridge você tem colocar faixa diferente da faixa da eth0. .
No exemplo do artigo estava rede local -
se voce tem ip fixo na matrix nos arquivos de config devera usar ip dado pela sua operadora. porque na hora de conectar filial com matriz na filial no config tem estar ip da matrix valido de internet não ip 172.0.0.2 .

espero que tenha ajudado.
site abaixo tem dica legal.
http://www.dicas-l.com.br/arquivo/openvpn_com_os_clientes_na_mesma_rede.php#.Tzv2Mk4geuk



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts