Estou aqui mais uma vez para documentar mais uma experiência que tive nestes últimos dias.
A configuração da vez foi:
– Configurar uma VPN segura entre a Matriz e os diversos notebooks de usuários que ficavam residentes em outras empresas, sendo que
cada usuário remoto deveria ter uma identificação única para poder criar o túnel VPN. E o melhor pessoal utilizando PKI
A estrutura do cliente:
Firewall com Linux
Servidor de Dados com Linux
A idéia era colocar o OpenVPN rodando no Firewall, ai… por restrições de tempo, tive que colocar o OpenVPN na File Server,
acredito que num tenha problema…. mas em breve eu irei atualizar esta configuração !!!! 🙂
Vamos ao que interessa….
Software utilizado:
openSuSE-10.2 X86_64
openvpn-2.0.8-16
kernel-default-2.6.18.8-0.1
Blz, galera, acredito que eu não precise explicar aqui como instalar software no openSuse, sendo assim, fica p/ a próxima vez
um tutorial de como add novas entradas de repositórios no openSuSE.
1° Configurando o OpenVPN
Pois bem, a partir da versão 2.0.X do OpenVPN muita coisa mudou, como configurações de portas default, formas de utilização de certificados, e outros. Sendo assim é uma boa dar uma olhada no changelog, e com isso utilizar as configurações default do OpenVPN contidas em “/usr/share/doc/packages/openvpn” .
A 1° coisa à ser feita é copiar o conteúdo do diretório “/usr/share/doc/packages/openvpn/easy-rsa/2.0” p/ o diretório “/etc/openvpn”, é com estes arquivos que vamos começar a configuração.
2° Alterando as configurações padrões
Após a cópia destes arquivos é necessário alterar algumas informações em alguns arquivos, sendo que o 1° arquivo à ser alterado é o “vars” edite as linhas:
export KEY_COUNTRY=””
export KEY_PROVINCE=””
export KEY_CITY=””
export KEY_ORG=””
export KEY_EMAIL=””
E coloque as informações que vc’s acharem melhor… 🙂
Após alterar estas configurações execute o script “clean-all” dentro do diretorio do openvpn,
***** TOME CUIDADO*******
Caso vc já tenha criado certificado de autoridade para algum cliente, este comando irá limpar td dentro do diretorio “`pwd`/keys”, sendo assim tome cuidado.
3° Criando os certificados, chaves…etc…etc…
Criando o CA
./pkitool –initca
./pkitool –server
./pkitool
./build-dh
Blz, com esses comandos temos um CA, uma chave para o servidor e 1 chave p/ o cliente.
4° Alterando as configurações do Servidor VPN
Galera segue abaixo a configuração que estou utilizando aqui, sendo assim, essa funfou !!!!
# server.conf
port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/keys/ca.crt
cert /etc/openvpn/easy-rsa/keys/server1.crt
key /etc/openvpn/easy-rsa/keys/server1.key # This file should be kept secret
dh /etc/openvpn/easy-rsa/keys/dh1024.pem
server 192.168.10.0 255.255.255.0 192.168.10.10 192.168.0.20
push “route 192.168.10.0 255.255.255.0”
push “redirect-gateway”
client-to-client
keepalive 10 120
comp-lzo
user nobody
group nobody
persist-key
persist-tun
status /var/log/openvpn-status.log
log-append /var/log/openvpn.log
verb 6
OBS:
1°) A configuração das chaves e dos certificados de autoridade no Windows,deve especificar o caminho completo até os arquivos criados, sendo que para isso é necessário utilizar “\\” para indicar o caminho,com isso, caso tenhamos as chaves em C:\openvpn\ca.crt deveremos especificar da seguinte forma: C:\\openvpn\\ca.crt
2°) Os arquivos cliente1.crt e cliente1.key foram as chaves criadas no próprio servidor VPN, sendo assim é necessário transferir estas chaves para os clientes que irão conectar-se à VPN, já o ca.crt é o CA criado no servidor tb.
# client.conf
client
dev tun
proto udp
remote
resolv-retry infinite
nobind
persist-key
persist-tun
ca D:\\openvpn\\ca.crt
cert D:\\openvpn\\cliente1.crt
key D:\\openvpn\\cliente1.key
comp-lzo
verb 3
4° A Configuração do Firewall —> SuSEfirewall
Galera, como vc’s sabem o openSuSE tem um firewall “embutido” e muitas vezes ajuda/atrapalha um pouco, aconselho a galera que está lendo este artigo que leiam o arquivo de configuração e o entendam, eu já passei maus bocados com este firewall… 😦
Esta parte á um tanto quanto “única”, sendo que as configurações aqui apresentadas poderão não ajudar-lhe no teu ambiente , sendo assim
aqui serão apresentadas configurações genéricas, segue:
– Indique ao SuSEfirewall que serão utilizadas regras customizadas pelo usuário, isto é feito assim:
FW_CUSTOMRULES=”/etc/sysconfig/scripts/SuSEfirewall2-custom”
– Libere a porta 1194 UDP, tanto p/ acesso Interno quanto para Externo, assim:
FW_SERVICES_INT_UDP=”1194″
FW_SERVICES_EXT_UDP=”1194″
– Altere o arquivo de regras customizadas do SuSEfirewall,
vi /etc/sysconfig/scripts/SuSEfirewall2-custom
– Adicione as seguintes entradas na função “fw_custom_after_antispoofing()”
# Allow TUN interface connections to OpenVPN server
iptables -A INPUT -i tun+ -j ACCEPT
# Allow TUN interface connections to be forwarded through other interfaces
iptables -A FORWARD -i tun+ -j ACCEPT
# Allow TAP interface connections to OpenVPN server
iptables -A INPUT -i tap+ -j ACCEPT
# Allow TAP interface connections to be forwarded through other interfaces
iptables -A FORWARD -i tap+ -j ACCEPT
#
Pronto galera, estamos quase lá.
5° Configurando o openvpn p/ iniciar junto com a máq:
#chkconfig openvpn on
OBS:
dependendo da configuração algumas alterações deverão ser feitas no arquivo de configuração do samba, sendo assim atente para as entradas:
interfaces
allow hosts
Tomando os devidos cuidados, analisando os logs e com um pouco de paciência vc’s conseguirão fazer a VPN funcionar… abraços…
Até a próxima.
Filed under: Sem categoria | 1 Comment »