[CentOS-pt-br] RES: VPN IPSEC

Fabio Rampazzo Mathias fmathias em gmail.com
Quarta Agosto 26 20:41:55 UTC 2009


Segue o tutorial que fiz em anexo, contem até a configuração de 3 clientes
(windows, linux e OSX)

Adapte-o para as suas configurações e mande-me as melhorias, para que eu
possa corrigí-lo =)

Aceito sugestões também!

abraços...

2009/8/26 irado furioso com tudo <irado em bsd.com.br>

> Em Wed, 26 Aug 2009 00:42:17 -0300
> Leomar Viegas Junior <leomar.viegas em gmail.com>, conhecido consumidor de
> drogas (BigMac's com Coke) escreveu:
>
> > O openVPN funciona bem quando as 2 pontas são  ips  dinâmicos?
>
> nunca experimentei mas (IMHO) não haverá dificuldade, uma vez que os
> dispositivos tun0 e seus roteamentos são definidos após ter-se os ip's
> e rotas default estabelecidas.
>
> mas enfim, como não tenho experiencia nessa condição particular, melhor
> testar :)
>
> flames > /dev/null
>
> --
>  saudações,
>  irado furioso com tudo
>  Linux User 179402/FreeBSD BSD50853/FUG-BR 154
>  Não uso drogas - 100% Miko$hit-free
> "Um homem sem religião é como um peixe sem bicicleta." (Anonimo)
> _______________________________________________
> CentOS-pt-br mailing list
> CentOS-pt-br em centos.org
> http://lists.centos.org/mailman/listinfo/centos-pt-br
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://lists.centos.org/pipermail/centos-pt-br/attachments/20090826/db211217/attachment.html 
-------------- Próxima Parte ----------
Autor: Fabio Rampazzo Mathias

=============================
Instalando o OpenVPN
=============================

	# rpm -Uhv http://apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
	# yum install openvpn

=============================
Configurando
=============================

	1. Crie o diretório de chaves
		# mkdir /etc/openvpn/keys

	2. Copie a configuração padrão

		# cp -a /usr/share/doc/openvpn-2.0.9/sample-config-files/server.conf /etc/openvpn/
		# cp -a /usr/share/doc/openvpn-2.0.9/sample-config-files/openssl.cnf /etc/openvpn/

	3. Gerando as chaves e certificados do servidor
		3.1 Entre no diretorio
			# cd /usr/share/doc/openvpn-2.0.9/easy-rsa/

		3.2 Edite os arquivos build-ca, build-dh, build-key, build-key-server, clean-all e
			adicione a seguinte linha no topo (depois do #!/bin/bash)

			. vars

		3.3 Edite o arquivo vars

			# nano vars
	
			Troque a linha
				export D=`pwd`
			Por
				export D=`/etc/openvpn`
	
			No final do arquivo, preencha as informações como abaixo :
				export KEY_COUNTRY=BR
				export KEY_PROVINCE=<estado>
				export KEY_CITY="<cidade>"
				export KEY_ORG="<vpn-organizacao>"
				export KEY_EMAIL="<vpn-admin>@<dominio>"

		3.4 Limpe tudo

			# sh clean-all

		3.5 Crie o certificado do servidor

			# sh build-ca
			# sh build-key-server server
	
		3.6 Crie o certificado do cliente
			# sh build-key <cliente>

		3.7 Crie os parametros Diffie Hellman
			# sh build-dh

	4. Edite o arquivo de configuração do servidor

		# nano /etc/openvpn/server.conf

		4.1 Ajuste o parâmetro dev para "tap" e não "tun" e proto para "tcp"
			dev tap0
			proto tcp

		4.2 Ajuste o caminho para as chaves e certificados
			ca /etc/openvpn/keys/ca.crt
			cert /etc/openvpn/keys/server.crt
			key /etc/openvpn/keys/server.key
			dh /etc/openvpn/keys/dh1024.pem

		4.3 Comente a linha do parâmetro "server"
		
		4.4 Descomente a linha do parâmetro "server-bridge" e deixe-a assim :
			server-bridge 192.168.7.139 255.255.255.0 192.168.7.140 192.168.7.150

		4.5 Adicione a linha 

			push "dhcp-option DNS 192.168.7.240"
			push "dhcp-option DNS 192.168.7.34"
			push "dhcp-option WINS 192.168.7.240"
			push "dhcp-option DOMAIN lbhc.hcancer.org.br"

		4.6 Descomente a linha do parâmetro "client-to-client"

		4.7 Descomente as linhas dos parâmetros "user" e "group"
			user nobody
			group nobody

	5. Configurando o Bridge

		5.1 Instale o bridge-utils
			# yum install bridge-utils
	
		5.2 Entre no diret—rio /usr/share/doc/openvpn-2.0.9/sample-scripts/

		5.3 Edite o arquivo: bridge-start

			5.3.1 Defina o parametro tap como sendo tap0
				tap="tap0"

			5.3.2 Deixe as configuracoes do "physical ethernet" assim :

				eth="eth3" 		# iface fisica que usara o bridge
				eth_ip="192.168.7.34" 	# ip da iface eth3
				eth_netmask="255.255.255.0"
				eth_broadcast="192.168.7.255"

	6. Configurando os scripts automaticos

		6.1 Start

			# cp /usr/share/doc/openvpn-2.0.9/sample-scripts/bridge-start /etc/openvpn/openvpn-startup
			# chmod +x /etc/openvpn/openvpn-startup

		6.2 Stop

			# cp /usr/share/doc/openvpn-2.0.9/sample-scripts/bridge-stop /etc/openvpn/openvpn-shutdown
			# chmod +x /etc/openvpn/openvpn-shutdown

	7. Colocando o servico para funcionar :

		7.1 Start
			# /etc/init.d/openvpn start

		7.2 Stop
			# /etc/init.d/openvpn stop


=============================
Criando as configuracoes do Cliente
=============================

	1. Crie as configurações do cliente

		1.1 Crie o diretório onde ficarão as configurações :
			# mkdir -p ~/vpn/<cliente>
		
		1.2 Copie a configuração padrão
			# cp -a /usr/share/doc/openvpn-2.0.9/sample-config-files/client.conf ~/vpn/<cliente>/

		1.3 Edite o arquivo client.conf
			# nano ~/vpn/<cliente>/client.conf

			1.3.1 Altere a linha do dev 
				dev tap
			
			1.3.2 Ajuste o nome do servidor
				remote <ip-do-servidor> 1194

			1.3.3 Ajuste o caminho do certificado e chave
				cert <cliente>.crt
				key <cliente>.key

		1.4 Copie os certificados para a pasta do cliente
			# cp -a /etc/openvpn/keys/ca.crt ~/vpn/<cliente>/
			# cp -a /etc/openvpn/keys/<cliente>.* ~/vpn/<cliente>/

	2. Agora é só colocar a pasta ~/vpn/<cliente> na máquina do cliente e rodar :
			# openvpn <cliente>/client.conf


=============================
Configurando o Tunnelblick (OSX)
=============================

	1. Faça o download http://tunnelblick.googlecode.com/files/Tunnelblick_3.0b10.dmg

	2. Instale-o (trivial)

	3. Descompacte o tbz2 contendo suas informações da vpn dentro do Desktop
		3.1 Se tiver o tar
			$ tar -jxvf <user>.tbz2 -C ~/Desktop/
		3.2 Senão, abra-o com o Finder e extraia para dentro do Desktop
	   Você deverá ficar com um diretório assim: ~/Desktop/<user>

	4. Abra o Terminal em Applications -> Utilities

	5. Digite :
		$ rsync -avz ~/Desktop/<user>/ ~/Library/openvpn/

	6. Feito isso, abra o Tunnelblick

	7. No canto superior direito, haverá o ícone (um tunel). Clique no "Connect 'LBHC'"

	8. Be happy ;-)

=============================
Configurando o OpenVPN (Windows)
=============================

	1. Faça o download http://openvpn.net/release/openvpn-2.0.9-install.exe

	2. Instale-o

	3. Clique em "Iniciar" -> "Programas" -> "OpenVPN" -> "Add a new TAP-win32 virtual ethernet adapter"
	
	4. Descompacte o arquivo com suas configurações (<user>.zip) para dentro do Desktop
	
	5. Clique em "Iniciar" -> "Programas" -> "OpenVPN" -> "OpenVPN configuration file directory"

	6. Copie todos arquivos da pasta "Desktop/<user>/" para a pasta que você acabou de abrir do OpenVPN
	   (geralmente é em C:\Program Files\OpenVPN\config)

	7. Clique com o botão direito do mouse no ícone do OpenVPN que está no "tray" e selecione "Connect".
	
	8. Be happpy ;-)


=============================
Configurando o OpenVPN (Linux/Ubuntu/GNOME)
=============================
	
	1. Copie os arquivos com suas configurações (<user>.tar.bz2) para /etc/openvpn/
		# tar -jxvf <user>.tar.bz2 -C /etc/openvpn/

	1. Instale o plugin pra OpenVPN no NetworkManager
		# apt-get install network-manager-openvpn

	2. Clique no ícone do NetworkManager (no "tray" do Ubuntu) -> "VPN Connections" -> "Configure VPN..."

	3. Clique em "Add" -> "Forward"

	4. Selecione a opção "OpenVPN" e depois "Forward"

	5. Preencha os dados conforme abaixo :

		Connection Name: LBHC
		Required
			Gateway Address: 200.211.216.74
			Gateway Port: 1194
			Connection Type: X.509 Certificates
			CA file: /etc/openvpn/<user>/ca.crt
			Certificate: /etc/openvpn/<user>/<user>.crt
			Key: /etc/openvpn/<user>/<user>.key
		Optional
			[ ] Only use VPN connection for these addresses
			[x] Use LZO compression
			[x] Use TAP device
			[x] Use TCP connection
			[ ] X.509: Allow server certificate without server extension
			[ ] Use Cipher
			[ ] Use TLS auth

	6. Clique em "Forward" e depois em "Apply"

	7. Clique em "Close" na janela.

	8. Clique no ícone do NetworkManager e selecione "VPN Connections" -> "LBHC"

	9. Be happy ;-)


Mais detalhes sobre a lista de discussão CentOS-pt-br