Outra alternativa é utilizar o easy-rsa (recomendado para quando for necessário gerar vários certificados).
Modelo do arquivo servidor.conf
Como o próprio nome diz, este é o arquivo de configuração do servidor. Este arquivo deve ficar localizado em /etc/openvpn.
Lembrando que no servidor devemos ter os certificados da unidade certificadora, do servidor e as chaves públicas dos clientes.
port 443 #modifiquei a porta padrão do openvpn
proto tcp
dev tun
ca pmg.crt #certificado da unidade certificadora
cert xx.crt #chave pública do cliente
key xx.key #chave privada do cliente
dh dh1024.pem
client-config-dir ccd #criar o diretório "ccd" dentro de /etc/openvpn
route 10.0.1.0 255.255.255.0
server 10.0.1.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
Modelo do arquivo cliente.conf
Hum... em qual das máquinas vai este arquivo? ;) Claro que é na máquina cliente, no diretório /etc/openvpn.
Lembrando que no cliente devemos ter a chave pública da unidade certificadora, do servidor e as chaves pública e privada do próprio cliente.
dev tun0
proto tcp
remote 111.111.111.11 443 #endereço IP do servidor
nobind
persist-key
persist-tun
ca xx.crt #certificado do órgão certificador
cert xx.crt #certificado público do cliente
key xx.key #chave privada do cliente
comp-lzo
verb 3
Com essas configurações podemos iniciar o openvpn e sair conectando os clientes. Os endereços IP serão atribuados dinamicamente. #openvpn --config /etc/openvpn/servidor.conf --daemon
Conclusão
Podemos concluir que o OpenVPN é um excelente software para interligar dois ou mais pontos com segurança através da internet. Com ele não é necessário deixar portas de SSH ou TS abertas em seu firewall. Quem necessita de acesso remoto pode receber um certificado e, com o OpenVPN, pode acessar os serviços da rede da empresa como se estivesse localmente.
Com a criação de algumas rotas é possível fazer com que as filiais possam se "enxergar" e trocar informações entre si.
[1] Comentário enviado por edusite em 17/08/2009 - 20:34h
de 0 a 10 dou 5 , amigo faltou algumas coisas para explicar, pra quem é novo em vpn vai precisar juntar seu
artigo com um mais completo ,ex: o que é ca pmg.crt em que momento isso foi gerado?,
vc esta carregando servidor.conf dentro do cliente?
para que serve a criaçao do diretorio ccd
route 10.0.1.0 255.255.255.0
server 10.0.1.0 255.255.255.0
[2] Comentário enviado por rfranzen em 18/08/2009 - 09:15h
Bom dia edusite. Tenho que concordar e discordar de você.
Realmente, as informações sobre o diretório ccd, que é onde devemos colocar as configurações de ip e rota do cliente caso queiramos atribuir endereços fixos a eles. ex:
ifconfig-push <ip cliente> <mascara> <gateway da vpn/ip do servidor>
O artigo explica perfeitamente como gerar os certificados e onde cada arquivo de configuração é utilizado e o SO em que tudo foi feito, basta ler o artigo.
[3] Comentário enviado por tiagoferla em 01/10/2009 - 17:00h
era examente oq eu precisava!!
os certificado SSL!!
mas amigo, segui todos os seus passos corretamente, mas na hora da criação do segundo certificado para o cliente!!
ele deu um erro!!! copiei o seu arquivo /etc/ssl/openssl.cnf com vc citou no tutorial! e mesmo assim continua dando o mesmo erro!!
se puder me ajudar!! empaquei nessa parte e não consigo sair! ;/
[4] Comentário enviado por fernandoborges em 02/10/2009 - 19:42h
É... Beeeem resumido seu artigo. Pra levantar uma VPN robusta, com os recursos necessários pra interligar efetivamente gateways remotos, é preciso bem mais. Mas esse seria o primeiro passo. Como o amigo edusite comentou, é necessário ler artigos mais aprofundados pra completar o seu. Mas... Parabéns mesmo assim!
Em breve estarei colocando meu primeiro artigo aqui no VOL sobre esse tema.
Abraço.
[5] Comentário enviado por rfranzen em 05/10/2009 - 11:56h
Bom dia fernandoborges obrigado pelo comentário.
Não entendi o que você quer dizer com "VPN robusta". A partir do momento que a VPN funciona e seus hosts conseguem se comunicar pela mesma, os detalhes de robustez e segurança são feitos através de firewall e rotas mais detalhadas (o que não está no escopo do artigo).
Também é importante lembrar que este artigo foi escrito em 6 de Outubro de 2006 (link original: www.rfranzen.com.br/2006/10/06/configurando-o-openvpn-para-multiplos-clientes/). Muita coisa mudou em 3 anos de projeto OpenVPN. Inclusive a quantidade de material sobre o assunto, que hoje é incrivelmente superior à existente em 2006.
Podemos dizer até que hoje, é relativamente simples configurar uma VPN simples sem nenhum esforço, apenas um pouco de conhecimento técnico.
[7] Comentário enviado por btavares em 05/11/2009 - 15:38h
Como faço no caso de vpn host-to-server? Ou seja quero que meus vendedores se conectem na nossa rede através de um notebook
e um minimodem 3G, através do VPN GUI, no ipcop eu faço isso com 1 min, mas nunca consegui fazer em um servidor modo texto puro
tenho alguns servidores Debian e Ubuntu Server em clientes, mas nos clientes que precisam de VPN dessa maneira que falei,
uso o IPCOP, foi a solução de VPN mais prã tica que achei.
NO mais, tá excelente seu artigo, parabéns, e fica a sugestão de fazer um artigo que use o VPN GUI instalado em um WinXP "discando"
para o servidor VPN e entrando na rede.
[8] Comentário enviado por nariz em 25/11/2009 - 10:11h
em um ambiente onde o meu cliente é um gateway com uma rede interna atras dele....
ServidorPrincipalVPN-------->ClienteVPN---------->RedeInternaClienteVPN
Como ficaria por exemplo uma rota para que o ServidorPrincipal consiga pingar uma maquina que está na RedeInternaClienteVPN ???
Usando chaves estáticas e com várias interfaces de tunelamento no servidor eu coloco as rotas apontando para interface TUN referente ao cliente e funciona legal.
Usando certificado ainda nao consegui fazer essa comunição...
[10] Comentário enviado por cabriocario em 11/12/2009 - 11:01h
Aos participantes: Instalei no meu gateway (debian lenny) o openvpn -apt-get openvpn, coloquei os certifcados que me sao fornecidos dentro de /etc/openvpn, mas nao consigo fazer funcionar. Startei o openvpn tudo ok.
ANalisei o log do openvpn: WARNING: file 'etc/openvpn/arquivo.key' is group or others acessible logo abaixo: canot open file key.
file 'arquivo.key' NO SUCH file is directory.
Me certifiquei do endereco correto no .conf e se o arquivo.key estava no local indicado.
Se alguém tiver uma sguestao. Favor postar.
# cd /usr/src/openvpn-2.0.9 - (OK)
# ./configure --prefix=/usr/local/openvpn -(OK)
# make && make install -(NÃO CONSEGUI) "ERRO - make: *** No targets specified and no makefile found. Stop."
Ou ainda mais simples que tudo isso (acima)...
# apt-get install openvpn - tudo OK...
Usuários iniciantes que nem eu, recomendo o nosso amigo APT-GET :p