lunes, 22 de septiembre de 2014

ISIS IPV6 Cisco IOS-XR



En el anterior artículo configuramos ISIS para IPv6 sobre routers o switches con IOS, en este artículo se abordará la configuración de ISIS para IPv6 con IOS-XR.
Configurar ISIS para IPv6 es bastante parecido a hacerlo en IPv4, simplemente se necesitan dos pasos.
1 – Habilitar el address family de IPv6 dentro del proceso de ISIS.
2 – Habilitar el address family de IPv6 dentro de la interfaz, y a su vez esta dentro de ISIS.
Usando el mismo ejemplo que hemos usado para IPv6 en IOS tenemos la siguiente topología:



Y la configuración de R1:



RP/0/0/CPU0:R1#show run        
Fri Sep 12 20:03:51.738 SGT
Building configuration...
!! IOS XR Configuration 0.0.0
!
hostname R1
logging console debugging
!
interface GigabitEthernet0/0/0/2
 mtu 1514
 ipv4 address 192.168.15.1 255.255.255.0
 ipv6 address 5000:192:168:15::1/64
!router isis 1
 net 49.0001.0000.0000.1111.00
 address-family ipv4 unicast
  metric-style wide
 !
 address-family ipv6 unicast
  single-topology
 !
 interface GigabitEthernet0/0/0/2
  address-family ipv4 unicast
  !
  address-family ipv6 unicast
end

Si has estado atento a la config te habrás percatado del detallito de single-topology, pero eso es algo que abordaremos en el próximo artículo.

Si miramos la tabla de rutas podemos ver que tenemos la red que hay entre R6 y R5.



RP/0/0/CPU0:R1#show route ipv6
Fri Sep 12 20:10:08.016 SGT

Codes: C - connected, S - static, R - RIP, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, su - IS-IS summary null, * - candidate default
       U - per-user static route, o - ODR, L - local, G  - DAGR
       A - access/subscriber, (!) - FRR Backup path

Gateway of last resort is not set

C    5000:192:168:15::/64 is directly connected,
      00:12:37, GigabitEthernet0/0/0/2
L    5000:192:168:15::1/128 is directly connected,
      00:12:37, GigabitEthernet0/0/0/2
i L2 5000:192:168:56::/64
      [115/20] via fe80::a8bb:ccff:fe00:6900, 00:06:51, GigabitEthernet0/0/0/2

Si le hacemos un ping podemos ver que R6 es completamente accesible.


RP/0/0/CPU0:R1#pin 5000:192:168:56::6
Fri Sep 12 20:11:04.539 SGT
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 5000:192:168:56::6, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 3/15/42 ms

Al igual que en el artículo anterior, para comprobar si las adyacencias de ISIS también so a nivel de IPv6 lo podemos hacer con el show isis neighbor detail.

RP/0/0/CPU0:R1#show isis neighbors detail
Fri Sep 12 20:09:50.492 SGT

IS-IS 1 neighbors:
System Id      Interface        SNPA           State Holdtime Type IETF-NSF
R5             Gi0/0/0/2        aabb.cc00.6900 Up    8        L2   Capable
  Area Address(es): 49.0005
  IPv4 Address(es): 192.168.15.5*
  IPv6 Address(es): fe80::a8bb:ccff:fe00:6900*
  Topologies: 'IPv4 Unicast' 'IPv6 Unicast'
  Uptime: 00:06:37

Total neighbor count: 1


miércoles, 17 de septiembre de 2014

ISIS IPV6

Una de las cosas particulares que tiene ISIS es como trata cuando tienes configurado IPV4 e IPV6 en el mismo router, e incluso las mismas interfaces.

Con OSPF por poner un ejemplo claro hay que crear dos procesos diferenciados, un(o varios)  número de proceso OSPF para IPV4, y lo mismo para IPV6, de modo que cuando haces un clear ospf proc puedes hacer un clear de un único stack.

ISIS en este caso ofrece algunas opciones diferentes, como es el hecho de que integra ambos stack, el stack de IPV6 y el de IPV4 dentro del mismo proceso corriendo en el router.

A continuación se detalla cómo se configura ISIS para IPV6 en IOS.

Tomando como ejemplo el ejercicio anterior vamos a configurar direccionamiento de IPV6 en los tres routers y configuramos ISIS para IPV6 a parte de para IPV4 que ya teníamos antes.



R5

ipv6 unicast-routing
ipv6 cef
!
!
interface Ethernet0/0.15
 encapsulation dot1Q 15
 ip address 192.168.15.5 255.255.255.0
 ip router isis
 ipv6 address 5000:192:168:15::5/64
 ipv6 router isis
!
interface Ethernet0/0.56
 encapsulation dot1Q 56
 ip address 192.168.56.5 255.255.255.0
 ip router isis
 ipv6 address 5000:192:168:56::5/64
 ipv6 router isis
!

!
router isis
 net 49.0005.0000.0000.5555.00
 metric-style wide
!

R6

ipv6 unicast-routing
ipv6 cef
!
interface Ethernet0/0.56
 encapsulation dot1Q 56
 ip address 192.168.56.6 255.255.255.0
 ip router isis
 ipv6 address 5000:192:168:56::6/64
 ipv6 router isis
!

!
router isis
 net 49.0006.0000.0000.6666.00
 metric-style wide
!
Como se puede ver, en realidad solo hay que habilitar el routing para IPV6 a nivel global, y luego en las interfaces usar ipv6 router isis en lugar de ip router isis.

Vamos a comprobar si estamos aprendiendo la red entre R5 y R1.

R6#show ipv route
IPv6 Routing Table - default - 4 entries
Codes: C - Connected, L - Local, S - Static, U - Per-user Static route
       B - BGP, R - RIP, I1 - ISIS L1, I2 - ISIS L2
       IA - ISIS interarea, IS - ISIS summary, D - EIGRP, EX - EIGRP external
       ND - ND Default, NDp - ND Prefix, DCE - Destination, NDr - Redirect
       l - LISP
       O - OSPF Intra, OI - OSPF Inter, OE1 - OSPF ext 1, OE2 - OSPF ext 2
       ON1 - OSPF NSSA ext 1, ON2 - OSPF NSSA ext 2
I2  5000:192:168:15::/64 [115/20]
     via FE80::A8BB:CCFF:FE00:6900, Ethernet0/0.56
C   5000:192:168:56::/64 [0/0]
     via Ethernet0/0.56, directly connected
L   5000:192:168:56::6/128 [0/0]
     via Ethernet0/0.56, receive
L   FF00::/8 [0/0]
     via Null0, receive
Ahora vamos a hacer un ping  a R1, para ver si funciona correctamente..

R6#pin 5000:192:168:15::1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 5000:192:168:15::1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 3/10/34 ms
¿Y como sabemos si estamos estableciendo adyacencia también a nivel de IPV6 y no solo de IPV4?
Pues con un show isis nei detail, y debería aparecer la ip de ipv6 del vecino.

R6#show isis neighbors  detail
System Id      Type Interface   IP Address      State Holdtime Circuit Id
R5             L2   Et0/0.56    192.168.56.5    UP    25       R6.01             
  Area Address(es): 49.0005
  SNPA: aabb.cc00.6900     
  IPv6 Address(es): FE80::A8BB:CCFF:FE00:6900
  State Changed: 00:29:04
  LAN Priority: 64
  Format: Phase V
  Remote TID: 0
  Local TID:  0
  Interface name: Ethernet0/0.56



lunes, 15 de septiembre de 2014

ISIS IOSXR

IOS-XR es un sistema operativo que llevan los equipos más potentes de Cisco enfocados al entorno Service Provider(CRS). En este artículo vamos a configurar IS-IS en un  equipo con IOS-XR.

A la hora de configurar un protocolo de routing en IOS-XR, independientemente de cual sea, una ventaja que tenemos es que la configuración queda más agrupada, y por tanto más fácil de leer.

En este caso vamos a configurar isis en un CRS(R1), que está conectado contra R5, y que a su vez conecta contra R6.


RP/0/0/CPU0:R1(config)#router isis 1
RP/0/0/CPU0:R1(config-isis)# net 49.0001.0000.0000.1111.00
P/0/0/CPU0:R1(config-isis)# address-family ipv4 unicast
RP/0/0/CPU0:R1(config-isis-af)#  metric-style wide
RP/0/0/CPU0:R1(config-isis)# interface GigabitEthernet0/0/0/2
RP/0/0/CPU0:R1(config-isis-if)#  address-family ipv4 unicast
RP/0/0/CPU0:R1(config-isis-if-af)#exit
RP/0/0/CPU0:R1(config-isis-if)#commit

Como se puede ver, lo que hacemos es configurar primero el protocolo de routing isis, con su NET , metric-style wide si corresponde, y luego lo que hacemos es decir que interfaces formarán parte de ISIS, y habilitar el address family de ipv4 dentro.

Por último tenemos el comando commit, que hasta que no lo introduzcamos no hará absolutamente nada, de este modo se evitan meteduras de pata al teclear, y cuando se aplica la configuración se aplica toda de golpe.

La configuración de este equipo ya configurado tiene este aspecto, que como se puede ver, es muy fácil de leer.

RP/0/0/CPU0:R1(config-isis-af)#do show run
Fri Sep 12 19:36:52.578 SGT
Building configuration...
!! IOS XR Configuration 0.0.0
!! Last configuration change at Fri Sep 12 19:32:04 2014 by UNKNOWN
hostname R1
logging console debugging
interface GigabitEthernet0/0/0/2
 mtu 1514
 ipv4 address 192.168.15.1 255.255.255.0
!
router isis 1
 net 49.0001.0000.0000.1111.00
 address-family ipv4 unicast
  metric-style wide
 !
 interface GigabitEthernet0/0/0/2
  address-family ipv4 unicast
end

Para comprobar si tenemos un vecino de ISIS tenemos el comando show isis neighbors.

RP/0/0/CPU0:R1#show isis neighbors Fri Sep 12 19:25:19.146 SGT

IS-IS 1 neighbors:
System Id      Interface        SNPA           State Holdtime Type IETF-NSF
R5             Gi0/0/0/2        aabb.cc00.6900 Up    8        L2   Capable

Total neighbor count: 1

Para ver la tabla de rutas, en lugar de show ip route, usaremos show route, o show route ipv4, en IOS-XR se han renombrado los comandos que incluían la palabra ip, y se ha sustituído por ipv4 o ipv6. Por tanto el show ip int brief se sustituye por show ipv4 int brief




RP/0/0/CPU0:R1#show route         
Fri Sep 12 19:25:24.854 SGT

Codes: C - connected, S - static, R - RIP, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, su - IS-IS summary null, * - candidate default
       U - per-user static route, o - ODR, L - local, G  - DAGR
       A - access/subscriber, (!) - FRR Backup path

Gateway of last resort is not set

C    192.168.15.0/24 is directly connected, 00:03:32, GigabitEthernet0/0/0/2
L    192.168.15.1/32 is directly connected, 00:03:32, GigabitEthernet0/0/0/2
i L2 192.168.56.0/24 [115/20] via 192.168.15.5, 00:00:43, GigabitEthernet0/0/0/2

Y lanzando el típico ping vemos que llegamos a nuestro objetivo.

RP/0/0/CPU0:R1#ping 192.168.56.6  
Fri Sep 12 19:25:28.324 SGT
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.56.6, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 3/3/3 ms



viernes, 12 de septiembre de 2014

ISIS: Configuración de ISIS básico en IOS



En este artículo vamos a ver como configurar ISIS para IPV4 en routers Cisco con IOS, así como algunos conceptos básicos necesarios para entenderlo. El objetivo de este artículo no es el de explicar en detalle el funcionamiento de ISIS, simplemente es una guía básica de configuración de ISIS.

ISIS es un protocolo de routing del tipo estado de enlace muy utilizado en entorno ISP.  Podríamos considerar que ISIS es algo así como la competencia de OSPF. Al igual que OSPF se trata de un protocolo que se puede usar en varios fabricantes y no pertenece en exclusiva a un único fabricante.

Para comenzar con ISIS hay que comenzar con lo que más tira para atrás a todo el mundo con el NET(Network Entity Title). Que es un identificador que tenemos que configurar en cada uno de los routers que van a formar parte de ISIS. Aquí un ejemplo de lo que puede ser un NET:

net 49.0001.1720.1600.1001.00

49.0001 --> Identifica el área al que pertenece el router, un router solo puede pertenecer a un área al mismo tiempo, no es como ospf que los routers pueden tener patas en varia áreas.

1720.1600.1001.00 --> Es el identificador del router, como el router ID en OSPF. Este identificador se puede configurar como quieras, simplemente debes saber que tiene que ser único en tu dominio de routing. En este caso se ha intentado insertar los dígitos de una dirección IP en el NET, de este modo es más fácil identificar al router, aunque a la hora de la verdad puedes configurar lo que quieras.

Una vez que ya tenemos superada la que para muchos es inmensa barrera del NET(cosa sencilla donde las haya) ya podemos configurar el protocolo en las interfaces que deseemos,  con ip router isis.

Configuración ISIS:


Router(config) # router isis
Router(config-router) # net XXXXXXXXX
Interface X/X
Ip router isis
Interface Y/Y
Ip router isis

Un primer ejemplo sencillo:


Configuracion inicial:

R5

interface Ethernet0/0.56
 encapsulation dot1Q 56
 ip address 192.168.56.5 255.255.255.0
R6

interface Ethernet0/0.56
 encapsulation dot1Q 56
 ip address 192.168.56.6 255.255.255.0
interface Ethernet0/0.67
 encapsulation dot1Q 67
 ip address 192.168.67.6 255.255.255.0

R7

interface Ethernet0/0.67
 encapsulation dot1Q 67
 ip address 192.168.67.7 255.255.255.0


Vamos a configurar ISIS


R5

router isis
  net 47.0001.0000.0000.5555.00
  exit
  int e0/0.56
  ip router isis

R6

router isis
  net 47.0001.0000.0000.6666.00
  exit
  int e0/0.67
  ip router isis
  int e0/0.56
  ip router isis

R7

router isis
  net 47.0001.0000.0000.7777.00
  exit
  int e0/0.67
  ip router isis

Como se puede ver en la config los tres routers están en el área  47.0001, y el identificador les he puesto uno que los idetifique bastante fácil.

Troubleshooting

Podemos mirar los vecinos como pasa con OSPF.
R6#sho clns neighbors
System Id      Interface   SNPA                State  Holdtime  Type Protocol
R5             Et0/0.56    aabb.cc00.6900      Up     26        L1L2 IS-IS
R7             Et0/0.67    aabb.cc00.6b00      Up     9         L1L2 IS-IS

Lo que significa L1L2 lo dejo para una segunda parte, pero como se puede ver tenemos los vecinos establecidos,y es más, nos da incluso el hostname de los vecinos.

Vamos a mirar la tabla de routing de R5:

R5#sh ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override

Gateway of last resort is not set

      192.168.56.0/24 is variably subnetted, 2 subnets, 2 masks
C        192.168.56.0/24 is directly connected, Ethernet0/0.56
L        192.168.56.5/32 is directly connected, Ethernet0/0.56
i L1  192.168.67.0/24 [115/20] via 192.168.56.6, 00:38:46, Ethernet0/0.56

Ahí tenemos nuestra primera ruta de ISIS, vamos a probar la conectividad.

R5#ping 192.168.67.7
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.67.7, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms

Pues parece que funciona J. Iré subiendo mas artículos de ISIS, pero como primera toma de contacto tenemos nuestro ISIS básico.

 Links recomendados: