Vou assumir que você já possui o OpenSSL instalado.
Você pode alterar ou até mesmo usar o seu próprio openssl.cnf, estou fornecendo este pra deixar tudo bem completo. =)
Geralmente este arquivo encontra-se em /etc/ssl/openssl.cnf.
#
# OpenSSL example configuration file.
# This is mostly being used for generation of certificate requests.
#
RANDFILE = /dev/arandom
[ca]
default_ca = CA_default
[CA_default]
dir = /etc/openvpn
certificate = $dir/xx.crt
private_key = $dir/xx.key
serial = $dir/serial
database = $dir/index.txt
new_certs_dir = $dir/
default_md = md5
policy = policy_match
default_days = 3500
[policy_match]
countryName = match
stateOrProvinceName = match
organizationName = match
organizationalUnitName = optional
commonName = supplied
emailAddress = optional #######################################
[ req ]
default_bits = 1024
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
[ req_distinguished_name ]
countryName = Country Name (2 letter code) #countryName_default = AU
countryName_min = 2
countryName_max = 2
stateOrProvinceName = State or Province Name (full name) #stateOrProvinceName_default = Some-State
localityName = Locality Name (eg, city)
0.organizationName = Organization Name (eg, company) #0.organizationName_default = Internet Widgits Pty Ltd # we can do this but it is not needed normally :-) #1.organizationName = Second Organization Name (eg, company) #1.organizationName_default = CryptSoft Pty Ltd
organizationalUnitName = Organizational Unit Name (eg, section) #organizationalUnitName_default =
commonName = Common Name (eg, fully qualified host name)
commonName_max = 64
emailAddress = Email Address
emailAddress_max = 64
[ req_attributes ]
challengePassword = A challenge password
challengePassword_min = 4
challengePassword_max = 20
unstructuredName = An optional company name
[ x509v3_extensions ]
nsCaRevocationUrl = http://www.cryptsoft.com/ca-crl.pem
nsComment = "This is a comment" # under ASN.1, the 0 bit would be encoded as 80
nsCertType = 0x40 #nsBaseUrl
#nsRevocationUrl
#nsRenewalUrl
#nsCaPolicyUrl
#nsSslServerName
#nsCertSequence
#nsCertExt
#nsDataType
[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