jueves, 8 de agosto de 2013

Configuración Túneles GRE

Encapsulación de enrutamiento genérico (GRE) es un protocolo de túnel desarrollado por Cisco que permite la encapsulación de una amplia variedad de protocolos de capa de red dentro de enlaces punto a punto.Su uso principal es crear túneles VPN; GRE, esta definido por los RFC 1701, 1702 y 2784.
Un túnel GRE se utiliza cuando los paquetes deben ser enviados desde una red a otra a través de Internet o de una red insegura. Con GRE, se crea un túnel virtual entre los dos puntos finales (routers Cisco) y los paquetes se envía a través del túnel GRE.
Es importante tener en cuenta que los paquetes que viajan dentro de un túnel GRE no están cifradas como GRE no cifra el túnel, pero lo encapsula con una cabecera GRE. Si se requiere protección de datos, IPSec debe estar configurado para proporcionar confidencialidad de los datos - esto es cuando un túnel GRE se transforma en un túnel GRE VPN seguro.

Cuando abordamos el tema VPNs subyacen detrás dos conceptos:
  • La red virtual, a la que también llamamos túnel, que emula una conexión punto a punto entre 2 nodos conectados a Internet.
  • La encripción de los datos que circulan sobre esa red virtual para darle seguridad al intercambio privado de información sobre una red pública.


¿Cuándo utilizar GRE?
  • Cuando, por ejemplo, es necesario trabajar con un protocolo que no es enrutamble como NetBIOS o con protocolos enrutables diferentes de IP a través de una red IP. Se puede constituir un túnel GRE para trabajar con IPX o AppleTalk sobre una red IP.
  • Cuando debemos conectar dos puntos remotos de una misma red y para ello necesitamos utilizar enlaces que pertenecen a una red diferente.
Mientras que muchos podrían pensar que un túnel GRE IPSec entre dos enrutadores es similar a un sitio a sitio VPN IPSec (Crypto), no lo es. Una diferencia importante es que los túneles GRE permiten paquetes de multidifusión para atravesar el túnel IPSec VPN, mientras que no es compatible con los paquetes de multidifusión. En redes grandes, donde los protocolos de enrutamiento como OSPF, EIGRP son necesarios, los túneles GRE son su mejor apuesta. Por esta razón, más el hecho de que los túneles GRE son mucho más fácil de configurar, los ingenieros prefieren utilizar GRE en lugar de VPN IPSec.

Selección del tipo de túnel a emplear


Cuando se crea un tunnel, normalmente no se especifica el protocolo a utilizar, por lo que los equipos por defecto, seleccionan el protocolo GRE. Sin embargo es posible definir el protocolo, mediante un comando sencillo, como puede verse a continuación:
Router1(config)#interface Tunnel1
Router1(config-if)#tunnel mode ipip

El modo ipip, es el tipo de tunnel que permite encapsular paquetes IP dentro de otro paquete IP, muy útil para permitir la comunicación entre redes IPv6 por medio de redes IPv4. El proceso para seleccionar el protocolo es sencillo y deberá de ser configurado en ambos lados del tunnel, al igual que se definió el protocolo ipip, también puede seleccionarse cualquiera de los siguientes opciones: aurp, cayman, dvmrp, eon, gre ip, gre ip multipoint,
ipip, iptalk

Consideraciones adicionales



  • GRE toma un paquete ya existente, con su encabezado de capa de red, y le agrega un segundo encabezado de capa de red, lo que implica que el paquete que se envía a través del túnel es de mayor longitud por lo que puede ocurrir que esté excediendo la longitud permitida en la interfaz física. Esto provoca el descarte de ese paquete.

    Para solucionar este inconveniente se puede aplicar el comando ip tcp adjust-mss 1436sobre la interfaz túnel para asegurarse de que no se supere el MTU permitido sobre el enlace.

  • El enlace sobre el túnel GRE no requiere ninguna información de estado, por lo que puede ocurrir que un extremo del túnel se encuentre en estado de down y el otro continúe presentándose comoup.

    Para evitar esta situación habilite keepalive en cada extremo del túnel. De este modo cada extremo enviará mensajes de keepalive sobre el túnel y si un extremo no recibe los mensajes enviados por el otro entonces pasará al estado de down.



    Creación de un túnel GRE Cisco

    Túnel GRE utiliza una interfaz de "túnel" - una interfaz lógica configurada en el router con una dirección IP que los paquetes se encapsulan y decapsulated al entrar o salir del túnel GRE.
    El primer paso es crear nuestra interfaz de túnel en Merida:
    Merida(config)# interface Tunnel0
    Merida(config-if)# ip address 10.10.0.1 255.255.255.0
    Merida(config-if)# ip mtu 1400
    Merida(config-if)# ip tcp adjust-mss 1360
    Merida(config-if)# tunnel source Serial0/0/0
    Merida(config-if)# tunnel destination 200.202.60.2


    Todas las interfaces de túnel de routers participantes siempre deben configurarse con una dirección IP que no se utiliza en ningún otro lugar de la red. Cada interfaz de túnel se le asigna una dirección IP dentro de la misma red que el resto de las interfaces de túnel.
    En nuestro ejemplo, las dos interfaces de túnel son parte de la red 10.10.0.0/24.
    GRE es un protocolo de encapsulación, ajustamos la unidad de transmisión máxima (MTU) de 1400 bytes a un tamaño máximo de segmento (MSS) de 1.360 bytes, Porque la mayoría de MTU de transporte son 1500 bytes y tenemos una sobrecarga añadida a causa de GRE, debemos reducir el MTU para dar cuenta de la sobrecarga adicional. Un valor de 1400 es una práctica común y se asegurará de fragmentación de paquetes innecesarios se mantiene a un mínimo.
    Clausura, se define el origen del túnel, que es la dirección IP pública de Merida, y el destino - la dirección IP pública de Margarita
    Tan pronto como completemos la configuración de Merida, el router confirma la creación del túnel e informar sobre su estado:
    Merida#
    *May 4 21:30:22.971: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to up
    Dado que la interfaz de túnel 0 es una interfaz lógica se mantendrá hasta incluso si no hay ningún túnel GRE configurado o conectado en el otro extremo.
    A continuación, hay que crear el túnel 0 interfaz en Margarita:
    Margarita(config)# interface Tunnel0
    Margarita(config-if)# ip address 10.10.0.2 255.255.255.0
    Margarita(config-if)# ip mtu 1400
    Margarita(config-if)# ip tcp adjust-mss 1360
    Margarita(config-if)# tunnel source Serial0/0/0
    Margarita(config-if)# tunnel destination 200.201.60.2
    Interfaz de túnel de Margarita está configurado con la fuente apropiada túnel y la dirección IP de destino.Al igual que con Merida, router Margarita se nos informa que el Tunnel0 interfaz está activa:
    R2#
    *May 4 21:32:54.927: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel0, changed state to up

    Routing a través del túnel GRE

    En este punto, los dos extremos del túnel están listos y pueden "verse" entre sí.Un eco ICMP desde un extremo lo confirmará:
    Merida# ping 10.10.0.2
    Type escape sequence to abort.
    Sending 5, 100-byte ICMP Echos to 10.10.0.2, timeout is 2 seconds:
    !!!!!
    Success rate is 100 percent (5/5), round-trip min/avg/max = 1/2/4 ms
    Merida#
    Una vez más, este resultado significa que los dos puntos finales del túnel pueden verse entre sí.Las Estaciones de trabajo de las dos redes todavía no será capaz de llegar al otro lado a menos que se coloca una ruta estática en cada punto final:
    Merida (config) # ip route 192.168.0.0 255.255.255.0 10.10.0.2
    En Merida añadimos una ruta estática a la red 192.168.0.0/24 remota a través de 10.10.0.2, que es el otro extremo de nuestro túnel GRE. Cuando Merida recibe un paquete de la red 192.168.0.0, que ahora conoce el siguiente salto es 10.10.0.2 y por lo tanto lo enviará a través del túnel.
    La misma configuración se debe repetir para Margarita:
    Margarita (config) # ip route 172.16.0.0 255.255.255.0 10.10.0.1

    Ahora ambas redes son capaces de comunicarse libremente entre sí a través del túnel GRE.

Veamos como esta configurado cada uno de los routers en la topologia:

Merida#sh ru
Building configuration...

Current configuration : 2137 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Merida
!
!
!
!
ip dhcp excluded-address 172.16.0.1
!
ip dhcp pool LAN1
 network 172.16.0.0 255.255.255.0
 default-router 172.16.0.1
 option 150 ip 172.16.0.1
 dns-server 200.201.60.1
!
!
spanning-tree mode pvst
!
!
interface Tunnel0
 ip address 10.10.0.1 255.255.255.0
 tunnel source Serial0/0/0
 tunnel destination 200.202.60.2
!
!
interface FastEthernet0/0
 ip address 172.16.0.1 255.255.255.0
 duplex auto
 speed auto
!
interface FastEthernet0/1
 no ip address
 duplex auto
 speed auto
 shutdown
!
interface Serial0/0/0
 ip address 200.201.60.2 255.255.255.252
!
interface Serial0/0/1
 no ip address
 clock rate 2000000
 shutdown
!
interface Serial0/1/0
 no ip address
 clock rate 2000000
 shutdown
!
interface Serial0/1/1
 no ip address
 clock rate 2000000
 shutdown
!
interface FastEthernet1/0
 switchport mode access
 shutdown
!
interface FastEthernet1/1
 switchport mode access
 shutdown
!
interface Vlan1
 no ip address
 shutdown
!
ip classless
ip route 200.202.60.0 255.255.255.252 Serial0/0/0
ip route 192.168.0.0 255.255.255.0 10.10.0.2
!
!
line con 0
line vty 0 4
 login
!
!
!
end


Margarita#sh ru
Building configuration...

Current configuration : 2144 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname Margarita
!
!
!
!
ip dhcp excluded-address 192.168.0.1
!
ip dhcp pool LAN2
 network 192.168.0.0 255.255.255.0
 default-router 192.168.0.1
 option 150 ip 192.168.0.1
 dns-server 200.202.60.1
!
!
spanning-tree mode pvst
!
!
interface Tunnel0
 ip address 10.10.0.2 255.255.255.0
 tunnel source Serial0/0/0
 tunnel destination 200.201.60.2
!
!
interface FastEthernet0/0
 ip address 192.168.0.1 255.255.255.0
 duplex auto
 speed auto
!
interface FastEthernet0/1
 no ip address
 duplex auto
 speed auto
 shutdown
!
interface Serial0/0/0
 ip address 200.202.60.2 255.255.255.252
!
interface Serial0/0/1
 no ip address
 clock rate 2000000
 shutdown
!
interface Serial0/1/0
 no ip address
 clock rate 2000000
 shutdown
!
interface Serial0/1/1
 no ip address
 clock rate 2000000
 shutdown
!
interface FastEthernet1/0
 switchport mode access
 shutdown
!
interface FastEthernet1/1
 switchport mode access
 shutdown
!
interface Vlan1
 no ip address
 shutdown
!
ip classless
ip route 200.201.60.0 255.255.255.252 Serial0/0/0
ip route 172.16.0.0 255.255.255.0 10.10.0.1
!
!
line con 0
line vty 0 4
 login
!
!
!
end


WAN#sh ru
Building configuration...

Current configuration : 1797 bytes
!
version 12.4
no service timestamps log datetime msec
no service timestamps debug datetime msec
no service password-encryption
!
hostname WAN
!
!
no ip domain-lookup
!
!
spanning-tree mode pvst
!
!
!
!
interface FastEthernet0/0
 no ip address
 duplex auto
 speed auto
 shutdown
!
interface FastEthernet0/1
 no ip address
 duplex auto
 speed auto
 shutdown
!
interface Serial0/0/0
 ip address 200.201.60.1 255.255.255.252
 clock rate 2000000
!
interface Serial0/0/1
 ip address 200.202.60.1 255.255.255.252
 clock rate 2000000
!
interface Serial0/1/0
 no ip address
 clock rate 2000000
 shutdown
!
interface Serial0/1/1
 no ip address
 clock rate 2000000
 shutdown
!
interface FastEthernet1/0
 switchport mode access
 shutdown
!
interface FastEthernet1/1
 switchport mode access
 shutdown
!
!
interface Vlan1
 no ip address
 shutdown
!
ip classless
!
!
line con 0
line vty 0 4
 login
!
!
!
end



Fuentes:

No hay comentarios.: