Criando VPN’s com IP_GRE
A Utilização de uma rede virtual veio como solução para conexão de uma ou mais máquinas a rede principal, permitindo assim que os dados fiquem centralizados.
Implementar uma rede virtual diretamente com IP GRE é um procedimento rápido e bastante estável. Mas deve ser levado em consideração que este tipo de rede não utiliza criptografia na transferência de dados, devendo ser utilizado com cuidado.
Nossa implementação será a seguinte:
rede A (10.10.1.X)
|
(10.10.1.20) roteador A (200.1.1.1)
xxx INTERNET xxx
(200.2.2.2) roteador B (10.10.2.20)
|
(10.10.2.X) rede B
Primeiro teremos que habilitar o suporte ao protocolo gre no Kernel. Este procedimento deverá ser utilizado em todas as implementações de VPN.
# modprobe ip_gre
Agora no roteador A utilizaremos os seguintes comandos:
# ip tunnel add neta mode gre remote 200.2.2.2 local 200.1.1.1 ttl 255
# ip link set neta up
# ip addr add 10.10.1.20 dev neta
# ip route add 10.10.2.0/24 dev neta
No roteador B faremos um procedimento idêntico apenas invertendo os valores.
# ip tunnel add netb mode gre remote 200.1.1.1 local 200.2.2.2 ttl 255
# ip link set netb up
# ip addr add 10.10.2.20 dev netb
# ip route add 10.10.1.0/24 dev netb
Note que na rede A coloquei o nome neta na interface de rede e na rede B chamei a interface de netb. O nome da interface não é importante, apenas coloquei nomes que facilitariam o reconhecimento segundo os nomes das redes.
O túnel já está pronto, e podemos testá-lo com um ping.
(A partir de uma máquina na rede 10.10.2.X)
# ping -c 1 10.10.1.10
PING 10.10.1.10 (10.10.1.10) 56(84) bytes of data.
64 bytes from 10.10.1.10: icmp_seq=0 ttl=63 time=440 ms
— 10.10.1.10 ping statistics —
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 440.498/440.498/440.498/0.000 ms, pipe 2
Para desabilitando o tunelamento basta executarmos o comando abaixo.
# ip link set netb down
# ip tunnel del netb
É isso. Falaremos sobre outros tipos de VPN’s em futuros artigos. Boa sorte.
