VPN em Linux com OpenVPN
Esse é um exemplo totalmente prático para implementação de uma segurança a mais para qualquer tipo de rede, usando o OpenVPN como uma solução simples, segura e um benefício a mais para interligação de redes distantes, sendo estas, localizadas na internet.
Parte 3: Configuração da Matriz
Configurando nossa VPN na Matriz:
O OpenVPN pode operar com 3 tipos de criptografia. Nenhuma criptografia (apenas o túnel), criptografia com chaves estáticas e no modo TLS, em que as chaves são trocadas periodicamente. No nosso exemplo, usaremos criptografia com chaves estáticas.
1 - Execute os seguintes comandos:
# mkdir /etc/openvpn
Criamos o diretório onde estarão todos os arquivos de configuração.
# openvpn --genkey -secret /etc/openvpn/chave
Foi gerada uma chave de criptografia com o nome de chave (pode ser qualquer nome de arquivo) dentro do diretório /etc/openvpn.
# cat /etc/openvpn/chave
Só para visualizarmos o conteúdo da chave que geramos.
# touch /etc/openvpn/matriz.conf
Crie esse arquivo com o seguinte conteúdo:
O OpenVPN pode operar com 3 tipos de criptografia. Nenhuma criptografia (apenas o túnel), criptografia com chaves estáticas e no modo TLS, em que as chaves são trocadas periodicamente. No nosso exemplo, usaremos criptografia com chaves estáticas.
1 - Execute os seguintes comandos:
# mkdir /etc/openvpn
Criamos o diretório onde estarão todos os arquivos de configuração.
# openvpn --genkey -secret /etc/openvpn/chave
Foi gerada uma chave de criptografia com o nome de chave (pode ser qualquer nome de arquivo) dentro do diretório /etc/openvpn.
# cat /etc/openvpn/chave
Só para visualizarmos o conteúdo da chave que geramos.
# touch /etc/openvpn/matriz.conf
Crie esse arquivo com o seguinte conteúdo:
# 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
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
Em seguida, vamos iniciar a conexão no servidor, faltando apenas configurar a filial. Execute o seguinte comando no servidor da Matriz:
# openvpn --config /etc/openvpn/matriz.conf -daemon
# ifconfig tun0
tun0 Link encap:Point-to-Point Protocol
inet addr:10.0.0.1 P-t-P:10.0.0.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1255 Metric:1
RX packets:1383257 errors:0 dropped:0 overruns:0 frame:0
TX packets:1144968 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
RX bytes:82865921 (79.0 Mb) TX bytes:383951667 (366.1 Mb)
Se aparecer algo assim ou parecido, o túnel na Matriz já está pronto e
a espera da conexão da filial.
[]'s,
Fábio