En este post se representará un escenario donde simulamos que redes de internet se están comunicando con una red ISP a través de un Carrier. Los prefijos y ASN utilizados son sólo para emular el laboratorio generado en eve-ng
Configuración de router Facebook
Este router se usa para simular comunicación hacia Facebook. Como el router tiene su propio ASN esta publicando el prefijo 1.1.1.0/24 mediante BGP.
1 Configurar direccionamiento en las interfaces.
Este equipo tiene dos enlaces, uno hacia el router de Alestra y otro hacia un servidor que es a donde deben conectarse los clientes de la red ISP.
/ip address
add address=1.1.1.1/30 comment=to-Alestra interface=ether1 network=1.1.1.0
add address=1.1.1.5/30 comment=to-Server-Facebook interface=ether2 network=1.1.1.4
2 Anuncio de rutas mediante BGP
Agregamos el ASN dentro de la instancia default del Mikrotik.
/routing bgp instance set default as=100
Agregamos la red para que BGP se encargue de publicarlas a los demás peer.
/routing bgp network add network=1.1.1.0/24 synchronize=no
Establecemos el peer con nuestro vecino.
/routing bgp peer add name=peer-to-alestra remote-address=1.1.1.2 remote-as=300
3 Configuración Servidor Facebook
Configuración de router Google
De la misma forma en como configuramos el router Facebook, en este configuraremos el peer hacia el router Alestra con la diferencia que aquí estamos anunciando dos prefijos, el 2.2.2.0/24 y el 8.8.8.0/24.
1 Configurar direccionamiento en las interfaces.
/ip address
add address=2.2.2.1/24 comment=to-Alestra interface=ether1 network=2.2.2.0
add address=8.8.8.2/24 comment=to-Server-Google interface=ether2 network=8.8.8.0
2 Configurar el enrutamiento BGP
/routing bgp network
add network=2.2.2.0/24 synchronize=no
add network=8.8.8.0/24 synchronize=no
#
/routing bgp instance set default as=200
#
/routing bgp peer add name=peer-to-alestra remote-address=2.2.2.2 remote-as=300
3 Configuración Servidor Google
Configuración de router Alestra
Para este laboratorio hemos colocado Alestra como representación de un Carrier, por lo cual sólo hemos puesto valores ficticios con el fin de la práctica. El prefijo anunciado por este router es el 3.3.3.0/24.
1 Configurar direccionamiento en las interfaces.
/ip address
add address=1.1.1.2/30 comment=to-Facebook interface=ether1 network=1.1.1.0
add address=2.2.2.2/24 comment=to-Google interface=ether2 network=2.2.2.0
add address=3.3.3.1/24 comment=to-ISP-Borde interface=ether3 network=3.3.3.0
2 Configurar el enrutamiento BGP
#
/routing bgp network add network=3.3.3.0/24 synchronize=no
#
/routing bgp instance set default as=300 redistribute-connected=yes
#
/routing bgp peer
add name=peer-to-facebook remote-address=1.1.1.1 remote-as=100
add name=peer-to-google remote-address=2.2.2.1 remote-as=200
add name=peer-to-isp-borde remote-address=3.3.3.2 remote-as=400
#
Configuración de router ISP-Borde
Este router viene a representar a un ISP que esta haciendo peering con su Carrier (Alestra para esta práctica), por lo lo que este anuncia su prefijo hacia el Carrier mediante BGP y recibe las rutas de internet en su tabla de ruteo.
1 Configurar direccionamiento en las interfaces.
/ip address
add address=3.3.3.2/24 comment=to-Alestra interface=ether1 network=3.3.3.0
add address=4.4.5.254/24 comment=to-ISP-Core interface=ether2 network=4.4.5.0
2 Configurar el enrutamiento BGP
#
/routing bgp network
add network=4.4.4.0/24 synchronize=no
add network=4.4.5.0/24 synchronize=no
#
/routing bgp instance set default as=400
#
/routing bgp peer add name=peer-to-alestra remote-address=3.3.3.1 remote-as=300
#
Configuración de router ISP-Core
Este router viene a representar un router de agregación donde estamos colocando a los clientes de la red. Se ha puesto que el enlace hacia el borde use las ips públicas de la red para que se pueda natear directamente desde el router core.
1 Configurar direccionamiento en las interfaces.
/ip address
add address=4.4.5.2/24 comment=to-ISP-Borde interface=ether1 network=4.4.5.0
add address=192.168.9.254/24 comment=to-Cliente-Final interface=ether8 network=192.168.9.0
2 Colocamos la ruta por defecto hacia el router de borde
/ip route add distance=1 gateway=4.4.5.254
3 Agregamos el NAT para salida a internet de los clientes
/ip firewall nat add action=masquerade chain=srcnat out-interface=ether1
Verificación en cliente final
1 Configuración Laptop Cliente Final
2 Validación del Ping
Si entramos al equipo de laptop que tenemos conectado al ISP-Core, podemos hacer un ping a 8.8.8.8 y veremos como obtenemos respuesta.
Dentro de la tabla de ruteo del Mikrotik ISP-Borde podemos ver como se estan recibiendo las rutas de las redes simuladas en internet.
Nota
Dado que tenemos un enlace hacia el router Alestra donde usamos el prefijo completo, la ruta recibida por BGP se observa secundaria respetando la prioridad de las rutas directamente conectadas.
26/08/2024, 16:49 #2Conclusiones de la práctica.
Escenario 1.- Hacer full routing
Pregunta1.- ¿Alestra va a tomar las rutas de facebook y google cuando haga sesion BGP? Si, En este escenario el router Alestra esta simulando ser un Carrier con conexión directa en los datacenter de Facebook y Google, por lo que recibe directamente las redes medianrte peering BGP.
¿Dónde se ven las rutas? Dado que estamos en un router Mikrotik, las rutas las podemos observar en la tabla de ruteo del router
Vemos que estan las redes 1.1.1.0/24 de facebook y 2.2.2.0/24, 8.8.8.0/24 de google. Debes poder hacer ping al 1.1.1.1, 2.2.2.1 y 8.8.8.8
Para que las rutas se propaguen activamos la opcion redistribute-connected=yes
Pregunta2.- El router ISP-Borde va a tomar las rutas de Alestra, facebook y google cuando haga sesion BGP? Si, las va recibir directamente del carrier alestra. Pero tenemos que habilitar la opcion Redistrbute Connected en BGP
¿Dónde veo las rutas?
Pruebas de PING :
Prueba 2.-
Realizar ping 1.1.1.1 facebook, ping 2.2.2.1 y 8.8.8.8 google. Desde la Laptop
¿Cuántos saltos tengo desde la laptop hacia google 8.8.8.8?
¿Cuántos saltos tengo desde la laptop hacia el carrier alestra 3.3.3.1?
¿Cuántos saltos tengo desde la el carrier Alestra hacia google 8.8.8.8?
¿Cuántos saltos tengo desde el ISP-Borde hacia google 8.8.8.8 y faceboo 1.1.1.1?
Prueba 3.- ¿Qué pasa si anuncio solo la red 4.4.5.0/24 en ISP Borde e intento usar la red 4.4.6.0/24 en el router ISP Core, es decir agrego las ips necesarias en ip/address o rutas necesarias en ip/routes. Tendre conexion a google y facebook desde ISP-Core?
Respuesta: No tendras conexion ya que la red 4.4.4.6.0/24 no está anunciada en ISP Borde. Todos los equipos conectados bajo el router ISP Borde no podran usar ips que no esten anunciadas en BGP.
Ver ejemplo de usar red 4.4.6.0/24 sin estar anunciada, No hay Ping
¿Cómo resolveriamos esto? La forma más fácil sería que en el ISP-Borde agreguemos el segmento 4.4.6.0/24 dentro de las redes anunciadas hacia el Carrier. Eso se hace en Routing>BGP
Nos vamos a ISP Borde y anunciamos al rede 4.4.6.0/24
Nos vamos a ISP Core y debemos dar ping a google
![]()
27/08/2024, 10:38 #3Configuración Escenario 1 Full routing BGP
CONFIGURACION DE ROUTER FACEBOOK
#
/ip address
add address=1.1.1.1/30 comment=to-Alestra interface=ether1 network=1.1.1.0
add address=1.1.1.5/30 comment=to-Server-Facebook interface=ether2 network=1.1.1.4
#
/ip dhcp-client add disabled=no interface=ether3
#
/routing bgp network add network=1.1.1.0/24 synchronize=no
/routing bgp instance set default as=100
/routing bgp peer add name=peer-to-alestra remote-address=1.1.1.2 remote-as=300
#
/system identity set name=Facebook
/tool romon set enabled=yes
#
CONFIGURACION DE ROUTER GOOGLE
#
/ip address
add address=2.2.2.1/24 comment=to-Alestra interface=ether1 network=2.2.2.0
add address=8.8.8.2/24 comment=to-Server-Google interface=ether2 network=8.8.8.0
#
/routing bgp network
add network=2.2.2.0/24 synchronize=no
add network=8.8.8.0/24 synchronize=no
/routing bgp instance set default as=200
/routing bgp peer add name=peer-to-alestra remote-address=2.2.2.2 remote-as=300
#
/system identity set name=Google
/tool romon set enabled=yes
#
CONFIGURACION DE ROUTER ALESTRA
#
/ip address
add address=1.1.1.2/30 comment=to-Facebook interface=ether1 network=1.1.1.0
add address=2.2.2.2/24 comment=to-Google interface=ether2 network=2.2.2.0
add address=3.3.3.1/24 comment=to-ISP-Borde interface=ether3 network=3.3.3.0
#
/routing bgp network add network=3.3.3.0/24 synchronize=no
#
/routing bgp instance set default as=300 redistribute-connected=yes
#
/routing bgp peer
add name=peer-to-facebook remote-address=1.1.1.1 remote-as=100
add name=peer-to-google remote-address=2.2.2.1 remote-as=200
add name=peer-to-isp-borde remote-address=3.3.3.2 remote-as=400
#
/system identity set name=Alestra
/tool romon set enabled=yes
#
CONFIGURACION DE ROUTER ISP-BODER
#
/ip address
add address=3.3.3.2/24 comment=to-Alestra interface=ether1 network=3.3.3.0
add address=4.4.5.254/24 comment=to-ISP-Core interface=ether2 network=4.4.5.0
#
/routing bgp network
add network=4.4.4.0/24 synchronize=no
add network=4.4.5.0/24 synchronize=no
#
/routing bgp instance set default as=400
#
/routing bgp peer add name=peer-to-alestra remote-address=3.3.3.1 remote-as=300
#
/system identity set name=ISP-Borde
/tool romon set enabled=yes
#
CONFIGURACION DE ROUTER ISP-CORE
#
/ip address
add address=4.4.5.2/24 comment=to-ISP-Borde interface=ether1 network=4.4.5.0
add address=192.168.9.254/24 comment=to-Cliente-Final interface=ether8 network=192.168.9.0
#
/ip firewall nat add action=masquerade chain=srcnat out-interface=ether1
#
/ip route add distance=1 gateway=4.4.5.254
#
/system identity set name=ISP-Core
/tool romon set enabled=yes
#
Laboratorio EVE NG
Laboratorio-anuncio-de-redes BGP.zip
27/08/2024, 13:41 #4Escenario 2 BGP - Ruta por defecto
Supongamos que tenemos el mismo escenario anterior donde un ISP tiene que colocar su sesión BGP con el Carrier para anunciarse a internet. Quizás no se tenga un equipo con los suficientes recursos para recibir todas las rutas hacia internet (Full Routing).
El ejemplo de arriba donde salen todas las rutas en Alestra e ISP-Borde es un ejemplo de full routing, en un escenario real nuestra tabla mostraria alrededor de 800 mil rutas, que son todas las conexiones a internet, a todos los servidores, incluidos foroisp.com
Entonces podemos plantearle al Carrier que sólo nos entregue una ruta por defecto en nuestro ISP-Border. Para ellos el Carrier dentro del Router Alestra deberá colocar unos filtros de salida en el peer hacia el router ISP-Border y habilitar que propague una ruta por defecto.
Configuramos filtro de Accept
Configuramos filtro de discard
Debemos tener estas 2 reglas
Activamos el filtro en el Peer de ISP-Borde
Nos vamos a ISP Borde
Si observamos la tabla de ruteo del ISP-Borde podremos comprobar que en ves de recibir las rutas de Facebook y Google, estamos recibiendo una ruta por default mediante BGP.
Prueba 2.- ping 1.1.1.1 facebook, ping 2.2.2.1, 8.8.8.8 google. Si la laptop logra hacer ping es porque ISP Borde, su sesion [COLOR=var(--clrSquiggleHighlightTextColor,#000000)]bgp es correcto y tiene conexion hasta google[/COLOR]
Comprobamos dentro de la laptop 'Cliente Final' con ping hacia las ips de los servidores Facebook y Google. Vemos como se sigue teniendo conectividad pero ahora se tiene gracias a la ruta por defecto que se recibe del Carrier.
Prueba 3: ¿Qué pasa si anuncio solo la red 4.4.5.0/24 en ISP Borde e intento usar la red 4.4.6.0/24 en el router ISP Core, es decir agrego las ips necesarias en ip/address o rutas necesarias en ip/routes. Tendre conexion a google y facebook desde ISP-Core?
Respuesta: No tendras conexion ya que la red 4.4.4.6.0/24 no esta anunciada en ISP Borde. Todos los equipos conectados bajo el router ISP Borde no podran usar ips que no esten anunciadas en BGP
Para resolverlo sigue los pasos de la Prueba 3.- del ejemplo de full routing.
27/08/2024, 15:08 #5Configuración Escenario 2 BGP - Ruta por defecto
CONFIGURACION DE ROUTER FACEBOOK
#
/ip address
add address=1.1.1.1/30 comment=to-Alestra interface=ether1 network=1.1.1.0
add address=1.1.1.5/30 comment=to-Server-Facebook interface=ether2 network=1.1.1.4
#
/ip dhcp-client add disabled=no interface=ether3
#
/routing bgp network add network=1.1.1.0/24 synchronize=no
/routing bgp instance set default as=100
/routing bgp peer add name=peer-to-alestra remote-address=1.1.1.2 remote-as=300
#
/system identity set name=Facebook
/tool romon set enabled=yes
#
CONFIGURACION DE ROUTER GOOGLE
#
/ip address
add address=2.2.2.1/24 comment=to-Alestra interface=ether1 network=2.2.2.0
add address=8.8.8.2/24 comment=to-Server-Google interface=ether2 network=8.8.8.0
#
/routing bgp network
add network=2.2.2.0/24 synchronize=no
add network=8.8.8.0/24 synchronize=no
/routing bgp instance set default as=200
/routing bgp peer add name=peer-to-alestra remote-address=2.2.2.2 remote-as=300
#
/system identity set name=Google
/tool romon set enabled=yes
#
CONFIGURACION DE ROUTER ALESTRA
#
/routing filter
add action=accept chain="BGP - OUT" prefix=0.0.0.0/0
add action=discard chain="BGP - OUT"
#
/ip address
add address=1.1.1.2/30 comment=to-Facebook interface=ether1 network=1.1.1.0
add address=2.2.2.2/24 comment=to-Google interface=ether2 network=2.2.2.0
add default-originate=always name=peer-to-isp-border out-filter="BGP - OUT" remote-address=3.3.3.2 remote-as=400
#
/routing bgp network add network=3.3.3.0/24 synchronize=no
#
/routing bgp instance set default as=300 redistribute-connected=yes
#
/routing bgp peer
add name=peer-to-facebook remote-address=1.1.1.1 remote-as=100
add name=peer-to-google remote-address=2.2.2.1 remote-as=200
add name=peer-to-isp-borde remote-address=3.3.3.2 remote-as=400
#
/system identity set name=Alestra
/tool romon set enabled=yes
#
CONFIGURACION DE ROUTER ISP-BODER
#
/ip address
add address=3.3.3.2/24 comment=to-Alestra interface=ether1 network=3.3.3.0
add address=4.4.5.254/24 comment=to-ISP-Core interface=ether2 network=4.4.5.0
#
/routing bgp network
add network=4.4.4.0/24 synchronize=no
add network=4.4.5.0/24 synchronize=no
#
/routing bgp instance set default as=400
#
/routing bgp peer add name=peer-to-alestra remote-address=3.3.3.1 remote-as=300
#
/system identity set name=ISP-Borde
/tool romon set enabled=yes
#
CONFIGURACION DE ROUTER ISP-CORE
#
/ip address
add address=4.4.5.2/24 comment=to-ISP-Borde interface=ether1 network=4.4.5.0
add address=192.168.9.254/24 comment=to-Cliente-Final interface=ether8 network=192.168.9.0
#
/ip firewall nat add action=masquerade chain=srcnat out-interface=ether1
#
/ip route add distance=1 gateway=4.4.5.254
#
/system identity set name=ISP-Core
/tool romon set enabled=yes
#
hoy, 14:26 #6Pruebas
Prueba 1: Agrega router ISP-Zona2 conectado a isp-borde y que use la red publica 4.4.7.0/24, luego agregas una laptop y puedas hacer ping hacia .8.8.8, 1.1.1.1, 2.2.2.1, 3.3.3.1
Prueba 2: Ahora elimina router ISP-zona2, y conecta una laptop en ether3 directamente a ISP Borde, y asigna una ip de la red 4.4.7.0/24. Luego has ping a 8.8.8.8, 1.1.1.1, 2.2.2.1, 3.3.3.1
Prueba 3: Agrega una sesion BGP con alestra con el ASN 500, con router ISP borde2, ISP Core 2 y laptop. Usaras la red 5.5.4.0/22, lo subneteas a /24, y solo anuncia la red 5.5.6.0/24 en isp borde.
ISP Borde2 -> ASN 500, red 5.5.4.0/22, subnetear a /24 y usar 5.5.6.0/24
Puedes hacer ping al 8.8.8.8, 1.1.1.1, 2.2.2.1, 3.3.3.1 desde isp Borde2, ispcore2 y la laptop?
Prueba 4: hacer sesion bgp Carrier cirion ASN 600 solo con google, luego agregas isp borde 3, isp core 3 y su laptop.
Cirion ASN 600 – red 6.6.6.0/24
ISPBorde 3 ASN 700, red 7.7.4.0/22, solo usara la red 7.7.7.0/24