Pasos basicos: Como configurar BGP en tu Mikrotik con PitChile
Aqui les adjunto el manual de cortapalo de como configurar BGP en tu router Mikrotik para conectarlo a Pit Chile.
Los supuestos de esta configuración son los siguientes:
El ASN de mi ISP de ejemplo es: AS6969
Tengo asignado por LACNIC un prefijo /22 que es el 200.100.48.0/22
Pit Chile me asigno la direccion IP de borde 200.23.206.6/24 de la vlan publica de peering.
La vlan de peering publico es la vlan nro.25
La interfaz de conexion a PIT en mi Mikrotik es la “Ether2”
Teniendo toda la información aqui va el paso a paso básico para tu Mikrotik:
1.- Activar modulo “routing” en tu Mikrotik.
con el comando “/system package print” puedes verificar que el modulo routing se encuentre activo, según el siguiente ejemplo:
Para activar el modulo debes ejecutar “/system package enable routing” y luego reiniciar tu router con el comando “/system reboot” para que tome los cambios.
2.- Configurar tu interfaz física hacia Pit Chile.
La configuración recomendada en estos casos es habilitar la puerta en modo trunk para poder recibir multiples vlan ademas de la vlan publica de peering (vlan25), esto te permitira a futuro dar o recibir servicios privados de otros miembros de PIT como por ejemplo contratar servicios de IP-Transit o servicios de IPTV para tus usuarios hogar o cualquier servicio que puedas dar o recibir mediante el protocolo IP (unicast).
Para verificar el estado de la interfaces, ejecutar /interface ethernet print
opcionalmente puedes re-nombrar la interfaz de ether2 donde ira conectada la puerta hacia Pit Chile por un nombre descriptivo como: “/interface ethernet set name=ether2-PitChile ether2”
Debemos crear la sub-interfaz para aceptar la vlan (esto es 802.1q) indicando que la vlan con id=25 se creara en la interface donde conectas con PitChile que es la ether2. ejecuta: “/interface vlan add interface=ether2 vlan-id=25 name=vlan25″. para verificar la correcta creación lo vez con ” /interface vlan print”
para finalizar configuras la direccion IP asignada por PitChile para el borde de tu router en la interfaz ether2-PitChile, recuerda que la mascara de red es 255.255.255.0 y podras llegar de un salto a todos y cada uno de los miembros de Pit Chile que conectan a la vlan publica de peering. Aregar la IP con el comando “/ip address add address=200.23.206.6/24 interface=ether2-PitChile” y para probar conectividad puedes hacer ping al route server 200.23.206.1 con “/ping 200.23.206.1”
3.- Configurar “instancia bgp”.
Aqui nos metemos al menu “routing->bgp” donde setearemos la configuracion básica del AS6969, en este caso utilizaremos la instancia “default” asumiendo una configuracion básica sin redistribucion de rutas y sin definición explicita del router-id. ejecutar “/routing bgp instance set default as=6969” y para verificar el estado: “/routing bgp instance print”
4.- Configuracion de “bgp networks”.
Esto sirve para que el BeGePe del Mikrotik sepa que redes debe anunciar. Se debe especificar el prefijo con la mascara en notacion de largo de bits, para este ejemplo 200.100.48.0/22. Se pueden agregar tantas redes como sean necesario, pero debes tener en consideracion que la mascara mas pequeña que acepta PitChile es un /24, osea para este ejemplo podria anunciar como maximo 7 prefijos que serían:
200.100.48.0/22
200.100.48.0/23
200.100.48.0/24
200.100.49.0/24
200.100.50.0/23
200.100.50.0/24
200.100.51.0/24
lo cual sirve para realizar ingeniería de tráfico o TE (traffic Engineering) pero que es para usuarios mas avanzados.
Vamos a agregar solo el /22 con el comando: “/routing bgp network add network=200.100.48.0/22” y para verificar la lista de networks ejecutamos: “/routing bgp network print”
5.- Creacion de “filtros BeGePe” básicos.
Lo primero es diferenciar que los “filtros bgp” son diferentes de los “filtros de paquetes” o “filtros de firewall” y no tienen relacion directa entre si. los filtros BGP sirven para restringir que prefijos se aprenden y/o publican hacia otro peer bgp. Tambien sirven para modificar los atributos de un prefijo recibido de otro peer bgp y/o para modificar los parametros de la publicacion de algun prefijo en particular para, por ejemplo, incorporar comunidades BGP.
Para este ejemplo crearemos dos filtros bgp:
Un filtro bgp de entrada que descartara:
- Prefijos mayores que /24 (osea un /27 o /29, etc.)
- Anuncios de redes invalidaso privadas (lea el RFC1918)
- Anuncios de redes localhost (ver RFC1122)
- Redes Multicast y bogons, etc.
- Mi propio segmento de red (200.100.48.0/22-24)
Ejemplo:
add action=discard chain=filterIN prefix=192.0.2.0/24 prefix-length=24-32
add action=discard chain=filterIN prefix=10.0.0.0/8 prefix-length=8-32
add action=discard chain=filterIN prefix=172.16.0.0/12 prefix-length=12-32
add action=discard chain=filterIN prefix=192.168.0.0/16 prefix-length=16-32
add action=discard chain=filterIN prefix=192.168.0.0/15 prefix-length=15-32
add action=discard chain=filterIN prefix=168.254.0.0/16 prefix-length=16-32
add action=discard chain=filterIN prefix=240.0.0.0/4 prefix-length=4-32
add action=discard chain=filterIN prefix=0.0.0.0/8 prefix-length=8-32
add action=discard chain=filterIN prefix=127.0.0.0/8 prefix-length=8-32
add action=discard chain=filterIN prefix=200.100.48.0/22 prefix-length=22-24
add action=accept chain=filterIN
Un filtro bgp de salida que solo permitira anunciar mi red
- permitir anuncio de 200.100.48.0/22-24
- descartar todo el resto
Ejemplo:
add action=accept chain=filterOUT prefix=200.100.48.0/22
add action=discard chain=filterOUT
6.- Habilitacion de “peer bgp” con el Route Server de Pit Chile.
Finalmente vamos a configurar la sesion bgp con los servidores de rutas de PitChile utilizando toda la configuración realizada en los pasos anteriores, utilizaremos el comando “/routing bgp peer add” según el siguiente ejemplo:
/routing bgp peer add remote-address=200.23.206.1 remote-as=61522 in-filter=filterIN out-filter=filterOUT m
ax-prefix-limit=13000 max-prefix-restart-time=15m
donde remote-address=200.23.206.1 corresponde a la IP remota del peer que queremos establecer, en este caso levantaremos la sesion con los dos route server de Pit que son la IP 1 y 2 de la red de peering publico.
con in-filter y out-filter estamos indicando que listas de filtros utilizar para entrada y salida respectivamente, se pueden tener multiples listas de filtros encadenadas.
el max-prefix-limit=13000 indica la cantidad maxima de prefijos que permitira recibir en la sesion bgp, al momento de escribir este articulo la recomendación es de 13.000 como maximo, para ver la recomendación actualizada favor verificar el registro del servidor de rutas de Pit Chile en la página de PeeringDB (click aqui)
En la opción max-prefix-restart-time se setea el plazo de tiempo despues del cual el router Mikrotik intentara levantar la sesion BGP despues de ocurrir un incidente de recibir mas prefijos de los definidos en el limite, ejemplo si se recibieran 13.100 prefijos la sesión BGP se desconectara con el error “max prefix reached” y mantendra la sesin GP desconectada por 15 minutos para volver a levantar la sesion.
Para verificar el estado de las sesiones bgp con el comando “/routing bgp peer print status” verificars si estan “established” u otro estado. El estado “active” indica que *no* esta establecida la sesion bgp.
7.- Otras configuraciones
Es importante indicar que para una correcta configuración se deben tener en cuenta otras configuraciones ademas del BGP que algunas son:
- configuracion de filtros de firewall de entrada (especialmente al puerto 179 del bgp)
- conf. filtros de forward, especialmente antispoofing (ver proyecto Caida)
- conf. filtro de forward para *no* ser transito de otras redes
- conf. filtro de Martian Routes
- Desactivar STP (Spaning Tree) si usas bridge hacia la interfz Pit Chile.
- Desactivar MNDP (Mikrotik Neighbor Discovery protocol)
- Desactivar MAC telnet server // MAC winbox server
- Aumentar el ARP Timeout a > 4h
Comments are currently closed.