Para a configuração dos clientes deve-se copiar basicamente os mesmos arquivos que foram utilizados na configuração do servidor, só que correspondente a cada cliente, são eles:
- parâmetros de DH, é o mesmo criado no servidor.
- certificado "ca" do servidor, é o mesmo criado no servidor.
- "certificado do cliente" e "chave do cliente", é a chave do cliente criada no servidor (estes dois são mais importantes e devem ter nome único para cada cliente).
Recomenda-se cuidado ao transferir arquivos para clientes, evitando e-mail e transferência via FTP, recomenda-se utilizar shell seguro, SFTP, ou copiar em pendrive e levar aos clientes, aí fica a critério de cada um na transferência dos arquivos, como estou utilizando máquinas virtuais para realizar este artigo, vou fazer transferência via pendrive.
Arquivos necessários no cliente:
- cliente.key
- cliente.crt dh1024.pem ca.crt
OpenVPN tem clientes para
Linux e Windows, em ambos os casos é necessária a criação de uma pasta para colocar os certificados e ter o OpenVPN instalado no cliente. Para Linux baseado em Debian ou Ubuntu é só instalar o OpenVPN com comando*:
sudo apt-get install openvpn
* Procedimento é o mesmo utilizado para instalação do servidor.
Dentro do diretório /etc/ crie também o diretório openvpn e dentro dele o diretório Keys, copie as chaves geradas no servidor para esse diretório.
Para clientes Windows é só baixar o cliente OpenVPN no site
openvpn.se/download.html. A instalação é basicamente next-next-finish, sem segredos, e copiar as chaves para diretório de instalação do OpenVPN, geralmente em c:\Arquivos de Programas\OpenVpn\Config|keys.
Agora vamos gerar o arquivo de configuração dos clientes, é nele que devem estar contidos os parâmetros para realizar a conexão com servidor OpenVPN. No caso do Linux esses arquivos podem ser colocados na pasta /etc/openvpn ou em outra que desejar, no caso do Windows deve-se colocar obrigatoriamente na pasta c:\Arquivos de Programas\OpenVpn\Config.
Exemplo do nosso cliente.conf (utilize um editor para criar o arquivo cliente.conf):
remote 192.168.137.254 //endereço servidor
dev tap0 //interface vpn
comp- lzo
keeplive 5 30 //tempo de vida
persist-key //chave persistente
tls-client //padrão de cliente
client //avisa servidor que é cliente
pull //pede um endereço ip ao servidor.
dh /etc/openvpn/keys/dh1024.pem
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/cliente.crt
key /etc/openvpn/keys/cliente.key
Abaixo um exemplo de configuração de um cliente para Windows.
remote 192.168.137.254
dev tap
comp-lzo
keepalive 5 30
persist-key
tls-client
client
pull
dh keys/dh1024.pem
ca keys/ca.crt
cert keys/macgyver.crt
key keys/macgyver.key
Cada cliente deve ter seu arquivo de configuração de acordo com o seu sistema operacional e também nome das chaves que é único para cada cliente, lembre-se disso.
Uma dica importante é manter seus computadores com relógios sincronizados, pois a conexão VPN depende de relógios sincronizados para poder estabelecer uma conexão.
Comando para ajustar a hora a um servidor NTP:
# ntpdate -u a.ntp.br ou pool.ntp.org