Documentos de Académico
Documentos de Profesional
Documentos de Cultura
/ip address
Ciertamente los IP's asignados a las interfaces WAN deben de corresponder a los gateway de los routers
que tengan; osea, si tengo conectado un router con IP 10.0.1.1 al ether1, NO le voy a colocar 10.0.2.2 a
esta interfaz de red, ya que NO van a estar en el mismo rango. Ya más obvio vemos que ether5 será la
nueva puerta de enlace o gateway que tendrá ambos links de internet balanceados.
Como estamos viendo en la imágen, en este ejemplo contamos con 2 interfaces de red WAN, que son
ether1 y ether2, entonces tocará enmascarar cada una de ellas.
Si tuviéramos más interfaces de red WAN, entonces tocaría enmascarar TODAS y cada una de estas
interfaces.
3. Configurando las rutas, parte 1
Voy a separar la configuración de IP -> Route en 2 partes, una antes del balanceo, y otra cuando ya
empezaremos a balancear, esta primera parte no debe de ser nada nuevo ni especial para nosotros, ya
que se configura siempre hasta en lo más básico. Para hacerles recordar, aquí es donde configuramos las
puertas de enlace o gateways (GW) de los routers que tenemos.
/ip route
Bueno, sí hay algo nuevo, estas son los distance, y check-gateway, vamos a explicarlo desde lo más fácil.
No olvidar que si tenemos más gateways de otros routers, tenemos que agregarlos uno a uno, de
preferencia con distance distintos.
check-gateway, tal como su nombre lo indica, revisará el gateway que hemos configurado, ya sea por
ping o por ARP; en este caso está configurado con ping, así que hará un ping 'constante' al gateway
configurado y si no tiene respuesta, esta ruta se "desactivará" automáticamente. Si el ping vuelve a tener
respuesta, la ruta se volverá a "activar". Esto sirve como un tipo de failover muy básico, ya que sólo
responderá su apagamos o desconectamos el router con el IP al que apunta el ping.
distance, es la distancia de la ruta, "la ruta de menor distancia será la ruta predeterminada o ruta activa".
Es muy fácil de explicar con un ejemplo: En realidad hasta aquí ya deberíamos de tener internet, no
necesariamente balanceado ya que aún no hemos hecho la configuración del balanceo, pero sí
tendremos internet, entonces ¿Qué linea de internet se estará usando? como el gateway 10.0.1.1 tiene
la menor distancia, es por ahí donde saldrá el internet, entonces podemos decir que es la ruta activa o
ruta predeterminada. Si hacemos que el gateway 10.0.2.1 tenga una distancia menor, entonces ya será
por aquí por donde saldremos a internet, ya que la ruta activa cambiará.
Nota: Las rutas NO activas normalmente se tornan de un color azul, esto es absolutamente normal, en
realidad hacer el balanceo de carga sirve para poder utilizar las rutas no activas, y así aprovechar todos
los links de internet que tengamos.
Posiblemente aprenderse todo esto de las distancias no sea muy necesario para aquellos que trabajan
siempre desde el interior de su red, pero para los que trabajan desde internet, o sea, remotamente,
tomar en cuenta las distancias es muy importante.
Como acabo de decir, hasta este momento nosotros YA contamos con internet del mismo balanceador,
pero como aún no hemos hecho la configuración del balanceo, pues sólo tendremos internet de un solo
router. El principal objetivo de esta parte de la guía es aprender a partir conexiones en grupos y
agregarles una marca, ya con esa marca podremos enrutar esas conexiones entre los routers que
tengamos, logrando por fin el deseado balanceo... aunque esto último lo haremos más adelante en IP ->
Route.
Para poder entender mejor cómo será llevado este balanceo, dividiremos la configuración de mangle en
2 subpartes y un opcional:
4.1Primera parte, todo lo que entre por un WAN, debe salir por
el mismo WAN
En realidad vemos 2 partes más, las 2 primeras reglas marcan las nuevas conexiones que ingresan por
cada WAN: ether1 y ether2, los nombres de estas marcas de conexión son ether1_conn y ether2_conn.
Las 2 siguientes reglas marcan la ruta de esas conexiones, los nombre de estas marcas de routeo son
to_ether1 y to_ether2. Ya debemos de saber que cuando tenemos una marca de routeo, esta se termina
sacando por IP -> Route, que veremos más adelante.
Esta configuración es necesaria para las conexiones que entran desde internet. Por ejemplo, si me
conecto desde mi casa utilizando winbox al balanceador de un cliente en Japón, puedo ingresar por su
router B y de ahí al balanceador, y ciertamente debería de tener la respuesta por el mismo router B, pero
si no tuviera estas reglas, las conexiones saldrían por la ruta predeterminada, que podría ser el router A,
lo trae muchos problemas.
formando grupos
#Parte A
#Parte B
Una vez más tenemos 2 partes; las 2 primeras líneas (que hacen la Parte A) son marcas de conexión, y las
2 siguientes líneas (que hacen la Parte B) marcan la ruta de esas conexiones; los nombres de las marcas
de conexión y routeo son los mismos que vimos previamente. Vemos también que en las 2 primeras
reglas lo que se marca son las conexiones "de los clientes" que ingresan por ether5, que es la interfaz de
red LAN, y que son divididas utilizando per-connection-classifier o también llamado PCC. Para dividir 50 y
50 (por ciento), hemos utilizado 2/0 y 2/1, si se diera el caso que fueran 3 links de internet de igual
velocidad, cada marca de conexión debería de tener un per-connection-classifier de 3/0, 3/1, y 3/2
respectivamente.
Sí, parece una explicación barata, después de todo parte del "secreto" para balancear varios links de
internet y links de distinta velocidad se hace en esta segunda parte de Mangle, pero ya lo veremos con
más detalle dentro de nada.
Ya que estamos marcando todas las conexiones de nuestros clientes para llevarlas a uno y otro link de
internet, cuando queramos ingresar a cualquiera de nuestros routers no nos será posible, ya que
estamos obligados a salir a internet. La solución sería que las conexiones que tengan como destino
nuestros routers no sean marcados, en realidad es bastante simple, sólo debemos aceptar sus
conexiones.
CODE, HTML o PHP Insertado:
Nota: Estas reglas 2 reglas aceptando las conexiones con destino a nuestros routers deberían de estar
por encima de las demás reglas de Mangle, en especial las de la "Segunda parte".
El resultado de marcado de rutas en Mangle fue obtener 2 marcas de routeo, una para cada router o link
de internet, en este caso tenemos a to_ether1 y to_ether2, ambas rutas las tenemos que sacar por IP ->
Routes en un proceso parecido al que hicimos en la parte1 de "Configurando las rutas".
/ip route
La explicación es la misma que con la parte1, la diferencia aquí es que no se usan distancias ya que no
son necesarias, y se agrega la marca de routeo to_ether1 y to_ether2 en cada regla. Entonces, todo lo
que tenga marca to_ether1 saldrá por el router con GW 10.0.1.1 y todo lo que tenga marca to_ether2
saldrá por el router con GW 10.0.2.1
/ip address
En efecto, sólo es necesario agregar el IP que será el GW de nuestro balanceador, esta asignada al
ether5. Repito, no es necesario colocar un IP a ether1 o a ether2, ya que las verdaderas interfaces WAN
serán pppoe-out1 y pppoe-out2, cuyas IP se agregarán automáticamente en IP -> Addresses
Ya deben de saber que las reglas que se agregan automáticamente o dinámicamente, tienen una D al
lado izquierdo.
En este caso como nuestras interfaces WAN son pppoe-out1 y pppoe-out2, toca enmascarar ambas.
CODE, HTML o PHP Insertado:
Y como es de esperarse, si tuviéramos más conexiones WAN por PPPoE cliente, tocaría agregar a cada
una de ellas.
/ip route
Sobre las distancias, esto ya está explicado en este misma guía y en el manual que dejé. En este caso no
es necesario marcar hacer un check-gateway, ya que una de las ventajas de tener PPPoE cliente, es que
cuando uno de estos se desconecta, automáticamente la ruta se "desactiva", y como hablamos de una
conexión directa a internet, el failover es 'gratis'.
4. Configurando mangle, empieza la magia o los problemas para el que no pone atención
Es prácticamente lo mismo que la guía para router neutro, así que pasaré de largo la explicación del
proceso
4.1 Primera parte, todo lo que entre por un WAN, debe salir por el mismo WAN
4.2 Segunda parte, dividiendo las conexiones de los clientes y formando grupos
4.3 [Opcional] Tercera parte, accediendo a nuestros routers desde la red balanceada
Ciertamente pasaremos de largo este opcional, ya que no considero necesario que alguien quiera entrar
a su modem o router modo bridge; una vez configurado como tal, ¿qué más se va a querer configurar?
/ip route
A pesar de que este tipo de configuración se saca de las conclusiones de las 2 guías previas, tocará
ponerlo aquí para los más "ciegos". Ya el más avispado se habrá dado cuenta que la única diferencia está
en IP -> Route, que en el caso de router neutro se utiliza como GW el IP directamente, y en el caso de
PPPoE cliente sólo la interfaz.
1.
/ip address
2.
3.
/ip route
4.
4.1
CODE, HTML o PHP Insertado:
4.2
4.3
CODE, HTML o PHP Insertado:
5.
/ip route
Imagino que ya se sabrán al revés y al derecho cómo balancear 2 links de internet, pero ¿qué si
hablamos de 3 o 10 links de internet? En realidad al igual que la configuración mixta anterior, balancear
"n" links de internet se saca de las conclusiones de las guías de este mismo tema y con un poquitín de
análisis.
El único detalle interesante sería dividir las conexiones en grupos, ya sabemos que lo tenemos que hacer
utilizando per-connection-classifier, si son 2 links de internet utilizaremos 2/0 y 2/1, si son 3 links de
internet utilizaremos 3/0, 3/1, y 3/2, si son 4 links de internet mi instinto me dice que debería de ser
partido en 4, entonces sería 4/0, 4/1, 4/2, y 4/3, ya siguiendo la secuencia, podremos dividir las
conexiones hasta en "N" partes.
Voy a colocar las reglas para un balanceo de 3 links de internet marcando PPPoE cliente, tomando como
referencia el balanceo de 2 links de internet publicado aquí, así que las partes modificadas las pondré de
color verde, y las reglas añadidas de color rojo.
1.
/ip address
2.
3.
/ip route
4.1
4.2
4.3
5.
/ip route
Con esto ya es lo suficientemente fácil como hacer uno mismo balanceos de múltiples links de internet,
la única variación se encuentra en la primera parte del punto 4.2, que es donde se dividen las conexiones
y se les coloca una marca de conexión.
En el caso de 2 links de internet de igual velocidad, hemos usado 2/0 y 2/1 para dividir 50% y 50% las
conexiones de nuestros clientes, y colocado una marca de conexión a cada uno de los grupos.
En el caso de 3 links de internet de igual velocidad, hemos usado 3/0, 3/1, y 3/2 para dividir 33.3%,
33.3%, y 33.3% las conexiones de nuestros clientes, y colocado una marca de conexión a cada uno de los
grupos.
Ejemplo 1
Entonces, ¿Qué hacemos si nos toca balancear un link de 20MB y otro 10MB? En este caso sólo
tendríamos que designar más conexiones de nuestros clientes al link de internet de mayor ancho de
banda, como están en proporción de 2:1, deberíamos enviar dos tercios (66.6%) de las conexiones al link
de 20MB y el tercio de conexiones que nos queda (33.3%) al link de 10MB.
La manera de proceder no es tan difícil, sólo tendremos que modificar la primera parte del punto 4.2,
volviendo al ejemplo de tener 2 links de internet, uno de 20MB y otro de 10MB.
4.2
Si bien es un balanceo de 2 links de internet, dividí las conexiones en 3 partes, y si no lo han notado, las 2
primeras partes tienen la misma marca de conexión: pppoe-out1_conn y la tercera parte la marca de
conexión: pppoe-out2_conn
Entonces nuestro objetivo está cumplido, ya que el 66.6% (2 grupos de 33.3%) de la conexiones irán al
link de 20MB (suponiendo que este es pppoe-out1) y el 33.3% restante, al link de 10MB.
Ejemplo 2
Pongamos otro ejemplo, supongamos que tenemos 3 links de internet de 6MB, 2MB y 2MB, al simple
vista vemos una proporción de 3:1:1, por lo que le tendría que tocar el 60% de las conexiones a la
primera, el 20% a la segunda, y el 20% restante a la tercera.
4.2
En este caso dividí las conexiones en 5 grupos, 20% de conexiones en cada grupo; entonces, 3 grupos de
20% van al link pppoe-out1_conn, así que se lleva 60% del total de conexiones; 1 grupo se va con pppoe-
out2_conn, y el grupo restante de 20% se va con pppoe-out3_conn.
El mundo real
¿Qué pasaría si tenemos 2 links de internet de 5MB y 4MB? Como verán estos números son muy crueles
para hacer la configuración tal como está explicado en esta parte de la guía, ya que para hacerlo exacto
tendríamos que dividir las conexiones en 9 grupos, y asignar 5 grupos al link de 5MB, y 4 grupos al link
de 4MB, lo que harían muchas reglas.
En el mundo real este tipo de exactitud en la configuración no es tan crucial como se cree. Ya que si
volvemos al caso de 2 links de 5MB y 4MB, bien que se podría dividir en 2 grupos y llevar 50% y 50% a
cada router, y ciertamente el rendimiento será el mismo -o casi el mismo- que hacerlo en 9 grupos, que
sería la configuración exacta.
De esa manera, deberían de usar su criterio para no rellenar a Mangle de reglas, ya que cada regla es
consumo de procesador.
Saludos.
Si quieres usar el DNS cache en el balanceador, entonces no balancees las conexiones al puerto 53 UDP
del lado de los clientes, esto lo haces con un accept a ese puerto encima de las reglas del balanceo.
Saludos.
Este es el típico balanceo de carga que todas las guías explican, lo usaré para comenzar ya que es el más
fácil de entender. Tener en cuenta que estas IP's y nombres de las interfaces de red son relativos, ya cada
uno lo tendría que adaptar a lo que tienen y a lo que necesitan, no es obligatorio hacerlo tal como está
aquí. Este es un balanceo estandar, sin soporte de webproxy, ni hotspot, ya pueden utilizar un PC ó RB
que se dedique únicamente a la administración (core router).
1. Asignando IP's a las interfaces de red
/ip address
Ciertamente los IP's asignados a las interfaces WAN deben de corresponder a los gateway de los routers
que tengan; osea, si tengo conectado un router con IP 10.0.1.1 al ether1, NO le voy a colocar 10.0.2.2 a
esta interfaz de red, ya que NO van a estar en el mismo rango. Ya más obvio vemos que ether5 será la
nueva puerta de enlace o gateway que tendrá ambos links de internet balanceados.
Como estamos viendo en la imágen, en este ejemplo contamos con 2 interfaces de red WAN, que son
ether1 y ether2, entonces tocará enmascarar cada una de ellas.
Si tuviéramos más interfaces de red WAN, entonces tocaría enmascarar TODAS y cada una de estas
interfaces.
3. Configurando las rutas, parte 1
Voy a separar la configuración de IP -> Route en 2 partes, una antes del balanceo, y otra cuando ya
empezaremos a balancear, esta primera parte no debe de ser nada nuevo ni especial para nosotros, ya
que se configura siempre hasta en lo más básico. Para hacerles recordar, aquí es donde configuramos las
puertas de enlace o gateways (GW) de los routers que tenemos.
/ip route
Bueno, sí hay algo nuevo, estas son los distance, y check-gateway, vamos a explicarlo desde lo más fácil.
No olvidar que si tenemos más gateways de otros routers, tenemos que agregarlos uno a uno, de
preferencia con distance distintos.
check-gateway, tal como su nombre lo indica, revisará el gateway que hemos configurado, ya sea por
ping o por ARP; en este caso está configurado con ping, así que hará un ping 'constante' al gateway
configurado y si no tiene respuesta, esta ruta se "desactivará" automáticamente. Si el ping vuelve a tener
respuesta, la ruta se volverá a "activar". Esto sirve como un tipo de failover muy básico, ya que sólo
responderá su apagamos o desconectamos el router con el IP al que apunta el ping.
distance, es la distancia de la ruta, "la ruta de menor distancia será la ruta predeterminada o ruta activa".
Es muy fácil de explicar con un ejemplo: En realidad hasta aquí ya deberíamos de tener internet, no
necesariamente balanceado ya que aún no hemos hecho la configuración del balanceo, pero sí
tendremos internet, entonces ¿Qué linea de internet se estará usando? como el gateway 10.0.1.1 tiene
la menor distancia, es por ahí donde saldrá el internet, entonces podemos decir que es la ruta activa o
ruta predeterminada. Si hacemos que el gateway 10.0.2.1 tenga una distancia menor, entonces ya será
por aquí por donde saldremos a internet, ya que la ruta activa cambiará.
Nota: Las rutas NO activas normalmente se tornan de un color azul, esto es absolutamente normal, en
realidad hacer el balanceo de carga sirve para poder utilizar las rutas no activas, y así aprovechar todos
los links de internet que tengamos.
Posiblemente aprenderse todo esto de las distancias no sea muy necesario para aquellos que trabajan
siempre desde el interior de su red, pero para los que trabajan desde internet, o sea, remotamente,
tomar en cuenta las distancias es muy importante.
4. Configurando mangle, empieza la magia o los problemas para el que no pone atención
Como acabo de decir, hasta este momento nosotros YA contamos con internet del mismo balanceador,
pero como aún no hemos hecho la configuración del balanceo, pues sólo tendremos internet de un solo
router. El principal objetivo de esta parte de la guía es aprender a partir conexiones en grupos y
agregarles una marca, ya con esa marca podremos enrutar esas conexiones entre los routers que
tengamos, logrando por fin el deseado balanceo... aunque esto último lo haremos más adelante en IP ->
Route.
Para poder entender mejor cómo será llevado este balanceo, dividiremos la configuración de mangle en
2 subpartes y un opcional:
4.1 Primera parte, todo lo que entre por un WAN, debe salir por el mismo WAN
En realidad vemos 2 partes más, las 2 primeras reglas marcan las nuevas conexiones que ingresan por
cada WAN: ether1 y ether2, los nombres de estas marcas de conexión son ether1_conn y ether2_conn.
Las 2 siguientes reglas marcan la ruta de esas conexiones, los nombre de estas marcas de routeo son
to_ether1 y to_ether2. Ya debemos de saber que cuando tenemos una marca de routeo, esta se termina
sacando por IP -> Route, que veremos más adelante.
Esta configuración es necesaria para las conexiones que entran desde internet. Por ejemplo, si me
conecto desde mi casa utilizando winbox al balanceador de un cliente en Japón, puedo ingresar por su
router B y de ahí al balanceador, y ciertamente debería de tener la respuesta por el mismo router B, pero
si no tuviera estas reglas, las conexiones saldrían por la ruta predeterminada, que podría ser el router A,
lo trae muchos problemas.
4.2 Segunda parte, dividiendo las conexiones de los clientes y formando grupos
#Parte A
#Parte B
add chain=prerouting in-interface=ether5 connection-mark=ether1_conn action=mark-routing new-
routing-mark=to_ether1 passthrough=yes
Una vez más tenemos 2 partes; las 2 primeras líneas (que hacen la Parte A) son marcas de conexión, y las
2 siguientes líneas (que hacen la Parte B) marcan la ruta de esas conexiones; los nombres de las marcas
de conexión y routeo son los mismos que vimos previamente. Vemos también que en las 2 primeras
reglas lo que se marca son las conexiones "de los clientes" que ingresan por ether5, que es la interfaz de
red LAN, y que son divididas utilizando per-connection-classifier o también llamado PCC. Para dividir 50 y
50 (por ciento), hemos utilizado 2/0 y 2/1, si se diera el caso que fueran 3 links de internet de igual
velocidad, cada marca de conexión debería de tener un per-connection-classifier de 3/0, 3/1, y 3/2
respectivamente.
Sí, parece una explicación barata, después de todo parte del "secreto" para balancear varios links de
internet y links de distinta velocidad se hace en esta segunda parte de Mangle, pero ya lo veremos con
más detalle dentro de nada.
4.3 [Opcional] Tercera parte, accediendo a nuestros routers desde la red balanceada
Ya que estamos marcando todas las conexiones de nuestros clientes para llevarlas a uno y otro link de
internet, cuando queramos ingresar a cualquiera de nuestros routers no nos será posible, ya que
estamos obligados a salir a internet. La solución sería que las conexiones que tengan como destino
nuestros routers no sean marcados, en realidad es bastante simple, sólo debemos aceptar sus
conexiones.
Nota: Estas reglas 2 reglas aceptando las conexiones con destino a nuestros routers deberían de estar
por encima de las demás reglas de Mangle, en especial las de la "Segunda parte".
5. Configurando las rutas, parte 2
El resultado de marcado de rutas en Mangle fue obtener 2 marcas de routeo, una para cada router o link
de internet, en este caso tenemos a to_ether1 y to_ether2, ambas rutas las tenemos que sacar por IP ->
Routes en un proceso parecido al que hicimos en la parte1 de "Configurando las rutas".
/ip route
La explicación es la misma que con la parte1, la diferencia aquí es que no se usan distancias ya que no
son necesarias, y se agrega la marca de routeo to_ether1 y to_ether2 en cada regla. Entonces, todo lo
que tenga marca to_ether1 saldrá por el router con GW 10.0.1.1 y todo lo que tenga marca to_ether2
saldrá por el router con GW 10.0.2.1
En efecto, sólo es necesario agregar el IP que será el GW de nuestro balanceador, esta asignada al
ether5. Repito, no es necesario colocar un IP a ether1 o a ether2, ya que las verdaderas interfaces WAN
serán pppoe-out1 y pppoe-out2, cuyas IP se agregarán automáticamente en IP -> Addresses
Ya deben de saber que las reglas que se agregan automáticamente o dinámicamente, tienen una D al
lado izquierdo.
En este caso como nuestras interfaces WAN son pppoe-out1 y pppoe-out2, toca enmascarar ambas.
Y como es de esperarse, si tuviéramos más conexiones WAN por PPPoE cliente, tocaría agregar a cada
una de ellas.
/ip route
Sobre las distancias, esto ya está explicado en este misma guía y en el manual que dejé. En este caso no
es necesario marcar hacer un check-gateway, ya que una de las ventajas de tener PPPoE cliente, es que
cuando uno de estos se desconecta, automáticamente la ruta se "desactiva", y como hablamos de una
conexión directa a internet, el failover es 'gratis'.
4. Configurando mangle, empieza la magia o los problemas para el que no pone atención
Es prácticamente lo mismo que la guía para router neutro, así que pasaré de largo la explicación del
proceso
4.1 Primera parte, todo lo que entre por un WAN, debe salir por el mismo WAN
4.2 Segunda parte, dividiendo las conexiones de los clientes y formando grupos
4.3 [Opcional] Tercera parte, accediendo a nuestros routers desde la red balanceada
Ciertamente pasaremos de largo este opcional, ya que no considero necesario que alguien quiera entrar
a su modem o router modo bridge; una vez configurado como tal, ¿qué más se va a querer configurar?