OpenVPN + Bridge
Configuração do OpenVPN em modo bridge e autenticação por par de chaves, onde será criada uma C.A. no próprio servidor e os clientes que se autenticarem neste ganharão um ip na interface tap válido na rede interna, com seu gateway e DNS caso possua.
Parte 6: Configurando o certificado nos clientes
Vamos criar um certificado/chave para um cliente, estes passos servem para cria todos os certificados/chaves de todos os clientes.
Entre no diretório /etc/ssl/ca:
# cd /etc/ssl/ca
Para criar o certificado/chave do cliente usaremos o comando abaixo:
# openssl req -nodes -new -keyout cliente.key -out cliente.csr
Onde:
Country Name (2 letter code) (BR):
State or Province Name (full name) [SC]:
Locality Name (eg, city) [Florianopolis]:
Organization Name (eg, company) [nome da sua empresa]:
Organizational Unit Name (eg, section) [VPN]:
Mas em:
# openssl ca -out cliente.crt -in cliente.csr
E responda "y" as perguntas sempre.
Pronto, nosso primeiro certificado de cliente foi criado, agora copie o certificado da ca ca.crt, o protocolo dh dh1024.pem mais o certificado/chave e o certificado assinado do cliente cliente.csr, cliente.key e cliente.crt para um disquete ou envie por e-mail para o cliente.
Se seus clientes usam o sistema da Microsoft, aconselho a instalarem o cliente openvn-gui, digite no Google "openvpn-gui" que encontrará vários executáveis para baixar. Instale-o nas máquinas clientes e copie todos os arquivos citados acima para a pasta C:\Arquivos de programas\OpenVPN\config (isso se você fez uma instalação default), e dentro deste diretório crie o arquivo client.ovpn com o seguinte conteúdo:
Salve e saia.
Repita estes passos para cada cliente que for se conectar remotamente, lembrando sempre de utilizar um nome diferente para cada um. Se você fizer no mesmo esquema que eu faço, colocando o nome da pessoa no certificado, fica mais fácil.
De volta ao servidor...
Entre no diretório /etc/ssl/ca:
# cd /etc/ssl/ca
Para criar o certificado/chave do cliente usaremos o comando abaixo:
# openssl req -nodes -new -keyout cliente.key -out cliente.csr
Onde:
- cliente.key - nome da chave do cliente, pode ser o nome da pessoa que vai usar, como joão.key ou ricardo.key;
- cliente.csr - certificado csr do cliente, use o mesmo nome que foi utilizado na chave para facilitar sua visualização.
Country Name (2 letter code) (BR):
State or Province Name (full name) [SC]:
Locality Name (eg, city) [Florianopolis]:
Organization Name (eg, company) [nome da sua empresa]:
Organizational Unit Name (eg, section) [VPN]:
Mas em:
- Common Name (eg, your name or your server's hostname) []: - Aqui utilize o mesmo nome que você usou na chave, neste exemplo foi "cliente";
- Email Address []: - Email do cliente;
- A challenge password []: - Digite uma senha para o certificado.
# openssl ca -out cliente.crt -in cliente.csr
E responda "y" as perguntas sempre.
Pronto, nosso primeiro certificado de cliente foi criado, agora copie o certificado da ca ca.crt, o protocolo dh dh1024.pem mais o certificado/chave e o certificado assinado do cliente cliente.csr, cliente.key e cliente.crt para um disquete ou envie por e-mail para o cliente.
Se seus clientes usam o sistema da Microsoft, aconselho a instalarem o cliente openvn-gui, digite no Google "openvpn-gui" que encontrará vários executáveis para baixar. Instale-o nas máquinas clientes e copie todos os arquivos citados acima para a pasta C:\Arquivos de programas\OpenVPN\config (isso se você fez uma instalação default), e dentro deste diretório crie o arquivo client.ovpn com o seguinte conteúdo:
client
dev tap
proto tcp
remote (ip externo do servidor)
port 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca "C:\\Arquivos de programas\\OpenVPN\\config\\ca.crt"
dh "C:\\Arquivos de programas\\OpenVPN\\config\\dh1024.pem"
cert "C:\\Arquivos de programas\\OpenVPN\\config\\roberto.crt"
key "C:\\Arquivos de programas\\OpenVPN\\config\\roberto.key"
comp-lzo
verb 4
mute 20
dev tap
proto tcp
remote (ip externo do servidor)
port 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca "C:\\Arquivos de programas\\OpenVPN\\config\\ca.crt"
dh "C:\\Arquivos de programas\\OpenVPN\\config\\dh1024.pem"
cert "C:\\Arquivos de programas\\OpenVPN\\config\\roberto.crt"
key "C:\\Arquivos de programas\\OpenVPN\\config\\roberto.key"
comp-lzo
verb 4
mute 20
Salve e saia.
Repita estes passos para cada cliente que for se conectar remotamente, lembrando sempre de utilizar um nome diferente para cada um. Se você fizer no mesmo esquema que eu faço, colocando o nome da pessoa no certificado, fica mais fácil.
De volta ao servidor...
Vou testar logo que possa.
Parabéns!