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 4: Configuração da Filial
Configurando nossa VPN na Filial:
A parte da instalação na filial é exatamente igual a da Matriz, é só seguir os passos descritos no tópico instalação.
Já na parte de configuração, não muda muita coisa também, pois o maior trabalho é simplesmente copiar a chave que geramos na Matriz por um canal seguro até a filial. Execute os seguintes comandos. Criaremos o mesmo diretório de configuração na filial:
# mkdir /etc/openvpn
Copie a chave gerada na matriz para a filial com seguinte comando:
# scp /etc/openvpn/chave ip_filial:/etc/openvpn
Em seguida crie o arquivo de configuração chamado filial.conf:
# touch /etc/openvpn/filial.conf
Crie esse arquivo com o seguinte conteúdo:
A parte da instalação na filial é exatamente igual a da Matriz, é só seguir os passos descritos no tópico instalação.
Já na parte de configuração, não muda muita coisa também, pois o maior trabalho é simplesmente copiar a chave que geramos na Matriz por um canal seguro até a filial. Execute os seguintes comandos. Criaremos o mesmo diretório de configuração na filial:
# mkdir /etc/openvpn
Copie a chave gerada na matriz para a filial com seguinte comando:
# scp /etc/openvpn/chave ip_filial:/etc/openvpn
Em seguida crie o arquivo de configuração chamado filial.conf:
# touch /etc/openvpn/filial.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.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
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
Inicie a conexão na filial com o seguinte comando:
# openvpn --config /etc/openvpn/filial.conf -daemon
# ifconfig tun0
tun0 Link encap:Point-to-Point Protocol
inet addr:10.0.0.2 P-t-P:10.0.0.1 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)
Ok! Se aparecer algo assim, sua VPN, está de pé!!! Teste pingando de
uma ponta a outra:
# ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=63 time=11.9 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=63 time=6.09 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=63 time=5.93 ms
64 bytes from 10.0.0.1: icmp_seq=4 ttl=63 time=8.15 ms
64 bytes from 10.0.0.1: icmp_seq=5 ttl=63 time=6.19 ms
Se aparecer algo assim, sua VPN já esta funcionando. Agora só falta adicionarmos as rotas para as redes internas se enxergarem.
[]'s,
Fábio