A configuração da VPN entre duas máquinas Linux é extrememante simples, com apenas algumas configurações que são praticamente iguais no servidor da Filial quanto no servidor da Matriz.
Essa conexão que faremos aqui, será feita através do OpenVPN, um software que, na minha opnião, simplifica muito a instalação e configuração de uma VPN.
Para um melhor entendimento, consulte estes posts:
Conectando a uma rede VPN pelo Windows 7
Criar um servidor de VPN no Windows 7 ou Windows Server 2008
Configurando a VPN na Matriz
No exemplo, estou utilizando criptografia, é possível não utilizá-la, mas fica um pouco sem sentido pois a principal função da VPN é criar um túnel seguro.
Para não utilizar a criptografia, basta comentar as linhas que pussuem configurações de criptografia.
para começão execute os seguintes comandos no servidor da matriz:
para começão execute os seguintes comandos no servidor da matriz:
# apt-get install openvpn
Instalado o OpenVPN, vamos gerar a chave de criptografia.
# 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.
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.
Agora crie o arquivo de configuração da matriz:
# touch /etc/openvpn/matriz.conf
Crie esse arquivo adicione o seguinte conteúdo:
dev tun
# 10.0.1.1 ip da matriz
# 10.0.1.2 ip remoto, ou seja, o ip da filial
ifconfig 10.0.1.1 10.0.1.2
# Indica que esse túnel possui uma chave de criptografia
secret /etc/openvpn/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 # Se omitido, será criada a conexão na porta 5000
port 5000
# Usuário que rodará o daemon do OpenVPN
user nobody
# Usa a biblioteca lzo
comp-lzo
# Mantem a conexão enviando pings
# de 15 em 15 segundos.
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: Não Especificado
inet ind:10.0.1.1 P-a-P:10.0.1.2 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Métrica:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Se aparecer algo assim ou parecido, o túnel na Matriz já está pronto e a espera da conexão da filial.
Configurando a VPN na Filial
A parte da instalação na filial é exatamente igual a da Matriz, 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.
A parte da instalação na filial é exatamente igual a da Matriz, 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 no servidor da filial:
# apt-get install openvpn
Copie a chave gerada na matriz para a filial, e em seguida crie o arquivo de configuração chamado filial.conf:
# touch /etc/openvpn/filial.conf
Crie esse arquivo com o seguinte conteúdo:
# touch /etc/openvpn/filial.conf
Crie esse arquivo com o seguinte conteúdo:
dev tun
# 10.0.1.1 ip da matriz
# 10.0.1.2 ip remoto, ou seja, o ip da filial
ifconfig 10.0.1.1 10.0.1.2
# Aqui vai o ip da filial na rede ou internet
remote 200.207.59.175
# Indica que esse túnel possui uma chave de criptografia
secret /etc/openvpn/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
# Se omitido, será criada a conexão na porta 5000
port 5000
# Usuário que rodará o daemon do OpenVPN
user nobody
# Usa a biblioteca lzo
comp-lzo
# Mantem a conexão enviando pings
# de 15 em 15 segundos.
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:Não Especificadoinet addr:10.0.1.2 P-a-P:10.0.1.1 Mask:255.255.255.255UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1255 Métrica:1RX packets:0 errors:0 dropped:0 overruns:0 frame:0TX packets:0 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:100RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Ok! Se aparecer algo assim, sua VPN já está rodando. 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 ms64 bytes from 10.0.0.1: icmp_seq=2 ttl=63 time=6.09 ms64 bytes from 10.0.0.1: icmp_seq=3 ttl=63 time=5.93 ms64 bytes from 10.0.0.1: icmp_seq=4 ttl=63 time=8.15 ms64 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.
Adicionando as rotas
NOTA: Antes de adicionarmos as rotas, é necessário ativar o
roteamento no kernel em ambas as pontas (Matriz e Filial). Execute
os seguintes comandos na matriz e filial:
# echo 1 > /proc/sys/net/ipv4/ip_forward
Para adicionar a rota com destino a rede da Filial, execute de dentro do servidor da Matriz o seguinte comando:
# route add -net 192.168.2.0/24 gw 10.0.1.2
Para adicionar a rota com destino a rede da Matriz, execute de dentro do servidor da Filial o seguinte comando:
# route add -net 192.168.1.0/24 gw 10.0.1.1
Bom, agora é só testar. Tente pingar de dentro de uma máquina da LAN da Matriz com destino a LAN da Filial. Vale lembrar também que temos que colocar toda a seqüência de comandos acima no "rc.local" de sua distro, para que a mesma carregue as configurações ao iniciar o sistema operacional.
# echo 1 > /proc/sys/net/ipv4/ip_forward
Para adicionar a rota com destino a rede da Filial, execute de dentro do servidor da Matriz o seguinte comando:
# route add -net 192.168.2.0/24 gw 10.0.1.2
Para adicionar a rota com destino a rede da Matriz, execute de dentro do servidor da Filial o seguinte comando:
# route add -net 192.168.1.0/24 gw 10.0.1.1
Bom, agora é só testar. Tente pingar de dentro de uma máquina da LAN da Matriz com destino a LAN da Filial. Vale lembrar também que temos que colocar toda a seqüência de comandos acima no "rc.local" de sua distro, para que a mesma carregue as configurações ao iniciar o sistema operacional.
Baseado no artigo de Guilherme Rezende de Almeida
Nenhum comentário:
Postar um comentário