Imagine por exemplo que tem uma empresa na Guarda e uma filial em Viseu e pretende constituir uma única rede privada (Guarda+Viseu) sem contratar circuitos dedicados ou algum tipo de ligação adicional. Na prática, pretende-se que as duas redes privadas (da Guarda e Viseu) se “unam” podendo um utilizador que se encontre em Viseu aceder localmente aos serviços da rede da Guarda (ex. um utilizador da Guarda poderá imprimir numa impressora localizada em Viseu, entre outros serviços).
Para a implementação de um cenário deste tipo, hoje vamos ensinar como poderão implementar uma VPN (Site-toSite VPN) entre dois locais, recorrendo ao OpenVPN e ao Linux.
As organizações que usam VPNs beneficiam com um aumento de flexibilidade e escalabilidade a nível de comunicações e até produtividade. As VPN’s permite “trazer” as máquinas remotas para dentro da rede interna, garantindo de certa forma uma nível de segurança idêntico como se o utilizador estivesse dentro da organização. Além dos benefícios referidos, realçar também a poupança de custos a nível de comunicações (já que não é necessário contratar circuitos dedicados). Para quem exerce teletrabalho, as VPNs são sem duvida uma forma de estar ligado à organização/empresa remotamente e de forma segura.
Requisitos para a implementação deste tutorial
- As máquinas que vão estabelecer a VPN deverão ter um IP Publico (num cenário real)
- As máquinas deverão ter instalado o Linux CentOS 6.2 (deverá funcionar em outras versões
Nota: Vamos considerar os nomes Pplware-Guarda (Sede) e Pplware-Viseu (Filial)
Para a instalação e configuração do cenário, devem seguir os seguintes passos:
Passo 1 – Adicionar o Repositório EPEL (fazer em ambas as máquinas)
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
Passo 2 – Instalar o OpenVPN (fazer em ambas as máquinas)
yum install openvpn
Configurar openvpn em Pplware-Guarda
Passo 3 – Criar uma chave privada
openvpn --genkey --secret /etc/openvpn/chaveprivada
Passo 4 – Criar o ficheiro /etc/openvpn/pplware-guarda.conf e acrescentar a seguinte informação:
# interface TUN
dev tun
ifconfig 10.0.0.1 10.0.0.2
cd /etc/openvpn
secret chaveprivada
port 5000
user nobody
group nobody
comp-lzo
ping 15
verb 3
Passo 5 – Para colocar a VPN a funcionar no Pplware-Guarda, deverão executar o comando
openvpn --config /etc/openvpn/pplware-guarda.conf –daemon
ao fazer um ifconfig,deverá observar algo semelhante:
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:138353257 errors:0 dropped:0 overruns:0 frame:0
TX packets:1144923568 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
RX bytes:82865921 (3245.0 Mb) TX bytes:383951667 (2321.1 Mb)
Configurar openvpn em Pplware-Viseu
Passo 6 – Copie a chave privada que foi gerada no passo 3 para este servidor e coloque-a em /etc/openvpn/chaveprivada
Passo 7 – Criar o ficheiro etc/openvpn/pplware-viseu.conf e acrescentar a seguinte informação:
# interface TUN
dev tun
ifconfig 10.0.0.2 10.0.0.1
remote IP_DA_MÀQUINA_Pplware-Guarda
cd /etc/openvpn
secret chaveprivada
port 5000
user nobody
group nobody
comp-lzo
ping 15
verb 3
Nota: Não se esqueçam de alterar o parâmetro
Passo 8 – Para colocar a VPN a funcionar no Pplware-Viseu, deverão executar o comando
openvpn --config /etc/openvpn/pplware-viseu.conf –daemon
Para testar se tudo funciona, experimente se consegue pingar o 10.0.0.1 a partir do Pplware-Viseu e assim confirmar se o tunel VPN foi estabelecido corretamente entre as máquinas e assim criado um ponto de ligação entre as redes. É claro que serão necessárias configurações adicionais para que os clientes de um lado cheguem a serviços do outro…mas isso analisaremos em próximos artigos caso haja interesse por parte dos nossos leitores.
Agradecimento ao Hélio Silva pelo teste das configurações.