OpenVPN no Ubuntu Server - Instalação e configuração
Ambiente na Matriz:
ADSL com IP: 200.217.222.222
LAN com a classe: 192.168.1.0/24
Ambiente na Filial:
ADSL com IP: 200.141.64.33
LAN com a classe: 192.168.2.0/24
Instalações e configurações
Instalar o pacote openvpn e biblioteca lzo:
# apt-get install openvpn liblzo2-dev
Criar chave de segurança:
# cd /etc/openvpn
# openvpn --genkey --secret /etc/openvpn/chave
Verificar se a chave foi criada:
# cat /etc/openvpn/chave
Criar arquivo de configuração na matriz:
# vi /etc/openvpn/matriz.conf
Incluir o texto abaixo no arquivo: "/etc/openvpn/matriz.conf"
# Usar como interface o driver TUN
dev tun # 10.0.0.1 IP que será assumido na matriz
# 10.0.0.2 IP remoto, ou seja, esse será o IP da filial
ifconfig 10.0.0.1 10.0.0.2 # Entra no diretório onde se encontram os arquivos de configuração
cd /etc/openvpn # Indica que esse túnel possui uma chave de criptografia
secret chave # OpenVPN usa a porta 5000/UDP por padrão.
# Cada túnel do OpenVPN deve usar
# uma porta diferente.
# O padrão é a porta 5000
port 5000 # Usuário que rodará o daemon do OpenVPN
user nobody # Grupo que rodará o daemon do OpenVPN
group nobody
Usa a biblioteca lzo
comp-lzo # Envia um ping via UDP para a parte
# remota a cada 15 segundos para manter
# a conexão de pé em firewall statefull
# Muito recomendado, mesmo se você não usa
# um firewall baseado em statefull.
ping 15 # Nível de log
verb 3
Copiar a chave de segurança da matriz para a filial:
# scp /etc/openvpn/chave ip_filial:/etc/openvpn
Criar o arquivo de configuração na filial:
# vi /etc/openvpn/filial.conf
Incluir o texto abaixo no arquivo: "/etc/openvpn/filial.conf"
# Usar como interface o driver TUN
dev tun # 10.0.0.1 IP que será assumido na matriz
# 10.0.0.2 IP remoto, ou seja, esse será o IP da filial
ifconfig 10.0.0.2 10.0.0.1 # Indica onde está o IP da Matriz (essa é a única linha que acrescentamos
# no arquivo de configuração da filial), o resto é tudo igual.
remote 200.217.222.222 # Entra no diretório onde se encontram os arquivos de configuração
cd /etc/openvpn # Indica que esse túnel possui uma chave de criptografia
secret chave # OpenVPN usa a porta 5000/UDP por padrão.
# Cada túnel do OpenVPN deve usar
# uma porta diferente.
# O padrão é a porta 5000
port 5000 # Usuário que rodará o daemon do OpenVPN
user nobody # Grupo que rodará o daemon do OpenVPN
group nobody # Usa a biblioteca lzo
comp-lzo # Envia um ping via UDP para a parte
# remota a cada 15 segundos para manter
# a conexão de pé em firewall statefull
# Muito recomendado, mesmo se você não usa
# um firewall baseado em statefull.
ping 15 # Nível de log
verb 3
[5] Comentário enviado por mbrainiac em 28/10/2013 - 17:17h
Olá Breno,
Criei um host no no-ip que tem o endereço 200.157.170.59
coloco em remote e pronto? a dsl dinâmica fica estática? claro instalo o no-ip
# Usar como interface o driver TUN
dev tun
# 10.0.0.1 IP que será assumido na matriz
# 10.0.0.2 IP remoto, ou seja, esse será o IP da filial
ifconfig 10.0.0.2 10.0.0.1
# Indica onde está o IP da Matriz (essa é a única linha que acrescentamos
# no arquivo de configuração da filial), o resto é tudo igual.
remote 200.157.170.59 ## Endereço do no-ip
# Entra no diretório onde se encontram os arquivos de configuração
cd /etc/openvpn
# Indica que esse túnel possui uma chave de criptografia
secret chave
# OpenVPN usa a porta 5000/UDP por padrão.
# Cada túnel do OpenVPN deve usar
# uma porta diferente.
# O padrão é a porta 5000
port 5000
# Usuário que rodará o daemon do OpenVPN
user nobody
# Grupo que rodará o daemon do OpenVPN
group nobody
# Usa a biblioteca lzo
comp-lzo
# Envia um ping via UDP para a parte
# remota a cada 15 segundos para manter
# a conexão de pé em firewall statefull
# Muito recomendado, mesmo se você não usa
# um firewall baseado em statefull.
ping 15
# Nível de log
verb 3
[7] Comentário enviado por Jhonvasconcelo em 28/10/2013 - 18:53h
Quando executo o comando "openvpn --config /etc/openvpn/filial.conf -daemon & "
tenho a seguinte resposta
[1] 14065
root@user-maquina:/home/user-maquina# Options error: In [CMD-LINE]:1: Error opening configuration file: /etc/openvpn/filial.conf
Use --help for more information.
[11] Comentário enviado por Jhonvasconcelo em 16/11/2013 - 20:43h
rhind
não deu certo
apareceu isso
root@maquina:/home/user-maquina# openvpn --config /etc/openvpn/matriz.conf --daemon 'openvpn' &
[1] 15552
root@maquina:/home/user-maquina# Options error: Unrecognized option or missing parameter(s) in /etc/openvpn/matriz.conf:19: Usa (2.2.1)
Use --help for more information.
[13] Comentário enviado por Jhonvasconcelo em 17/11/2013 - 00:38h
apareceu isso
user-maquina@maquina:/etc/openvpn$ cat -n matriz.conf
1 # Usar como interface o driver TUN
2 dev tun
3 # 10.0.0.1 IP que será assumido na matriz
4 # 10.0.0.2 IP remoto, ou seja, esse será o IP da filial
5 ifconfig 10.0.0.1 10.0.0.2
6 # Entra no diretório onde se encontram os arquivos de configuração
7 cd /etc/openvpn
8 # Indica que esse túnel possui uma chave de criptografia
9 secret chave
10 # OpenVPN usa a porta 5000/UDP por padrão.
11 # Cada túnel do OpenVPN deve usar
12 # uma porta diferente.
13 # O padrão é a porta 5000
14 port 5000
15 # Usuário que rodará o daemon do OpenVPN
16 user nobody
17 # Grupo que rodará o daemon do OpenVPN
18 group nobody
19 Usa a biblioteca lzo
20 comp-lzo
21 # Envia um ping via UDP para a parte
22 # remota a cada 15 segundos para manter
23 # a conexão de pé em firewall statefull
24 # Muito recomendado, mesmo se você não usa
25 # um firewall baseado em statefull.
26 ping 15
27 # Nível de log
28 verb 3
user-maquina@maquina:/etc/openvpn$
[15] Comentário enviado por Jhonvasconcelo em 17/11/2013 - 15:02h
já comentei a linha.
Agora quando digito "openvpn --config /etc/openvpn/matriz.conf --daemon 'openvpn' &"
tenho essa resposta
[1] 8099
e quando digito "ifconfig tun0"
tenho essa resposta
tun0: erro obtendo informações da interface: %s: dispositivo não encontrado
[1]+ Fim da execução com status 1 openvpn --config /etc/openvpn/matriz.conf --daemon 'openvpn'
ficou assim
root@maquina:~# openvpn --config /etc/openvpn/matriz.conf --daemon 'openvpn' &
[1] 8099
root@maquina:~# ifconfig tun0
tun0: erro obtendo informações da interface: %s: dispositivo não encontrado
[1]+ Fim da execução com status 1 openvpn --config /etc/openvpn/matriz.conf --daemon 'openvpn'
root@maquina:~#
[29] Comentário enviado por Jhonvasconcelo em 21/11/2013 - 17:25h
Então...tenho quer criar uma maquina virtual?
Quanto tentei configurar a filial apareceu isso
root@maquina:~# apt-get install openvpn liblzo2-dev
Lendo listas de pacotes... Pronto
Construindo árvore de dependências
Lendo informação de estado... Pronto
liblzo2-dev já é a versão mais nova.
openvpn já é a versão mais nova.
Os seguintes pacotes foram instalados automaticamente e já não são necessários:
linux-headers-3.8.0-19 linux-headers-3.8.0-19-generic
linux-image-3.8.0-19-generic linux-image-extra-3.8.0-19-generic
Utilize 'apt-get autoremove' para os remover.
0 pacotes atualizados, 0 pacotes novos instalados, 0 a serem removidos e 0 não atualizados.
root@maquina:~# scp /etc/openvpn/chave ip_filial:/etc/openvpn
ssh: Could not resolve hostname ip_filial: No such file or directory
lost connection
root@maquina:~#
[31] Comentário enviado por sgtmaykel em 14/02/2014 - 22:32h
boa noite cara! estou seguindo suas dicas mas pra mim ta dando erro. estou testando entre duas máquinas vmware (1 com ubuntu 12.04 e outra com mint 16) a matriz (ubuntu) após os passos deu o seguinte:
root@ubuntu:/home/maykel# openvpn --config /etc/openvpn/matriz.conf -daemon &
[1] 3526
root@ubuntu:/home/maykel# Fri Feb 14 16:30:13 2014 OpenVPN 2.2.1 i686-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Feb 27 2013
Fri Feb 14 16:30:13 2014 WARNING: --ping should normally be used with --ping-restart or --ping-exit
Fri Feb 14 16:30:13 2014 WARNING: you are using user/group/chroot/setcon without persist-tun -- this may cause restarts to fail
Fri Feb 14 16:30:13 2014 WARNING: you are using user/group/chroot/setcon without persist-key -- this may cause restarts to fail
Fri Feb 14 16:30:13 2014 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Fri Feb 14 16:30:13 2014 Static Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Feb 14 16:30:13 2014 Static Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Feb 14 16:30:13 2014 Static Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Feb 14 16:30:13 2014 Static Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Feb 14 16:30:13 2014 LZO compression initialized
Fri Feb 14 16:30:13 2014 Socket Buffers: R=[163840->131072] S=[163840->131072]
Fri Feb 14 16:30:13 2014 TUN/TAP device tun0 opened
Fri Feb 14 16:30:13 2014 TUN/TAP TX queue length set to 100
Fri Feb 14 16:30:13 2014 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Fri Feb 14 16:30:13 2014 /sbin/ifconfig tun0 10.0.0.1 pointopoint 10.0.0.2 mtu 1500
Fri Feb 14 16:30:13 2014 Data Channel MTU parms [ L:1545 D:1450 EF:45 EB:135 ET:0 EL:0 AF:3/1 ]
Fri Feb 14 16:30:13 2014 Local Options hash (VER=V4): '099d04aa'
Fri Feb 14 16:30:13 2014 Expected Remote Options hash (VER=V4): 'f1025742'
Fri Feb 14 16:30:13 2014 failed to find GID for group nobody
Fri Feb 14 16:30:13 2014 Exiting
Fri Feb 14 16:30:13 2014 Closing TUN/TAP interface
Fri Feb 14 16:30:13 2014 /sbin/ifconfig tun0 0.0.0.0
^C
[1]+ Exit 1 openvpn --config /etc/openvpn/matriz.conf -daemon
root@ubuntu:/home/maykel# ifconfig tun0
tun0: error fetching interface information: Device not found
root@ubuntu:/home/maykel#
e na filial o erro é semelhante. o que deu errado?
att
maykel
[33] Comentário enviado por alexagah em 02/01/2015 - 18:08h
Feliz ano novo e tals,
Eu já havia instalado o openvpn usando este maravilhoso guia, infelizmente na virada do ano o hd da matriz morreu. Levantei um novo servidor na matriz, criei uma nova chave com chmod 777, copiei para a filial e levantei a tun0 na matriz, só que um não pinga o outro(10.0.0.1 para 10.0.0.2 e vice-versa).
Quando executo o comando "# openvpn --config /etc/openvpn/Matriz.conf -daemon &" da a seguinte mensagem
Fri Jan 2 16:47:05 2015 WARNING: --ping should normally be used with --ping-restart or --ping-exit
Fri Jan 2 16:47:05 2015 WARNING: you are using user/group/chroot/setcon without persist-tun -- this may cause restarts to fail
Fri Jan 2 16:47:05 2015 WARNING: you are using user/group/chroot/setcon without persist-key -- this may cause restarts to fail
Fri Jan 2 16:47:05 2015 NOTE: OpenVPN 2.1 requires '--script-security 2' or higher to call user-defined scripts or executables
Fri Jan 2 16:47:05 2015 WARNING: file 'chave' is group or others accessible
Fri Jan 2 16:47:05 2015 Static Encrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Jan 2 16:47:05 2015 Static Encrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Jan 2 16:47:05 2015 Static Decrypt: Cipher 'BF-CBC' initialized with 128 bit key
Fri Jan 2 16:47:05 2015 Static Decrypt: Using 160 bit message hash 'SHA1' for HMAC authentication
Fri Jan 2 16:47:05 2015 LZO compression initialized
Fri Jan 2 16:47:05 2015 Socket Buffers: R=[212992->131072] S=[212992->131072]
Fri Jan 2 16:47:05 2015 TCP/UDP: Socket bind failed on local address [undef]: Address already in use
Fri Jan 2 16:47:05 2015 Exiting
A penultima linha fala que o endereço já está em uso. A titulo de teste, eu executei o mesmo comando na Filial e deu a mesma mensagem. Tem algo a ver ou tenho que refazer algo de diferente na matriz para que ela volte a se conectar com a filial?
OBS.: Editei o filial.conf para o novo ip externo da matriz.
[34] Comentário enviado por raz3c em 24/04/2015 - 09:16h
Galera, estou quebrando a cabeça com uma VPS que aluguei para rodar VPN...
Rodei a VPN no ubuntu 14.04 conforme um tutorial que achei, porém se só eu conectar ela funciona certinho, não cai fica estável!
Agora quando criei contas para os meus amigos poderem logar também... se mais alguém loga da uns 30 segundos e nós dois caimos.
Fiz as configurações do amigo.cert e amigo.key normal porém o ca.crt deixei o padrão, será por isso? Ou seria alguma regra no firewall que está bloqueando mais de duas conexões?