EIGRP: Configuración, Ancho de banda y Adyacencias

Objetivo del laboratorio:

  • Configuración de EIGRP en una interface.
  • Configurar el ancho de banda (bandwidth) para limitar el ancho de banda de EIGRP
  • Verificar adyacencias EIGRP
  • Verificar intercambio de información de rutado de EIGRP
  • Utilizar comandos DEBUG para resolver problemas EIGRP
  • Comprobación de convergencia por cambio de topología.

Requisitos:

  • GNS3 (versión usada 0.5)
  • IOS: versión mínima: 12.3(2)T (versión usada 12.4-21)
  • Ficheros del laboratorio (descargar zip con el laboratorio completo) NOTA 1: se recomienda hacer el laboratorio desde cero en vez de copiar y pegar para aprender. NOTA 2: los path del fichero .net se deben ajustar a los de tu ordenador.

Esquema:

EIGRP: Configuración, Ancho de banda y Adyacencias

Paso 1: configurar las IPs de las interfaces FastEthernet y las Loopbacks según el esquema, de momento dejamos las 2 interfaces serials. Nota: es conveniente teclear los comandos y no hacer copiar y pegar para practicar.

R1:
hostname R1
!
interface Loopback1
 ip address 10.10.10.1 255.255.255.0
!
interface FastEthernet0/0
 ip address 10.1.1.1 255.255.255.0
 speed 100
 full-duplex
 no shutdown

R2:
hostname R2
!
interface Loopback1
 ip address 10.10.20.1 255.255.255.0
!
interface FastEthernet0/0
 ip address 10.1.1.2 255.255.255.0
 speed 100
 full-duplex
 no shutdown

R3:
hostname R3
!
interface Loopback1
 ip address 10.10.30.1 255.255.255.0
!
interface Loopback2
 ip address 192.168.1.1 255.255.255.252
!
interface Loopback3
 ip address 192.168.2.1 255.255.255.252
!
interface FastEthernet0/0
 ip address 10.1.1.3 255.255.255.0
 speed 100
 full-duplex
 no shutdown

SWITCH:
hostname SWITCH
!
interface range fastEthernet 1/0 - 15
 shutdown
!
interface FastEthernet1/1
 duplex full
 speed 100
 no shutdown
!
interface FastEthernet1/2
 duplex full
 speed 100
 no shutdown
!
interface FastEthernet1/3
 duplex full
 speed 100
 no shutdown

El dispositivo SWITCH realmente es un Cisco 3725 con un módulo de 16 puerto fastethernet que hace las veces de switch. Lo que hacemos es primero poner los 16 puerto en shutdown y luego con figurar los 3 puertos que se necesitan, como por defecto están en la VLAN 1 no hay que hace nada más.

El resto de routers los configuramos tal cual.

Para comprobar que están las interfaces bien configuradas y levantadas podemos usar el comando "show ip interface brief" en cada router, que nos da información de los interfaces. Salida de ejemplo en R2:

R2#show ip interface brief
Interface                  IP-Address      OK? Method Status                Protocol
FastEthernet0/0            10.1.1.2        YES manual up                    up
FastEthernet0/1            unassigned      YES NVRAM  administratively down down
Serial1/0                  unassigned      YES NVRAM  administratively down down
Serial1/1                  unassigned      YES NVRAM  administratively down down
Serial1/2                  unassigned      YES NVRAM  administratively down down
Serial1/3                  unassigned      YES NVRAM  administratively down down
Loopback1                  10.10.20.1      YES manual up                    up

Paso 2: configurar EIGRP a través de la VLAN 1.

Para ver todo el proceso antes de configurar EIGRP vamos a activar el debug para ver que paquetes se envían. Primero configuramos R1:

R1#debug eigrp packets
EIGRP Packets debugging is on
    (UPDATE, REQUEST, QUERY, REPLY, HELLO, IPXSAP, PROBE, ACK, STUB, SIAQUERY, SIAREPLY)
R1#conf t
R1(config)#router eigrp 100
R1(config-router)#network 10.0.0.0

Al configurar las redes con redes grandes causa que EIGRP empiece a enviar paquete Hello por todas las interfaces que están en dicha red (subredes de 10.0.0.0/8), en nuestro caso EIGRP empezará a enviar paquetes Hello por FastEthernet0/0 y por Loopback1 como se puede ver en el debug:

*Mar  1 00:58:52.767: EIGRP: Sending HELLO on FastEthernet0/0
*Mar  1 00:58:52.771:   AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Mar  1 00:58:52.771: EIGRP: Sending HELLO on Loopback1
*Mar  1 00:58:52.771:   AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Mar  1 00:58:52.775: EIGRP: Received HELLO on Loopback1 nbr 10.10.10.1
*Mar  1 00:58:52.775:   AS 100, Flags 0x0, Seq 0/0 idbQ 0/0
*Mar  1 00:58:52.775: EIGRP: Packet from ourselves ignored

Como todavía con hay más routers configurados no obtenemos respuesta y los paquetes Hello que llegan desde la interfaz Loopback1 son ignorados por venir del propio router.

Configuramos R2 de la misma forma y veremos como ya no solo se envían paquetes Hello si no que también se reciben:

*Mar  1 01:08:05.923: EIGRP: Sending HELLO on FastEthernet0/0
*Mar  1 01:08:05.923:   AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Mar  1 01:08:05.927: EIGRP: Sending HELLO on Loopback1
*Mar  1 01:08:05.927:   AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Mar  1 01:08:05.931: EIGRP: Received HELLO on Loopback1 nbr 10.10.20.1
*Mar  1 01:08:05.935:   AS 100, Flags 0x0, Seq 0/0 idbQ 0/0
*Mar  1 01:08:05.935: EIGRP: Packet from ourselves ignored
*Mar  1 01:08:05.959: EIGRP: Received HELLO on FastEthernet0/0 nbr 10.1.1.1
*Mar  1 01:08:05.963:   AS 100, Flags 0x0, Seq 0/0 idbQ 0/0
*Mar  1 01:08:05.963: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 100: Neighbor 10.1.1.1 (FastEthernet0/0) is up: new adjacency
*Mar  1 01:08:05.967: EIGRP: Enqueueing UPDATE on FastEthernet0/0 nbr 10.1.1.1 iidbQ un/rely 0/1 peerQ un/rely 0/0
*Mar  1 01:08:05.967: EIGRP: Received HELLO on FastEthernet0/0 nbr 10.1.1.1
*Mar  1 01:08:05.967:   AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/1 peerQ un/rely 0/0
*Mar  1 01:08:05.971: EIGRP: Received Sequence TLV from 10.1.1.1
*Mar  1 01:08:05.971:        10.1.1.2
*Mar  1 01:08:05.971:        address matched
*Mar  1 01:08:05.971:        clearing CR-mode
*Mar  1 01:08:05.975: EIGRP: Received CR sequence TLV from 10.1.1.1, sequence 2
*Mar  1 01:08:05.975: EIGRP: Received UPDATE on FastEthernet0/0 nbr 10.1.1.1
*Mar  1 01:08:05.975:   AS 100, Flags 0xA, Seq 2/0 idbQ 0/0 iidbQ un/rely 0/1 peerQ un/rely 0/0, not in CR-mode, packet discarded
*Mar  1 01:08:05.979: EIGRP: Requeued unicast on FastEthernet0/0
*Mar  1 01:08:05.979: EIGRP: Enqueueing UPDATE on FastEthernet0/0 iidbQ un/rely 0/1 serno 1-2
*Mar  1 01:08:05.983: EIGRP: Sending HELLO on FastEthernet0/0
*Mar  1 01:08:05.983:   AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/1
*Mar  1 01:08:05.987: EIGRP: Forcing multicast xmit on FastEthernet0/0
*Mar  1 01:08:05.987: EIGRP: Building Sequence TLV
*Mar  1 01:08:05.987: EIGRP: Enqueueing UPDATE on FastEthernet0/0 nbr 10.1.1.1 iidbQ un/rely 0/0 peerQ un/rely 0/1 serno 1-2
*Mar  1 01:08:05.991: EIGRP: Sending HELLO with Sequence TLV on FastEthernet0/0, seq 2
*Mar  1 01:08:05.991: EIGRP: Sending HELLO on FastEthernet0/0
*Mar  1 01:08:05.991:   AS 100, Flags 0x0, Seq 0/0 idbQ 0/0 iidbQ un/rely 0/0
*Mar  1 01:08:05.995: EIGRP: Sending UPDATE on FastEthernet0/0
*Mar  1 01:08:05.995:   AS 100, Flags 0xA, Seq 2/0 idbQ 0/0 iidbQ un/rely 0/0 serno 1-2
*Mar  1 01:08:05.999: EIGRP: Sending UPDATE on FastEthernet0/0 nbr 10.1.1.1
*Mar  1 01:08:05.999:   AS 100, Flags 0x1, Seq 1/0 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/2
*Mar  1 01:08:07.967: EIGRP: Received UPDATE on FastEthernet0/0 nbr 10.1.1.1
*Mar  1 01:08:07.967:   AS 100, Flags 0x1, Seq 1/1 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/2
*Mar  1 01:08:07.967: EIGRP: Sending UPDATE on FastEthernet0/0 nbr 10.1.1.1
*Mar  1 01:08:07.967:   AS 100, Flags 0x8, Seq 2/0 idbQ 0/0 iidbQ un/rely 0/1 peerQ un/rely 0/1 serno 1-2
*Mar  1 01:08:07.967: EIGRP: Enqueueing ACK on FastEthernet0/0 nbr 10.1.1.1
*Mar  1 01:08:07.967:   Ack seq 1 iidbQ un/rely 0/1 peerQ un/rely 1/1
*Mar  1 01:08:07.971: EIGRP: Sending ACK on FastEthernet0/0 nbr 10.1.1.1
*Mar  1 01:08:07.971:   AS 100, Flags 0x0, Seq 0/1 idbQ 0/0 iidbQ un/rely 0/1 peerQ un/rely 1/1
*Mar  1 01:08:07.975: EIGRP: Requeued unicast on FastEthernet0/0
*Mar  1 01:08:07.987: EIGRP: Received UPDATE on FastEthernet0/0 nbr 10.1.1.1
*Mar  1 01:08:07.991:   AS 100, Flags 0x8, Seq 2/2 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/2
*Mar  1 01:08:07.991: EIGRP: FastEthernet0/0 multicast flow blocking cleared
*Mar  1 01:08:07.995: EIGRP: Sending UPDATE on FastEthernet0/0 nbr 10.1.1.1
*Mar  1 01:08:07.995:   AS 100, Flags 0x8, Seq 3/1 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 0/1 serno 1-2
*Mar  1 01:08:07.995: EIGRP: Enqueueing ACK on FastEthernet0/0 nbr 10.1.1.1
*Mar  1 01:08:07.999:   Ack seq 2 iidbQ un/rely 0/0 peerQ un/rely 1/1
*Mar  1 01:08:08.003: EIGRP: Sending ACK on FastEthernet0/0 nbr 10.1.1.1
*Mar  1 01:08:08.003:   AS 100, Flags 0x0, Seq 0/2 idbQ 0/0 iidbQ un/rely 0/0 peerQ un/rely 1/1

Podemos ver en el debug los paquetes de EIGRP Hello, Update y ACK (marcados en negrita). También vemos que se responde con paquetes ACK a las actualizaciones ya que EIGRP usar el protocolo RTP (Reliable Transport Protocol).

Por último configuramos R3 igual que R1 y R2.

Para quitar la salida del debug utilizamos el comando:

undebug all

Para ver que interfaces están involucradas en el proceso de rutado de EIGRP podemos usar el comando:

R3#show ip eigrp interfaces
IP-EIGRP interfaces for process 100

                        Xmit Queue   Mean   Pacing Time   Multicast    Pending
Interface        Peers  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes
Fa0/0              2        0/0       823       0/1         4092           0
Lo1                0        0/0         0       0/1            0           0

Paso 3: Verificar la configuración de EIGRP

Una vez que tengamos los 3 routers configurados con EIGRP podemos ver que adyacencias hay en cada uno (2 en cada router) con el comando "show ip eigrp neighbors".

R1#show ip eigrp neighbors
IP-EIGRP neighbors for process 100
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
1   10.1.1.3                Fa0/0             13 00:12:18   13   200  0  7
0   10.1.1.2                Fa0/0             10 00:22:26   47   282  0  6

R2#show ip eigrp neighbors
IP-EIGRP neighbors for process 100
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
1   10.1.1.3                Fa0/0             13 00:12:22   36   216  0  7
0   10.1.1.1                Fa0/0             13 00:22:31 1020  5000  0  6

R3#show ip eigrp neighbors
IP-EIGRP neighbors for process 100
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
1   10.1.1.2                Fa0/0             11 00:12:26  824  4944  0  7
0   10.1.1.1                Fa0/0             14 00:12:26  822  4932  0  7

Ahora vamos a comprobar si las rutas EIGRP se intercambian entre los routers correctamente usando el comando "show ip eigrp topology":

R3#show ip eigrp topology
IP-EIGRP Topology Table for AS(100)/ID(192.168.2.1)

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
       r - reply Status, s - sia Status 

P 10.10.10.0/24, 1 successors, FD is 156160
        via 10.1.1.1 (156160/128256), FastEthernet0/0
P 10.1.1.0/24, 1 successors, FD is 28160
        via Connected, FastEthernet0/0
P 10.10.20.0/24, 1 successors, FD is 156160
        via 10.1.1.2 (156160/128256), FastEthernet0/0
P 10.10.30.0/24, 1 successors, FD is 128256
        via Connected, Loopback1

Debemos ver todas las redes configuradas en los Loopbacks y la red que une los 3 routers. Para ver la mejor ruta a la red de destino podemos usar el comando "show ip route eigrp":

R3#show ip route eigrp
     10.0.0.0/24 is subnetted, 4 subnets
D       10.10.10.0 [90/156160] via 10.1.1.1, 00:18:53, FastEthernet0/0
D       10.10.20.0 [90/156160] via 10.1.1.2, 00:18:53, FastEthernet0/0

Ya por último solo nos queda comprobar que se alcanzan cada uno de las IPs de los Loopbacks y la de las interfaces (aunque si llegamos a los Loopbacks es evidente que llegamos a los interfaces) para ello podemos hacer ping o usar TCLSH (ver artículo):

foreach ips {
 10.1.1.1
 10.1.1.2
 10.1.1.3
 10.10.10.1
 10.10.20.1
 10.10.30.1
} {
ping $ips
}

Paso 4: Configurar EIGRP en los interfaces Serial

Configuramos las Interfaces serie con las IPs del esquema y el DCE:

R1:
interface Serial1/0
 ip address 10.10.40.1 255.255.255.0
 clock rate 64000
 no shutdown

R2:
interface Serial1/0
 ip address 10.10.40.2 255.255.255.0
 no shutdown

Si mostramos la interfaz S1/0 vemos que la interfaz sigue siendo un T1 (1544 kbps) a pesar de que hemos puesto el clock rate a 64000 (64kbps).

R2#sh interfaces serial 1/0
Serial1/0 is up, line protocol is up
  Hardware is M4T
  Internet address is 10.10.40.2/24
  MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,
     reliability 255/255, txload 1/255, rxload 1/255

Por defecto EIGRP usa hasta el 50% del ancho de banda que la interface muestra (como hemos visto 1544 kbps), por lo que si tuvieses algún problema se usaría la mitad de 1544 kbps cuando nuestro enlace serie es de 64 kbps. También debemos tener en cuenta que EIGRP hace operaciones de ancho de banda usando una métrica compuesta en la que una de sus variables es el ancho de banda del interface, por lo que es necesario que se configura el ancho de banda correcto en ambos interfaces:

R1:
interface serial 1/0
 bandwidth 64

R2:
interface serial 1/0
 bandwidth 64

Ahora evidentemente en R1 y R2 tenemos un vecino EIGRP más, que es el interface seria:

R2#show ip eigrp neighbors
IP-EIGRP neighbors for process 100
H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq
                                            (sec)         (ms)       Cnt Num
1   10.1.1.1                Fa0/0             12 00:11:20   11   200  0  27
0   10.1.1.3                Fa0/0             14 00:11:20   11   200  0  19
2   10.10.40.1              Se1/0             11 00:23:56   30  2280  0  28

Paso 5: Configurar comandos network usando máscaras Wildcard.

Al principio configuramos los Loopbacks 2 y 3 en R3 con una red 192.168.1.x diferente a los demás interfaces 10.x.x.x. Si ahora queremos añadir esta red a EIGRP podemos poner el comando "network 192.168.1.0 0.0.0.7" o incluso todo el /24 "network 192.168.1.0 0.0.0.255" pero si solo queremos poner el Loopback 2 sin meter el Loopback 3 ? Para eso lo que tenemos que hacer es usa un wildcard para que solo se use Loopback2:

R3:
router eigrp 100
network 192.168.1.0 0.0.0.3

Para comprobar que efectivamente SOLO está Loopback2 y no Loopback3 usamos el comando de antes:

R3#show ip eigrp interfaces
IP-EIGRP interfaces for process 100

                        Xmit Queue   Mean   Pacing Time   Multicast    Pending
Interface        Peers  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes
Fa0/0              2        0/0        68       0/1          308           0
Lo1                0        0/0         0       0/1            0           0
Lo2                0        0/0         0       0/1            0           0

Sin embargo si en R1 o R2 miramos las rutas EIGRP veremos que la red 192.168.1.x es un /24 en vez de ser un /30, debido a que por defecto R3 hace un auto-summary, por lo que para corregirlo debemos meter el comando "no auto-summary" en el AS 100 de EIGRP de R3.

R3:
router eigrp 100
 no auto-summary

Paso 6: Cambio de topología

Vamos a ver como EIGRP converge muy rápidamente y veremos que si es realmente más rápido que otros protocolos. Primero vamos a ver que para llegar al Lo1 en R1 (10.10.10.1) su ruta es a través de R3-SWITCH-R1:

R3#sh ip route eigrp
     10.0.0.0/24 is subnetted, 5 subnets
D       10.10.10.0 [90/156160] via 10.1.1.1, 01:46:19, FastEthernet0/0
D       10.10.20.0 [90/156160] via 10.1.1.2, 00:39:31, FastEthernet0/0
D       10.10.40.0 [90/40514560] via 10.1.1.2, 00:30:28, FastEthernet0/0
                   [90/40514560] via 10.1.1.1, 00:30:28, FastEthernet0/0
R3#traceroute 10.10.10.1

Type escape sequence to abort.
Tracing the route to 10.10.10.1

  1 10.1.1.1 24 msec 8 msec

Lo que vamos a hacer ahora es tirar la interfaz FastEthernet 0/0 de R1 para que el camino a Loopback1 de R1 desde R3 sea R3-SWITCH-R2-R1 (este último paso vía enlace serial). Para verlo mejor vamos a lanzar desde R3 un ping a 10.10.10.1 con un repetición de 10.000 veces para que nos dé tiempo a ver el efecto.

R3:
R3# ping 10.10.10.1 repeat 10000

Empezamos a ver en R3 un montón de admiraciones (!) que quiere decir que el ping responde.

R1:
interface FastEthernet 0/0
 shutdown

Veremos en R3 como empiezan a salir puntos (.) que indica que pierde el ping con R1 y enseguida vuelven las admiraciones (!) que indica que se ha restablecido la comunicación con R1 ahora a través de R2.

Podemos hacer una traza y veremos como el camino es a través de R2.

Si volvemos a levantar FastEthernet 0/0 en R1 veremos como pasa algo similar pero el corte es mucho menor.

R1:
interface FastEthernet 0/0
 no shutdown

Retro

Lugares

Redes

Sistemas

Varios