Precisamos criar a pasta das confs, pois ela não é criada por automático:
# mkdir /etc/openvpn
Depois de criada a pasta devemos gerar uma chave que será usada na criptografia para abrir o túnel:
# openvpn --genkey-secret /etc/openvpn/chave
Agora devemos criar o arquivo de configuração, dentro da pasta /etc/openvpn crie um arquivo chamado servidor1.conf, edite ele e dentro você irá colocar as linhas abaixo:
dev tun # irá usar a interface tun ( ex: tun0, tun1, tun2, ...)
ifconfig 1.0.0.1 1.0.0.2 # irá setar o IP do túnel com o do servidor1 de 1.0.0.1 e do servidor2 1.0.0.2
cd /etc/openvpn # irá definir a pasta de configuração do OpenVPN
secret chave # chave de criptografia
port 5000 # porta utilizada para a comunicação do túnel
comp-lzo # Usa a biblioteca lzo
ping 15 # pinga a cada 15 segundos para manter a conexão
verb 3 # nível de log
Pronto, salve o arquivo.
Para facilitar a vida de muitos utilizaremos um script para não ter de subir o daemon do openVPN na mão toda hora.
Crie um arquivo dentro de /etc/rc.d/ chamado rc.vpn:
# cd /etc/rc.d
# touch rc.vpn
Depois deixe ele executável:
# chmod +x rc.vpn
#!/bin/bash
IP_REMOTO="200.x.x.x" # IP válido do servidor2
IP_VPN_REMOTO="1.0.0.2"
IP_REDE_REMOTA="192.168.0.0"
MASQ_REDE_REMOTA="255.255.255.0"
# Adicionando as rotas da VPN
route add -net $IP_REDE_REMOTA netmask $MASQ_REDE_REMOTA gw $IP_VPN_REMOTO.
Agora vamos configurar a filial.
Faça o mesmo procedimento no servidor da filial, se preferir pode até copiar as confs para lá, pois mudarão apenas algumas linhas. A chave que foi gerada deve ser a mesma, portanto copie do servidor da Matriz para o da Filial.
Crie o arquivo /etc/openvpn/servidor2.conf, para quem copiou a conf apenas renomeie:
dev tun
ifconfig 1.0.0.2 1.0.0.1 # Aqui fica IP do servidor2 e o IP do servidor1
cd /etc/openvpn
remote 200.x.x.x # Devemos colocar aqui o IP válido aonde fica o servidor1
secret chave # chave de criptografia deve ser a mesma que no servidor1
port 5000
comp-lzo
ping 15
verb 3
Vamos ao script:
#!/bin/bash
IP_REMOTO="200.x.x.x" # ip válido do Servidor1
IP_VPN_REMOTO="1.0.0.1"
IP_REDE_REMOTA="192.168.1.0"
MASQ_REDE_REMOTA="255.255.255.0"
[2] Comentário enviado por y2h4ck em 26/02/2007 - 08:39h
Vale a pena comentar, e eu acho que deveria ter sido mencionado no artigo, que o openvpn, não e a forma mais segura de implementar uma infra-estrutura com ambiente Virtual Private Network, pois podemos citar algumas falhas de segurança que o mesmo possui:
- Toda a comunicação baseia-se em uma única troca de chaves SSL
- A Chave SSL é trocada mediante uma checagem de PSK (ja começa o erro aqui)
- Não a distinção de fases, ou seja, se um intruso capturar os dados do inicio da sessão irá conseguir o certificado SSL diretamente no Header.
[6] Comentário enviado por sektor em 15/05/2007 - 17:06h
sou meio novato nessa parte de vpn, gostaria de saber uma coisa, depois de toda essa configuração feita como faço para acessar uma maquina da filial ou da matriz e vice e versa, vai mostrar nos meus locais de rede do windows? as maquinas da filial por exemplo, sendo que estou na matriz, gostaria de saber mais detalhadamente isso...obrigado!
[7] Comentário enviado por ajas em 05/06/2007 - 16:07h
Prezados, primeiramente sou novado no mundo linux, acompanhei esso tutorial, porém com dois probleminhas: 1º depois que eu start meu openvpn o servidor ficar sem comunicação com a rede interna não dando nenhum ping tanto dele quanto dos outros pc da rede interna. 2º verificando os status no firewall não tem nenhuma passagem pela porta udp nem de entradanem saída. Como posso resolver?
Obrigado a todos
[8] Comentário enviado por antonioleite em 26/08/2007 - 17:48h
Amigo ja procurei por diversos artigos e livros e nada é o seguinte: Quando eu executo o ifconfig tun0 da o seguinte erro: TUN0: ERRO obtendo informações da interface: %s dispositivo não encontrado.
Só que eu ja reinstalei o Debian etch umas 1000 vezes e carrego o TUN "modprobe tun" o mesmo esta presente quando dou lsmod e sempre paro ai. Pergunto o que estou fazendo de errado se segui todos os passos acima, eu preciso estar com o outro computador conectado na filial para o TUN subir? Uma ajudinha por favor... Obrigado
[10] Comentário enviado por sancmk em 14/09/2007 - 00:40h
Gostei deste tutorial, parabéns por contribuir com a comunidade. Gostaria no entanto de relatar algo que pode acontecer na configuração da VPN, aconteceu na minha configuração, após ter realizado os passos descritos neste tuto: a VPN não subia porque o módulo da interface que faz o túnel não tinha sido carregado, assim executei o comando "modprobe tun" para carregar o módulo "tun".
Os comandos relacionados são:
lsmod - lista os módulos carregado;
rmmod <modulo> - descarrega um módulo;
[13] Comentário enviado por vpf em 11/02/2010 - 12:16h
Amigo. Primeiramente parabéns pelo artigo. Fiz a implemetação e ficou ótimo. Agora preciso adicionar uma 2 filial. Como fica? É possível? O que devo fazer no script da segunda filial. Obrigado!
[14] Comentário enviado por ogaihtsm em 11/07/2011 - 12:05h
Olá a todos.
Muito bom artigo.
Encontrei o seguinte problema na configuração da minha vpn.
Tenho na matriz um servidor CentOS. Com o comando "service openvpn start" a interface da vpn na matriz funciona ok.
Agora na minha filial tenho um servidor Slackware. Ao dar o comando "openvpn --config /etc/openvpn/tun4 --daemon" a interface tun4 não aparece e a conexão entre os dois servidores nao acontece.
Com relação aos arquivos .conf .key e .up nos dois servidores estão, aparentemente, tudo ok.
Existe algum outro comando para subir a vpn no slackware? Não sei o que pode estar acontecendo.~
Desde-já muito obrigado a quem puder me ajudar!