Discussion:
Problemas con GRE
m***@yahoo.com.ar
2012-01-05 23:40:25 UTC
Permalink
Alguien ha configurado antes un túnel con GRE o con IPIP? Probé con ambos y no pude hacer andar ninguno.

Situación: dos routers, cada uno con la siguiente conexión a Internet:

router A: interfaz eth0 conectada a Internet, IP pública 190.151.13x.xxx
router B: interfaz eth0 conectada a Internet, IP pública 190.151.14x.xxx

Lo que me interesa es hacer un túnel para que las redes, que están detras de los respectivos routers, se puedan ver.

Probé con esto:

router A: (los ejecuté todos con sudo, no acostumbro usar la cuenta root en forma directa)
modprobe ip_gre
ip tunnel add tun0 mode gre remote 190.151.14x.xxx local 190.151.13x.xxx ttl 255

ifconfig tun0 10.0.0.1/24
ifconfig tun0 up
ifconfig tun0 pointopoint 10.0.0.2

router B:
modprobe ip_gre
ip tunnel add tun0 mode gre remote 190.151.13x.xxx local 190.151.14x.xxx ttl 255

ifconfig tun0 10.0.0.2/24
ifconfig tun0 up
ifconfig tun0 pointopoint 10.0.0.1

Finalmente pruebo desde router A, por lo menos para saber que el túnel anda:

router A:
ping 10.0.0.2

Sin embargo no me muestra absolutamente nada, 100% paquetes perdidos. Ni siquiera un Destination unreachable.

Probé lo siguiente en router A, en otro terminal mientras corría el ping:

tcpdump -ni tun0 icmp

Y veo los echo request.

Sin embargo luego probé lo siguiente:

tcpdump -ni eth0 proto 47

Y no veo ningún paquete GRE saliendo por la interfaz.

Es como si Linux no quisiera encapsular y mandar los paquetes.

Por router B no veo nada, ni ICMP ni GRE en ninguna de las interfaces.

Ambos están filtrando con iptables pero puse iptables -A INPUT -i eth0 -p gre -j ACCEPT en c/u, y están con política ACCEPT por default para todo lo demás (bueno... hay un iptables -A INPUT -i eth0 -j DROP al final... en ambos... pero a tun0 de c/u no le puse nada).

De cualquier manera, vuelvo a repetir, no veo salir los paquetes, por tanto mucho menos van a llegar. ¿Hay que habilitar algún flag en /proc/sys/net/ipv4 o similiar? ¿Aparte de ip_forward?

Saludos y atte.

--
Matias Moreno
Alejandro Vargas
2012-01-06 11:26:00 UTC
Permalink
Post by m***@yahoo.com.ar
Alguien ha configurado antes un túnel con GRE o con IPIP? Probé con ambos
y no pude hacer andar ninguno.
Post by m***@yahoo.com.ar
router A: interfaz eth0 conectada a Internet, IP pública 190.151.13x.xxx
router B: interfaz eth0 conectada a Internet, IP pública 190.151.14x.xxx
Lo que me interesa es hacer un túnel para que las redes, que están detras
de los respectivos routers, se puedan ver.
Post by m***@yahoo.com.ar
router A: (los ejecuté todos con sudo, no acostumbro usar la cuenta root en forma directa)
modprobe ip_gre
ip tunnel add tun0 mode gre remote 190.151.14x.xxx local 190.151.13x.xxx ttl 255
ifconfig tun0 10.0.0.1/24
ifconfig tun0 up
ifconfig tun0 pointopoint 10.0.0.2
En el poiontopoint no hay que poner la ip REAL del otro lado?
Post by m***@yahoo.com.ar
Ambos están filtrando con iptables pero puse iptables -A INPUT -i eth0 -p
gre -j ACCEPT en c/u, y están con política ACCEPT por default para todo lo
demás (bueno... hay un iptables -A INPUT -i eth0 -j DROP al final... en
ambos... pero a tun0 de c/u no le puse nada).

Si no me equivoco, aunque no tengas bien las reglas de firewall, el tcpdump
debería mostrarte bien los paquetes entrantes.
Andres Morales
2012-01-06 12:45:06 UTC
Permalink
Post by m***@yahoo.com.ar
Post by m***@yahoo.com.ar
Alguien ha configurado antes un túnel con GRE o con IPIP? Probé con ambos
y no pude hacer andar ninguno.
Post by m***@yahoo.com.ar
router A: interfaz eth0 conectada a Internet, IP pública 190.151.13x.xxx
router B: interfaz eth0 conectada a Internet, IP pública 190.151.14x.xxx
Lo que me interesa es hacer un túnel para que las redes, que están detras
de los respectivos routers, se puedan ver.
Post by m***@yahoo.com.ar
router A: (los ejecuté todos con sudo, no acostumbro usar la cuenta root
en forma directa)
Post by m***@yahoo.com.ar
modprobe ip_gre
ip tunnel add tun0 mode gre remote 190.151.14x.xxx local 190.151.13x.xxx
ttl 255
Post by m***@yahoo.com.ar
ifconfig tun0 10.0.0.1/24
ifconfig tun0 up
ifconfig tun0 pointopoint 10.0.0.2
En el poiontopoint no hay que poner la ip REAL del otro lado?
Sí, debe estar el problema en el pointopoint, creas el tunel indicando las
IPs remota y local y "creas" las IPs 10.0.0.1 y 10.0.0.2 pero no seteás el
punto a punto a ninguna de las dos IPs reales. No se deben ver entre sí las
10.0.0.1 y 10.0.0.2 porque ni siquiera saben que están ahí.
Post by m***@yahoo.com.ar
Post by m***@yahoo.com.ar
Ambos están filtrando con iptables pero puse iptables -A INPUT -i eth0 -p
gre -j ACCEPT en c/u, y están con política ACCEPT por default para todo lo
demás (bueno... hay un iptables -A INPUT -i eth0 -j DROP al final... en
ambos... pero a tun0 de c/u no le puse nada).
Si no me equivoco, aunque no tengas bien las reglas de firewall, el tcpdump
debería mostrarte bien los paquetes entrantes.
De todas maneras, no deben haber paquetes entrantes, porque ni siquiera se
deben ver.

Loading...