OSPF con Huawei – Área Única

¿Por qué usar OSPF?

OSPF es uno de los protocolos de ruteo interno más usados cuando hablamos de redes de un tamaño considerable. Al ser un protocolo de enrutamiento dinámico basado en el enlace-estado, suple las carencias de los cuatro protocolos denominados vector-distancia (RIPv1, RIPv2, IGRP, EIGRP). La gran ventaja de los protocolos enlace-estado, como OSPF, es que permiten a los routers conocer el estado de la red al completo. Esta tecnología toma las decisiones basadas en el estado de la red, por lo tanto, se hace un enrutamiento mucho más eficiente, eligiendo el camino más corto primero (Open Shortest Path First).

Con esta entrada del blog, comenzamos con una serie de configuraciones utilizando el protocolo OSPF. Empezaremos gradualmente con configuraciones básicas e iremos integrando diferentes fabricantes.

Breve descripción de OSPF

RFC2328 definió OSPF como un protocolo de ruteo dinámico que detecta rápidamente cambios en la topología dentro del Sistema Autónomo (como fallos de la interfaz del router) y calcula rutas nuevas carentes de bucles después de un periodo de convergencia. Este periodo de convergencia es corto e involucra un mínimo de tráfico. Para ello, cada router mantiene una base de datos idéntica que contiene la descripción de la topología de la red y para actualizar esta base de datos, se producen una serie de intercambios de paquetes. Estos paquetes permiten a cada router conformar un árbol de los caminos más cortos con respecto a cada uno de los vecinos.

Existen seis tipos de paquetes involucrados en conocer las adyacencias entre vecinos.

■ Hello Packets
■ Database Description Packets
■ Link-State Request Packets
■ Link-State Update Packets
■ Link-State Acknowledgment Packets
■ Link-State Advertisement Packets

Los anuncios de OSPF se denominan Link State Advertisements (LSA) y comunican la información del estado del enlace entre vecinos. A continuación describimos un breve resumen de los tipos de LSA:

■ Tipo 1: Routers LSA. Describe el estado y el coste de los link conectados al área de un router.
■ Tipo 2: Networks LSA. Representa al DR (router designado) para el enlace multiacceso. Representa al conjunto de routers unidos a una red.
■ Tipo 3: Summary LSA. Ruta interna generada en el ABR.
■ Tipo 4: Summary LSA. Ruta generada en el ASBR (router limítrofe del Sistema Autónomo, router que tiene al menos una interfaz conectada a una red externa).
■ Tipo 5: Una ruta externa al dominio OSPF
■ Tipo 7: Usado en las áreas stub en lugar del LSA Tipo 5

Los tipos 1 y 2 nos los encontraremos en todas las áreas y nunca será inyectados fuera de un área. Los otros tipos de LSA son anunciados dependiendo del tipo de área. Pero, ¿qué es un área?

OSPF nos permite agrupar conjuntos de redes y cada grupo de estas redes se denominan áreas. La topología de un área se esconde del resto del Sistema Autónomo, lo que habilita una gran reducción del tráfico de ruteo así como protege al área de una inyección incorrecta de información de ruteo.

Los tipos de áreas de OSPF son:

■ Backbone area (area 0)
■ Standard area
■ Stub area
■ Totally stubby area
■ Not-so-stubby-area (NSSA)

Descripción del Laboratorio

El área backbone es esencialmente un área standard que ha sido designada como el punto central al que todas las otras áreas conectan. En esta práctica se realizará una configuración de OSPF con el fin de entender como se comunican los equipos bajo un entorno OSPF en una única área.

Objetivos de la práctica

  • Conocer el funcionamiento de OSPF
  • Montar un OSPF entre 2 routers.
  • Verificar la configuración realizada.

Topología

huawei-ospf-area0

Script de Configuración

<Huawei>system-view
[Huawei]sysname R1
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.0.1 24
[R1-GigabitEthernet0/0/0]quit
#
<Huawei>system-view
[Huawei]sysname R2
[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]ip address 192.168.0.2 24
[R2-GigabitEthernet0/0/0]quit
#
[R1]ospf 1 router-id 192.168.0.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 192.168.0.0 0.0.0.255
#
[R2]ospf 1 router-id 192.168.0.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 192.168.0.0 0.0.0.255

Configuración paso a paso

1. Asignar direcciones IP

R1

<Huawei>system-view 
[Huawei]sysname R1 
[R1]interface GigabitEthernet 0/0/0 
[R1-GigabitEthernet0/0/0]ip address 192.168.0.1 24 
[R1-GigabitEthernet0/0/0]quit

R2

<Huawei>system-view 
[Huawei]sysname R2 
[R2]interface GigabitEthernet 0/0/0 
[R2-GigabitEthernet0/0/0]ip address 192.168.0.2 24 
[R2-GigabitEthernet0/0/0]quit

Aunque la topología sea sencilla, ahora es el momento de ejecutar un ping y comprobar que los routers responden entre sí.

2. Configurar OSPF en un área

R1

[R1]ospf 1 router-id 192.168.0.1 
[R1-ospf-1]area 0 
[R1-ospf-1-area-0.0.0.0]network 192.168.0.0 0.0.0.255

R2

[R2]ospf 1 router-id 192.168.0.2 
[R2-ospf-1]area 0 
[R2-ospf-1-area-0.0.0.0]network 192.168.0.0 0.0.0.255

Comprobación

→ Para asegurarnos de que se ha configurado OSPF correctamente, ejecutamos  en R2 el siguiente comando display ospf brief:

huawei-area0-display-ospf-brief

Conclusión

Cómo has podido comprobar, levantar una red OSPF en un área única se trata de una configuración muy sencilla. Con esta configuración, ya tenemos a los dos routers compartiendo información acerca de la topologia de la red y de sus cambios. Este protocolo demuestra todo su potencial en redes de gran tamaño, en la que múltiples routers e infinidad de rutas, nos permiten crear redes con una alta capacidad de redundancia. Este tipo de enrutamiento es muy común en el escenario de los proveedores de servicio de internet (ISP y WISP), puesto que si algún nodo falla, la red converge rápidamente y no se pierde la conectividad.

En el Máster en Arquitectura de Redes de Operadores de Telecomunicaciones, en el curso HCIA Routing&Switching y en las certificaciones oficiales de MikroTik impartidas en loopback0 (MTCRE), explicamos en profundidad las características del ruteo OSPF así como sus diferentes técnicas de implementación.

wireshark-huawei-ospf-area-unica

 

En la captura resultante de esta configuración se puede comprobar el intercambio de paquetes entre los dos routers involucrados en el área backbone de este escenario OSPF.

 

La tabla RAW en MikroTik

¿Por qué usar la tabla RAW? O como mitigar un ataque DoS de manera eficiente

La entrada del blog que tiene la Oficina de Seguridad del Internauta española, explica perfectamente la descripción de los ataques DoS. De esta descripción, cabe destacar lo siguiente:

«En los ataques DoS se generan una cantidad masiva de peticiones al servicio desde una misma máquina o dirección IP, consumiendo así los recursos que ofrece el servicio hasta que llega un momento en que no tiene capacidad de respuesta y comienza a rechazar peticiones, esto es cuando se materializa la denegación del servicio.

En el caso de los ataques DDoS, se realizan peticiones o conexiones empleando un gran número de ordenadores o direcciones IP. Estas peticiones se realizan todas al mismo tiempo y hacia el mismo servicio objeto del ataque. Un ataque DDoS es más difícil de detectar, ya que el número de peticiones proviene desde diferentes IP´s y el administrador no puede bloquear la IP que está realizando las peticiones, como sí ocurre en el ataque DoS.»

La plataforma RouterOS de MikroTik, posee un cortafuegos de estado completo (stateful firewall) que, entendiendo su funcionamiento en profundidad, nos permite mitigar este tipo de ataques.

Descripción

MikroTik describe en su wiki el funcionamiento de la tabla RAW como la que permite omitir o eliminar paquetes de forma selectiva antes de que se produzca el seguimiento de la conexión (connection tracking), de manera que reduce la carga de la CPU significativamente. Es por esto que es una herramienta muy útil para mitigar los ataques de denegación de servicio.

Cómo podemos acceder a la tabla Raw

Para acceder a la tabla Raw a través de WinBox, se accede entrando en el menú lateral a IPFirewall donde se abrirá una pestaña y elegiremos la opción Raw y ahí podremos crear tablas Raw haciendo click en el mas.

mikrotik-ip-firewall-raw

 

Diferencias entre la tabla Raw y Filter Rules

  • Si observamos bien la imagen siguiente, en la que se muestra la comparación entre tabla Filter Rules y tabla Raw, veremos que los campos se parecen, hasta In Interface List y Out Interface List.
  • La tabla Filter Rules es diferente, ya que consta de una parte de Marcado y otra de Conexión.
  • La tabla Filter Rules, permite definir reglas mucho más precisas con respecto al «matching» y a la acción a realizar.

mikrotik-ip-firewall-raw-vs-filter

 

Pero, ¿esto por qué? Comparando con la tabla NAT

  • Si observamos la tabla Raw, veremos que en la opción Chain (cadena), hay solo dos opciones, prerouting y output (Figura 2), donde el realizar el marcado de paquetes y la conexión se nos antoja innecesario ya que, según la arquitectura del Packet Flow, el funcionamiento del prerouting y el output se produce previo al marcado de paquetes y la conexión y no después.mikrotik-raw-chain

 

mikrotik-prerouting-output

  • En cambio, en la opción Chain (cadena) de la tabla NAT veremos que aparecen dos opciones, que son dstnat y srcnat, y podemos apreciar que la acción se realiza después de que se haga el marcado de conexiones y Mangle.

mikrotik-nat-chain

 

mikrotik-prerouting-postrouting

Conclusión

La funcionalidad del cortafuegos de RouterOS es una de las características en las que merece la pena detenerse a comprender.

Configurando correctamente la tabla RAW, mejoramos la eficiencia del procesado de las reglas ya que la toma de decisiones, hará un recorrido más sencillo por el packet flow.

Con este recorrido más sencillo, optimizamos la carga de trabajo que le estamos forzando a la CPU. Como final de este artículo y un detalle en el que siempre hacemos hincapié (aunque sea obvio). RouterOS posee un cortafuegos que, configurado eficientemente nos va a ayudar en varios escenarios, pero ¡RouterOS es un router! Su funcionalidad principal es la de enrutar, no la de cortafuegos. Los diferentes fabricantes de firewalls existentes, diseñan los cortafuegos con electrónica específica destinada únicamente a la inspección profunda de los paquetes y a la toma de decisiones con respecto a ellos. Cada dispositivo tiene su función concreta por lo que es necesario planear la situación y configuración en la red de cada uno de ellos de manera que se dediquen óptimamente a su trabajo específico.

En el Máster en Arquitectura de Redes de Operadores de Telecomunicaciones y en las certificaciones oficiales de MikroTik impartidas en loopback0 (tanto MTCTCE como MTCSE), explicamos en profundidad las características de cortafuegos y sus «mejores prácticas».

 

BGP – iBGP con Huawei

¿Por qué usar BGP?

A medida que nuestros alumnos asistentes al Máster en Arquitectura de Redes de Operadores de Telecomunicaciones aprenden protocolos de enrutamiento dinámicos, nos suelen hacer esta pregunta. ¿Por qué usar BGP?
Y la respuesta es: «because BGP means Big Guys Protocol»

BGP (Border Gateway Protocol) es el protocolo por el cual funciona internet. Este único motivo debería bastar para que desees profundizar acerca de su funcionamiento. Sin embargo, existen varios argumentos que sustentan el uso de BGP como protocolo de ruteo dinámico.

Destaca que es un protocolo simple de implementar y operar y que utiliza una métrica sencilla para las distancias. Además, por definición, oculta las políticas locales de las externas. También cabe destacar que es un protocolo maduro y que no necesita de gran coordinación entre organizaciones para compartir rutas.

Con esta entrada del blog, comenzamos con una serie de configuraciones utilizando el protocolo BGP. Empezaremos gradualmente con configuraciones básicas e iremos integrando diferentes fabricantes.

Breve descripción de BGP

RFC 1654 definió el Border Gateway Protocol (BGP) como un protocolo de enrutamiento que proporciona escalabilidad, flexibilidad y estabilidad de la red. Cuando se creó BGP, la principal consideración de diseño fue la conectividad entre organizaciones en redes públicas, como Internet, o en redes privadas dedicadas. BGP es el único protocolo que se utiliza para intercambiar información de las redes en Internet. BGP no anuncia actualizaciones incrementales ni actualiza los anuncios de redes como sí hace OSPF o IS-IS. BGP prefiere la estabilidad dentro de la red, porque un link flap (cambio brusco del enlace) podría dar lugar a recalcular miles de rutas.

BGP considera un sistema autónomo (AS) como un conjunto de routers controlados por una sola organización. Este AS puede tener dispositivos comunicando rutas dentro de él mismo (lo que se denomina IGP) y con otros AS (denominado como EGP). Si además, este intercambio de rutas se produce mediante el protocolo BGP, este procedimiento se conoce como iBGP o eBGP (internal BGP o external BGP).

Si habéis leído el RFC al comienzo de este artículo, y como destacamos anteriormente, estamos hablando de un protocolo maduro, lo que ha permitido que sea ampliamente conocido, implantado, discutido, optimizado, etc. Para profundizar en el funcionamiento de este protocolo, tenemos los siguientes documentos:

■ RFC 4271, A Border Gateway Protocol 4 (BGP-4)
■ RFC 4456, BGP Route Reflection – An Alternative to Full Mesh Internal BGP (iBGP)
■ RFC 4278, Standards Maturity Variance Regarding the TCP MD5 Signature Option (RFC 2385) and the BGP-4 Specification
■ RFC 4277, Experience with the BGP-4 Protocol
■ RFC 4276, BGP-4 Implementation Report
■ RFC 4275, BGP-4 MIB Implementation Survey
■ RFC 4274, BGP-4 Protocol Analysis
■ RFC 4273, Definitions of Managed Objects for BGP-4
■ RFC 4272, BGP Security Vulnerabilities Analysis
■ RFC 3392, Capabilities Advertisement with BGP-4
■ RFC 5065, Autonomous System Confederations for BGP
■ RFC 2918, Route Refresh Capability for BGP-4
■ RFC 1772, Application of the Border Gateway Protocol in the Internet Protocol (BGP-4) using SMIv2
■ RFC 4893, BGP Support for Four-octet AS Number Space

Sí. Es un protocolo «simple», ¿verdad?.

No es tan complicado de implementar como veremos a continuación.

Descripción del Laboratorio

Cuando un BGP se ejecuta entre dos peers (vecinos) con el mismo AS, se considera un iBGP (Internal BGP).

Para ello, en esta práctica, se han configurado un iBGP entre routers con el mismo AS con el fin de mostrar como es el funcionamiento y la configuración de un iBGP.

Objetivos de la práctica

  • Conocer el funcionamiento de iBGP.
  • Montar un iBGP entre 2 routers.
  • Verificar la configuración realizada.

Topología

 

Script de Configuración

<Huawei>system-view
[Huawei]sysname R1
[R1]interface GigabitEthernet 0/0/0 
[R1-GigabitEthernet0/0/0]ip address 10.200.1.1 30 
[R1-GigabitEthernet0/0/0]quit
[R1]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.100.1 24
[R1-GigabitEthernet0/0/1]quit
[R1]interface loopback 0
[R1-LoopBack0]ip address 10.0.1.1 32
[R1-LoopBack0]quit
#
<Huawei>system-view
[Huawei]sysname R2
[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]ip address 10.200.1.2 30
[R2-GigabitEthernet0/0/0]quit
[R2]interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1]ip address 172.16.100.2 24
[R2-GigabitEthernet0/0/1]quit
[R2]interface LoopBack 0
[R2-LoopBack0]ip address 10.0.2.2 32
[R2-LoopBack0]quit
#
<Huawei>system-view
[Huawei]sysname R3
[R3]interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1]ip address 192.168.100.3 24
[R3-GigabitEthernet0/0/1]quit
[R3]interface LoopBack 0
[R3-LoopBack0]ip address 10.0.3.3 32
[R3-LoopBack0]quit
#
<Huawei>system-view
[Huawei]sysname R4
[R4]interface GigabitEthernet 0/0/1
[R4-GigabitEthernet0/0/1]ip address 172.16.100.4 24
[R4-GigabitEthernet0/0/1]quit
[R4]interface LoopBack 0
[R4-LoopBack0]ip address 10.0.4.4 32
[R4-LoopBack0]quit
#
[R1]bgp 64501
[R1-bgp]router-id 10.0.1.1
[R1-bgp]peer 192.168.100.3 as-number 64501
[R1-bgp]network 10.0.1.1 32
[R1-bgp]quit
#
[R3]bgp 64501
[R3-bgp]router-id 10.0.3.3
[R3-bgp]peer 192.168.100.1 as-number 64501
[R3-bgp]network 10.0.3.3 32
[R3-bgp]quit
#
[R2]bgp 64502
[R2-bgp]router-id 10.0.2.2
[R2-bgp]peer 172.16.100.4 as-number 64502
[R2-bgp]network 10.0.2.2 32
[R2-bgp]quit
#
[R4]bgp 64502
[R4-bgp]router-id 10.0.4.4
[R4-bgp]peer 172.16.100.2 as-number 64502
[R4-bgp]network 10.0.4.4 32
[R4-bgp]quit

Configuración paso a paso

1. Asignar direcciones IP

 

R1

<Huawei>system-view
[Huawei]sysname R1
[R1]interface GigabitEthernet 0/0/0 
[R1-GigabitEthernet0/0/0]ip address 10.200.1.1 30 
[R1-GigabitEthernet0/0/0]quit
[R1]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.100.1 24
[R1-GigabitEthernet0/0/1]quit
[R1]interface loopback 0
[R1-LoopBack0]ip address 10.0.1.1 32
[R1-LoopBack0]quit

R2

<Huawei>system-view
[Huawei]sysname R2
[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]ip address 10.200.1.2 30
[R2-GigabitEthernet0/0/0]quit
[R2]interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1]ip address 172.16.100.2 24
[R2-GigabitEthernet0/0/1]quit
[R2]interface LoopBack 0
[R2-LoopBack0]ip address 10.0.2.2 32
[R2-LoopBack0]quit

R3

<Huawei>system-view
[Huawei]sysname R3
[R3]interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1]ip address 192.168.100.3 24
[R3-GigabitEthernet0/0/1]quit
[R3]interface LoopBack 0
[R3-LoopBack0]ip address 10.0.3.3 32
[R3-LoopBack0]quit

R4

<Huawei>system-view
[Huawei]sysname R4
[R4]interface GigabitEthernet 0/0/1
[R4-GigabitEthernet0/0/1]ip address 172.16.100.4 24
[R4-GigabitEthernet0/0/1]quit
[R4]interface LoopBack 0
[R4-LoopBack0]ip address 10.0.4.4 32
[R4-LoopBack0]quit

2. Montar un iBGP entre el R1 y R3

 

R1

[R1]bgp 64501 (1)
[R1-bgp]router-id 10.0.1.1 (2)
[R1-bgp]peer 192.168.100.3 as-number 64501 (3)
[R1-bgp]network 10.0.1.1 32 (4)
[R1-bgp]quit
1 Activación del BGP.
2 Asignamos como router-id el 10.0.1.1.
3 Definimos como peer al 192.168.100.3 cuyo AS es el 64501.
4 Anumciamos la red 10.0.1.1/32.

R3

[R3]bgp 64501 (1)
[R3-bgp]router-id 10.0.3.3 (2)
[R3-bgp]peer 192.168.100.1 as-number 64501 (3)
[R3-bgp]network 10.0.3.3 32 (4)
[R3-bgp]quit
1 Activación del BGP.
2 Asignamos como router-id el 10.0.3.3.
3 Definimos como peer al 192.168.100.1 cuyo AS es el 64501.
4 Anunciamos la red 10.0.3.3/32.

3. Montar un iBGP entre el R2 y R4

 

R2

[R2]bgp 64502 (1)
[R2-bgp]router-id 10.0.2.2 (2)
[R2-bgp]peer 172.16.100.4 as-number 64502 (3)
[R2-bgp]network 10.0.2.2 32 (4)
[R2-bgp]quit
1 Activación del BGP.
2 Asignamos como router-id el 10.0.2.2.
3 Definimos como peer al 172.16.100.4 cuyo AS es el 64502.
4 Anunciamos la red 10.0.2.2/32.

R4

[R4]bgp 64502 (1)
[R4-bgp]router-id 10.0.4.4 (2)
[R4-bgp]peer 172.16.100.2 as-number 64502 (3)
[R4-bgp]network 10.0.4.4 32 (4)
[R4-bgp]quit
1 Activación del BGP.
2 Asignamos como router-id el 10.0.4.4.
3 Definimos como peer al 172.16.100.2 cuyo AS es el 64502.
4 Anunciamos la red 10.0.4.4/32.

Comprobación

→ Para asegurarnos de que se ha configurado iBGP correctamente, ejecutamos el siguiente comando display ip routing-table:

Esta imagen muestra un display ip routing-table del R3
Figura 1. Esta imagen muestra un display ip routing-table del R3

 

Esta imagen muestra un display ip routing-table del R4

Figura 2. Esta imagen muestra un display ip routing-table del R4

Conclusión

Como has podido comprobar, con muy pocos comandos ya tenemos a nuestros routers Huawei compartiendo rutas dentro del mismo AS mediante el protocolo BGP. Esta sencilla configuración, con muy pocos cambios, nos permitirá también compartir rutas entre distintos AS.

Seguro que ahora eres capaz de implementar y distinguir entre que routers consideramos iBGP y cuales consideramos eBGP.

Huawei iBGP

 

En la captura resultante de esta configuración se puede comprobar el intercambio de mensajes entre los dos routers involucrados en la negociación de este iBGP.