VPN On linux with GRE Protocol

From Pruonckk.org

Conteúdo

Prefacio

Na necessidade de elaborar umas vpns um amigo me comentou o seguinte, você pode fazer uma vpn utilizando GRE pra conectar ao roteador (um cisco), eu achei interessante e resolvi fazer um teste no linux para ver o funcionamento, até que funciona legal, mas é bom lembrar que é uma vpn roteada.


Dependencias


Abaixo as dependencias necessárias, que na verdade é o ip_gre.so (modulo nativo no kernel, normalmente ja ativado) e o iproute

 ip_gre.so
 iproute


Configurando

Para facilitar o exemplo, vou colocar um ambiente em mente.

Rede Publica A: 187.109.36.0/24
Rede Privada A: 172.16.71.1/30
Rede Publica A1: 187.109.37.0/24
Rede Publica B: 64.211.199.0/24
Rede Privada B: 172.16.71.2/30
Rede Publica B1: 204.16.0.0/22

A rede A fica em São Paulo, a rede B fica em miami, eu vou utilizar esta vpn para criar através da rede B, uma rota para as redes B1 e A1


Equipamento REDE A

ip tunnel add netmia mode grep remote 64.211.199.159 local 187.109.36.3 ttl 255
ip link set netmia up
ip addr add 172.16.72.1/30 dev netsp
ip route add 204.16.0.0/22 via 172.16.72.2
echo 1 > /proc/sys/net/ipv4/ip_forward


Equipamento REDE B

ip tunnel add netsp mode gre remote 187.109.36.3 local 64.211.199.159 ttl 255
ip link set netsp up
ip addr add 172.16.72.2/30 dev netsp
ip route add 187.109.37.0/24 via 172.16.72.1
echo 1 > /proc/sys/net/ipv4/ip_forward


Realizando um Teste

Abaixo o tracert da Rede A para a Rede B1

 1  64.211.199.159  115.899 ms  115.882 ms  115.870 ms
 2  204.16.7.4  116.511 ms  116.510 ms  116.513 ms
 3  204.16.0.28  115.229 ms  113.221 ms  115.142 ms


Abaixo o tracert da Rede B para rede A1

1  64.211.199.159  0.382 ms  0.386 ms  0.386 ms
2  187.109.36.3  112.051 ms  112.059 ms  112.059 ms
3  187.109.37.1  111.043 ms  111.546 ms  111.537 ms


Note a diferença de latencia no primeiro hop no primeiro caso e no segundo


No mais com isso funcionando você pode criar scripts para por isso na inicialização e realizar de um modo bem simplificado uma vpn entre seus pontos.


Fonte: http://lartc.org/howto/lartc.tunnel.gre.html

Ferramentas pessoais
Inutilidades