:::: MENU ::::
Mostrando postagens com marcador vpn. Mostrar todas as postagens
Mostrando postagens com marcador vpn. Mostrar todas as postagens

domingo, 1 de janeiro de 2012

Queridos, em primeiro lugar, Feliz 2012! Que esse ano seja de muito sucesso para vocês!
Esse ano eu entrei brincando no openVPN, e a pedido do amigo Alan Teixeira, mostrarei como configurar uma VPN usando o openVPN no openSUSE.
De cara vou deixar algo bem claro: Não iremos compilar nada.





INSTALAÇÃO

zypper in openvpn

Por padrão, os arquivos são instalados no diretório /usr/share/openvpn/easy-rsa/2.0,mas, caso queira colocar-los no /etc/openvpn (que também foi criado), entre no diretório de instalação e faça o seguinte:
make install DESTDIR=/etc/openvpn

Isso fará com que o make install coloque os arquivos no diretório /etc/openvpn. Lembrando que o make install não compila, e sim aloca os arquivos nos seus devidos lugares.

CONFIGURAÇÃO

Antes de qualquer coisa, iremos mostrar o passo-a-passo como se você estivesse dentro do DESTDIR, no caso, /etc/openvpn, ok? ;)

Iremos executar 3 arquivos (vars, clean-all e build-ca), mas antes vamos setar alguns parâmetros. No arquivo vars, lá no final, ele tem as variáveis:
export KEY_COUNTRY="US"
export KEY_PROVINCE="CA"
export KEY_CITY="SanFrancisco"
export KEY_ORG="Fort-Funston"
export KEY_EMAIL="me@myhost.mydomain"

Mude de acordo com sua demanda. Por exemplo:
export KEY_COUNTRY="BR"
export KEY_PROVINCE="BA"
export KEY_CITY="Salvador"
export KEY_ORG="M. Bison Parafusos"
export KEY_EMAIL="bison@streetfighter.com.br"

Após isso, execute o vars, o clean-all e o build-ca. Esse último irá criar um certificado de Entidade Certificadora (CA ou Master Certified Autority):
. ./vars
./clean-all
./build-ca

O build-ca fará algumas perguntas, a maioria já estará respondida por causa das variáveis que você setou no arquivo vars. Apenas dê enter nessas perguntas.
A saída será algo mais ou menos assim:
ai:easy-rsa # ./build-ca
Generating a 1024 bit RSA private key
............++++++
...........++++++
writing new private key to 'ca.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [BR]:
State or Province Name (full name) [BA]:
Locality Name (eg, city) [Salvador]:
Organization Name (eg, company) [M. Bison Parafusos]:
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:OpenVPN-CA
Email Address [bison@streetfighter.com.br]:

Um parâmetro que você deve observar e não deve ter nenhum igual ao outro, é o common name. O COMMON NAME DEVE SER ÚNICO!

Depois, execute o build-server. Para a criação do certificado do servidor os passos são parecidos com o do CA:
./build-key-server server

Quando for requisitada uma senha, deixe em branco. Geralmente não utilizo. Também será feita duas perguntas e você terá de responder Y ou N. Aperte o Y e confirme.


E continuando, vamos criar os certificados para os clientes:
./build-key ryu
./build-key ken
./build-key balrog

O script build-key cria dois arquivos:
.crt: O certificado
.key: A chave pessoal

E pra finalizar, vamos criar o dh1024.pem
./build-dh

Esses arquivos irão juntar-se a outros que encontram-se no diretório keys. Vejamos um exemplo do que temos por lá:

FilenameNecessária porPropósitoSecreto?
ca.crtservidor + todos os clientesRoot CA certificateNÃO
ca.keyChave única de assinaturaRoot CA keySIM
dh{n}.pemApenas servidorParâmetros Diffie HellmanNÃO
server.crtApenas servidorCertificado do servidorNÃO
server.keyApenas servidorChave do servidorSIM
ryu.crtApenas RyuCertifricado de RyuNÃO
ryu.keyApenas RyuChave de RyuSIM

Bom, hora da configuração do arquivo do servidor e do cliente. Comecemos pelo servidor.
Cara, se tem uma coisa que aprendi, é que o /usr/share/doc/packages é seu melhor amigo. Dentro do /usr/share/doc/packages/openvpn existe o diretório sample-config-files. Copie o server.conf e cole no seu /etc/openvpn. Depois mude os parâmetros de acordo com sua topologia. O meu, por exemplo, ficou assim:

port 1194
proto udp
dev tun
ca keys/ca.crt
cert keys/server.crt
key keys/server.key
dh keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ippool.txt
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
log-append openvpn.log
verb 3
script-security 2

E no cliente, após você enviar para ele o certificado e a chave criado exclusivamente para ele, coloque dentro do seu /etc/openvpn os arquivos (ryu.crt e ryu.key) e copie o arquivo /usr/share/doc/packages/openvpn/sample-config-files/client.conf para o seu /etc/openvpn. Edite dessa maneira:

client
dev tun
proto udp
remote X.X.X.X
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert ryu.crt
key ryu.key
ns-cert-type server
comp-lzo
verb 3

Nos parâmetros remote, aponte o ip do servidor matriz do openVPN; Em cert coloque o certificado do cliente e em key adicione o local do arquivo .key do usuário. Cuidado com esse arquivo!!!

Agora inicie o serviço em ambas as pontas. Realize um teste de ping. Se responder em ambas as partes, é um ótimo sinal! Está ok!. Se não, confira nos logs e veja qual é o problema encontrado.
Outra dica para fazer essa verificação é vendo se tem alguma porta UDP aberta com o netstat -planu ou com o comando route - O comando route exibe a quais redes o seu computador está conectado.

Maiores informações:
/usr/share/doc/packages/openvpn
http://openvpn.net/index.php/open-source/documentation/howto.html
http://www.hardware.com.br/tutoriais/openvpn/


quinta-feira, 1 de dezembro de 2011

Lembro que logo que saiu o gnome-shell (base do gnome 3), esse foi o primeiro bug que abri. Para nós que trabalhamos com administração de servidores, VPN é essencial. Não ter-la é uma falta gravíssima - pode lhe custar o emprego!

Mas enfim, vamos ao HOW-TO e esse vai com prints :)





Não esqueçam de adicionar o certificado do usuário, a chave privada e o certificado do CA!

E o que ainda falta?
Importar configurações. Se você tiver um arquivo .ovpn, não sei se será possível importar. Eu mesmo não vi como. Esse problema já foi relatado ao Bugzilla. Vamos aguardar :)

Posts populares