m***@yahoo.com.ar
2012-01-05 23:40:25 UTC
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
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