OpenVPN em Linux
Neste artigo procurarei mostrar como se monta uma VPN - Virtual Private Network - no Linux, independente de distribuição, de uma maneira simples e didática usando o OpenVPN.
Parte 4: Configurar OpenVPN
Segunda fase, agora vamos configurar o OpenVPN propriamente dito. Ainda dentro do diretório /etc/ssl/certificados, crie mais um subdiretório.
# mkdir newcerts
Agora volte até o prompt de comando raiz com o comando:
# cd /
e crie o diretório openvpn dentro de /etc:
# mkdir /etc/openvpn
# chmod 700 /etc/openvpn
# ln -s /etc/ssl/certificados /etc/openvpn
Feito isso voltamos para o diretório /etc/ssl/certificados e vamos criar nosso certificado público e privado para a VPN. Aqui vou chamá-los de pilao51, mas cada um pode chamar do que quiser. Executamos então dois comandos:
# openssl req -nodes -new -keyout pilao51.key -out pilao51.csr
Este primeiro fará basicamente as mesmas perguntas do que usamos pra criar o certificado e chave anteriormente. Responda da mesma forma com letras maiúsculas menos o campo password, esse vocês podem deixar em branco, depois execute:
# openssl ca -out pilao51.crt -in pilao51.csr
Using configuration from /etc/ssl/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number: 1 (0x1)
Validity
Not Before: Oct 31 00:30:24 2003 GMT
Not After : Oct 30 00:30:24 2006 GMT
Subject:
countryName = BR
stateOrProvinceName = SP
organizationName = INET
organizationalUnitName = VPN
commonName = PAULO
emailAddress = PILAO51@HOTMAIL.COM
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
F1:4A:6C:C7:7D:EB:FD:13:BE:2B:6B:16:91:98:AE:AD:BA:DE:E4:02
X509v3 Authority Key Identifier:
keyid:D7:3B:97:76:AE:AE:E2:C8:5D:46:D7:58:93:4D:31:C1:71:65:36:C5
DirName:/C=BR/SP=SAO PAULO/L=JAU/O=INET /OU=VPN/CN=PAULO/emailAddress=PILAO51@HOTMAIL.COM
serial:00
Certificate is to be certified until Oct 30 00:30:24 2006 GMT (1095 days)
Sign the certificate? [y/n]: y
1 out of 1 certificate requests certified, commit? [y/n] y
Write out database with 1 new entries
Data Base Updated
Responda as perguntas sempre com "y".
Terminado isto vocês terão criados 3 arquivos: pilao51.crt, pilao51.csr e pilao51.key.
Agora iremos criar o arquivo de configuração que servirá tanto para o servidor quanto para o cliente.
# mkdir newcerts
Agora volte até o prompt de comando raiz com o comando:
# cd /
e crie o diretório openvpn dentro de /etc:
# mkdir /etc/openvpn
# chmod 700 /etc/openvpn
# ln -s /etc/ssl/certificados /etc/openvpn
Feito isso voltamos para o diretório /etc/ssl/certificados e vamos criar nosso certificado público e privado para a VPN. Aqui vou chamá-los de pilao51, mas cada um pode chamar do que quiser. Executamos então dois comandos:
# openssl req -nodes -new -keyout pilao51.key -out pilao51.csr
Este primeiro fará basicamente as mesmas perguntas do que usamos pra criar o certificado e chave anteriormente. Responda da mesma forma com letras maiúsculas menos o campo password, esse vocês podem deixar em branco, depois execute:
# openssl ca -out pilao51.crt -in pilao51.csr
Using configuration from /etc/ssl/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number: 1 (0x1)
Validity
Not Before: Oct 31 00:30:24 2003 GMT
Not After : Oct 30 00:30:24 2006 GMT
Subject:
countryName = BR
stateOrProvinceName = SP
organizationName = INET
organizationalUnitName = VPN
commonName = PAULO
emailAddress = PILAO51@HOTMAIL.COM
X509v3 extensions:
X509v3 Basic Constraints:
CA:FALSE
Netscape Comment:
OpenSSL Generated Certificate
X509v3 Subject Key Identifier:
F1:4A:6C:C7:7D:EB:FD:13:BE:2B:6B:16:91:98:AE:AD:BA:DE:E4:02
X509v3 Authority Key Identifier:
keyid:D7:3B:97:76:AE:AE:E2:C8:5D:46:D7:58:93:4D:31:C1:71:65:36:C5
DirName:/C=BR/SP=SAO PAULO/L=JAU/O=INET /OU=VPN/CN=PAULO/emailAddress=PILAO51@HOTMAIL.COM
serial:00
Certificate is to be certified until Oct 30 00:30:24 2006 GMT (1095 days)
Sign the certificate? [y/n]: y
1 out of 1 certificate requests certified, commit? [y/n] y
Write out database with 1 new entries
Data Base Updated
Responda as perguntas sempre com "y".
Terminado isto vocês terão criados 3 arquivos: pilao51.crt, pilao51.csr e pilao51.key.
Agora iremos criar o arquivo de configuração que servirá tanto para o servidor quanto para o cliente.
Jul 3 10:36:34 ADES openvpn[2647]: OpenVPN 2.0.7 i686-pc-linux [SSL] [LZO] built on Jul 3 2006
Jul 3 10:36:34 ADES openvpn[2647]: IMPORTANT: OpenVPN's default port number is now 1194, based on an official port number assignment by IANA. OpenVPN 2.0-beta16 and earlier used 5000 as the default port.
Jul 3 10:36:34 ADES openvpn[2647]: WARNING: --ping should normally be used with --ping-restart or --ping-exit
Jul 3 10:36:34 ADES openvpn[2647]: Cannot open dh.pem for DH parameters: error:02001002:system library:fopen:No such file or directory: error:2006D080:BIO routines:BIO_new_file:no such file
Jul 3 10:36:34 ADES openvpn[2647]: Exiting
Obrigado
Rafael