[FUG-BR] Varios túneis com OpenVPN

Daniel Bristot de Oliveira danielbristot em gmail.com
Segunda Março 17 16:51:00 BRT 2008


Opa,

Confirmando meu caro amigo Thiago,

Sim cristina, ele é um servidor que aceita vários clientes, então com
um único serviço ele atende todos os clientes.

Ter um daemon para cada cliente fica complicado para trabalhar né? imagina :D

Então, como o Thiago falou, o openvpn nesta forma trabalha como
servidor, e os clientes se autenticam nele.

A autenticação é feita via certificados digitais, que você pode fazer
com o scripts que vem  no openvpn, no qual o Mateus cita em seu
artigo.

O que falta no artigo do Mateus é que ele mostra apenas como um host
acessa uma rede. Voce precisa ligar duas redes, então, voce precisa
adicionar uma regra de roteamento para cada cliente, aí que entram as
configurações específicas por cliente.

Estas configurações expecificas adicionam e removem as rotas, e
definem endereços para cada roteador cliente.

As configurações de cada cliente são feitas com o diretório CCD, cujo
adicionei o link no outro e-mail.

Isto facilita o gerenciamento da VPN, visto que tudo está em só uma maquina,

att

Em 17/03/08, Thiago J. Ruiz<thiagojruiz em gmail.com> escreveu:
> Vou tentar responder pelo Daniel!
>
>  sim somente numa porta, o OpenVPN no modo SERVER ( server 10.10.10.0
>  255.255.255.0 ) pode ouvir em apenas uma porta e ter vários clientes
>  conectados a ele por meio de certificados digitais (unicos para da
>  node), tal como o Daniel descreveu acima.
>
>  o Tutorial do Matheus Cucoloto tá nesse link.
>
>
>  http://www.fug.com.br/content/view/173/60/
>
>  paga uma beer depois aih Matheus!
>
>  abraço, espero que ajude
>
>
>  Em 17/03/08, Cristina Fernandes Silva<cristinafs.listas em gmail.com> escreveu:
>
> > daniel.. mas somente numa porta ?? neste caso 1194 ? mesmo assim
>  >  terei que ter varias portas.. essa é minha dúvida.
>  >
>  >  Em 17/03/08, Daniel Bristot de Oliveira<danielbristot em gmail.com> escreveu:
>  >
>  > > Olá cristina
>  >  >
>  >  >  Eu tenho isto rodando, um servidor OpenVPN, com vários clientes em um
>  >  >  único servidor, cada cliente é um firewall, que dá rota para uma
>  >  >  subrede, assim eu faço com que a rede do cliente alcance a rede do
>  >  >  servidor e vice-versa.
>  >  >
>  >  >  A chaves são certificados digitais, o que aumenta a segurança, se
>  >  >  comparado a uma chave.
>  >  >
>  >  >  Suponha que tenha criado o servidor, e dois clientes, com DN
>  >  >  gw.empresa.com.br e gw.empresa2.com.br.
>  >  >
>  >  >  Abaixo a configuração do servidor.
>  >  >
>  >  >  -----
>  >  >  # Interface que o OpenVPN esparara conexoes
>  >  >  local 201.XX.XX.XXX
>  >  >  port 1194
>  >  >  proto udp
>  >  >  dev tun0
>  >  >  management localhost 7505
>  >  >
>  >  >  #Certificado do ca
>  >  >  ca keys/ca.crt
>  >  >  # certificado do servidor
>  >  >  cert keys/server.crt
>  >  >  # Mantenha esta chave em segredo
>  >  >  key keys/server.key
>  >  >  # arquivo dh
>  >  >  dh keys/dh1024.pem
>  >  >  # Servidor
>  >  >  # Ele automaticamente pegara o IP 10.10.10.1
>  >  >  server 10.10.10.0 255.255.255.0
>  >  >  ifconfig-pool-persist ipp.txt
>  >  >  client-config-dir ccd
>  >  >
>  >  >  # Rotas para serem servidas as clientes
>  >  >  push "route 192.168.0.0 255.255.0.0"
>  >  >
>  >  >  keepalive 10 120
>  >  >  ping-timer-rem
>  >  >
>  >  >
>  >  >  # Chave criptografica
>  >  >  cipher AES-256-CBC
>  >  >  status openvpn-status.log
>  >  >
>  >  >  # Roteamento para clientes
>  >  >  # Rede da empresa1
>  >  >  route 172.16.100.0 255.255.255.0
>  >  >  # Rede da empresa2
>  >  >  route 172.16.200.0 255.255.255.0
>  >  >
>  >  >  log  openvpn.log
>  >  >  cd /usr/local/etc/openvpn
>  >  >  user openvpn
>  >  >  group openvpn
>  >  >  comp-lzo
>  >  >  verb 1
>  >  >  ---
>  >  >
>  >  >  Dentro do diretório /usr/local/etc/openvpn eu tenho o diretorio ccd
>  >  >  que possui as configurações de rede de cada cliente, neste diretório
>  >  >  teremos os arquivos que informam as redes dos clientes e quais IPs os
>  >  >  clientes pegarão do servidor.
>  >  >
>  >  >  para cada cliente, devemos ter um arquivo com o nome dado ao seu DN,
>  >  >  no exemplo,
>  >  >
>  >  >  # cat gw.empresa1.com.br
>  >  >
>  >  >  iroute 172.16.100.0 255.255.255.0
>  >  >  ifconfig-push 10.10.10.5 10.10.10.6
>  >  >
>  >  >  # cat gw.empresa2.com.br
>  >  >
>  >  >  iroute 172.16.200.0 255.255.255.0
>  >  >  ifconfig-push 10.10.10.9 10.10.10.10
>  >  >
>  >  >
>  >  >
>  >  >  Configuração dos clientes
>  >  >
>  >  >  -- /usr/local/etc/openvpn/openvpn.conf
>  >  >  cd /usr/local/etc/openvpn
>  >  >  client
>  >  >  dev tun0
>  >  >  proto udp
>  >  >  remote 201.xxx.xxx.xxx 1194
>  >  >  nobind
>  >  >  user openvpn
>  >  >  group openvpn
>  >  >  persist-tun
>  >  >  ca keys/ca.crt
>  >  >  cert keys/nova.crt
>  >  >  key keys/nova.key
>  >  >  comp-lzo
>  >  >  verb 2
>  >  >  log openvpn.log
>  >  >  cipher AES-256-CBC
>  >  >  ---
>  >  >
>  >  >  Desculpa a pressa, mas esta terminando o horário de almoço,
>  >  >
>  >  >  A criação de certificados segue o exemplo do mateus coculoto no site da fug,
>  >  >  O esquema do diretorio ccd e as configurações por cliente estão neste link:
>  >  >  http://openvpn.net/index.php/documentation/howto.html#policy
>  >  >
>  >  >  Quando configurei este servidor, só usei dois documentos, o openVPN
>  >  >  How-to e o artigo do coculoto...
>  >  >
>  >  >  Sobre a estabilidade do openvpn, maravilha...
>  >  >
>  >  >  Caso queira usar o esquema que mostrei, posso falar mais.... de volta
>  >  >  ao trabalho.
>  >  >
>  >  >  Att
>  >  >
>  >  >  --
>  >  >
>  >  > Daniel Bristot de Oliveira
>  >  >
>  >  > -------------------------
>  >  >  Histórico: http://www.fug.com.br/historico/html/freebsd/
>  >  >  Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>  >  >
>  >  -------------------------
>  >  Histórico: http://www.fug.com.br/historico/html/freebsd/
>  >  Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>  >
>
>
>
> --
>  Thiago J. Ruiz
>  http://thiagoruiz.blogspot.com
>
> -------------------------
>  Histórico: http://www.fug.com.br/historico/html/freebsd/
>  Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>


-- 
Daniel Bristot de Oliveira


Mais detalhes sobre a lista de discussão freebsd