You are on page 1of 4

Balanceo de carga PCC en Mikrotik con 2 (o m�s WAN DHCP)

Hac�a ya mucho tiempo que no jugaba un rato con los Mikrotik, mucho menos con
RouterOS. Un amigo me consult� por la posibilidad de rearmar una red en un estudio
de dise�o, al cual acept�. El panorama era:

Una red wifi que se ca�a todo el tiempo.


Una red cableada que se colgaba todo el tiempo.
Un balanceo de WAN inexistente (administrado por un Cisco con configuraci�n
default).
Lo que se necesitaba:

Una red wifi y cableada estable, con buen throughput.


Un balanceo de dos WAN DHCP (Fibertel 50MB y Arnet 10MB).
Eliminar los blind spots del Wifi en todo el taller.
hands up!
Ya establecida la lista de problemas y los requerimientos, empezamos con las
compras:

Ubiquiti Unifi UAP LR AC PRO, doble banda 5.8/2.4Ghz para cubrir el taller entero,
con posibilidad de agregar otro mas en caso de requerimiento especial.
Mikrotik RB2011UiAS-RM, espectacular equipo a precio mas que razonable, ideal para
el tr�fico del lugar.
Switch unmanaged HP de 24 bocas, not much on it, un simple Switch.
Configuraci�n
MIKROTIK
Empezamos por una configuraci�n default, todo absolutamente todo en cero.

Esto es importante, porque de otra manera el router se preconfigurar� con bridges,


rutas y dem�s configuraciones que no necesitamos, y adem�s nos complicar�n mas
adelante.

CONFIGURACI�N DE INTERFACES
En nuestro esquema, usaremos los dos primeros puertos como WANs para ambas
conexiones a Internet, y usaremos el tercer puerto como salida al Switch. Renombr�
las bocas a utilizar, como wan0, wan1 y ether3 la conserv� tal cual. Al tener el
Switch, el resto de las bocas no las utilizaremos, por mi OCD, prefiero dejarlas
deshabilitadas:

DHCP SERVER Y DNS


La idea es que el Mikrotik como router, nos entregue direcciones IP a nosotros,
clientes a trav�s del puerto ether3

1
2
3
4
5
6
7
8
9
10
/ip pool
add name=dhcp_pool1 ranges=192.168.88.10-192.168.88.254
/ip dhcp-server
add address-pool=dhcp_pool1 disabled=no interface=ether3 name=dhcp1
/ip address
add address=192.168.88.1/24 comment=Salida interface=ether3 network=192.168.88.0
/ip dhcp-server network
add address=192.168.88.0/24 dns-server=8.8.8.8,8.8.4.4 gateway=192.168.88.1
netmask=24
/ip dns
set servers=8.8.8.8,8.8.4.4
DHCP CLIENTS
Como ambas conexiones son DHCP, y sus modems entregan IP p�blica,

1
2
3
/ip dhcp-client
add add-default-route=no dhcp-options=hostname,clientid disabled=no interface=wan0
use-peer-dns=no
add add-default-route=no dhcp-options=hostname,clientid disabled=no interface=wan1
use-peer-dns=no
Las configuraremos como clientes DHCP.

ENMASCARADO DE CONEXIONES WAN


Es importante emascarar el tr�fico de las WAN para su correcto funcionamiento, para
ello aplicamos

1
2
3
/ip firewall nat
add action=masquerade chain=srcnat out-interface=wan0
add action=masquerade chain=srcnat out-interface=wan1
RUTAS
Las rutas son importantes para que el router sepa por donde salir al momento de un
request.

1
2
add check-gateway=ping distance=1 gateway=190.194.249.1
add check-gateway=ping distance=2 gateway=10.42.0.1
En el caso de ustedes, van a tener que escribir las rutas correspondientes a su
proveedor de Internet. Pueden chequear la ruta que les asign� al momento de aplicar
el DHCP, en DHCP Client.

Un detalle a tener en cuenta aqu� es la sentencia check-gateway. Esto es


important�simo para no tener problemas luego: si una de las dos conexiones a
Internet se cae, Mikrotik se dar� cuenta de ello gracias a que tiene configurado el
check-gateway, que no es mas que un ping (o arp en caso de que se configure as�)
contra el gateway. De no responder, el mismo se deshabilitar�.

Otro detalle un poco menor es distance. Es simplemente, que ruta es la �preferida�.


Una distancia menor la har� mas preferida que una ruta con distancia mayor. De esta
manera avalamos que la ruta preferida sea la de Fibertel, la conexi�n m�s r�pida.

MANGLE / BALANCEO PROPIAMENTE DICHO


Lo importante aqu� es marcar las conexiones que pasen a trav�s del router. De no
configurar esto, el router no sabr�a diferenciar entre una conexi�n que entra por
wan0 y una que entra por wan1, causandonos muchos dolores de cabeza cuando los
paquetes empiecen a mezclarse
1
2
3
/ip firewall mangle
add action=mark-routing chain=prerouting connection-mark=wan0_conn in-
interface=ether3 new-routing-mark=to_wan0
add action=mark-routing chain=prerouting connection-mark=wan1_conn in-
interface=ether3 new-routing-mark=to_wan1
Una vez configuradas las primeras reglas, vamos a lo divertido, el balanceo:

1
2
3
4
5
6
7
/ip firewall mangle
add action=mark-connection chain=prerouting connection-state=new dst-address-type=!
local in-interface=ether3 new-connection-mark=wan0_conn per-connection-
classifier=both-addresses-and-ports:6/0
add action=mark-connection chain=prerouting connection-state=new dst-address-type=!
local in-interface=ether3 new-connection-mark=wan0_conn per-connection-
classifier=both-addresses-and-ports:6/1
add action=mark-connection chain=prerouting connection-state=new dst-address-type=!
local in-interface=ether3 new-connection-mark=wan0_conn per-connection-
classifier=both-addresses-and-ports:6/2
add action=mark-connection chain=prerouting connection-state=new dst-address-type=!
local in-interface=ether3 new-connection-mark=wan0_conn per-connection-
classifier=both-addresses-and-ports:6/3
add action=mark-connection chain=prerouting connection-state=new dst-address-type=!
local in-interface=ether3 new-connection-mark=wan0_conn per-connection-
classifier=both-addresses-and-ports:6/4
add action=mark-connection chain=prerouting connection-state=new dst-address-type=!
local in-interface=ether3 new-connection-mark=wan0_conn per-connection-
classifier=both-addresses-and-ports:6/5
Como ver�n, son un mont�n de lineas pr�cticamente iguales. Donde definimos una
marca de conexi�n y un modo de pcc, que es both-addresses-and-ports. �sta es la
manera mas aleatoria para elegir la conexi�n. Por qu� tantas l�neas? Porque de esa
manera balanceamos dos links desiguales. De esta manera, de las 6 reglas de
balanceo, 5 pertenecen a Fibertel (wan0) y una sola a Arnet (wan1). As� el
algoritmo de resoluci�n que usa RouterOS, �caer� mas cantidad de veces (con suerte,
en relaci�n 5:1) en la conexi�n de Fibertel, logrando un balanceo mas prolijo. En
caso de ser dos conexiones iguales, solo agregar�amos dos lineas con 2/0 y 2/1.

RUTAS PARTE 2
Las primeras dos rutas que agregamos, son rutas default para el tr�fico, ahora es
importante tambi�n utilizar esas marcas definidas anteriormente en dos nuevas rutas
que controlar�n el tr�fico

1
2
3
/ip route
add check-gateway=ping distance=1 gateway=190.194.249.1 routing-mark=to_wan0
add check-gateway=ping distance=1 gateway=10.42.0.1 routing-mark=to_wan1
Como ver�n, son similares a las reglas anteriores, pero agregan la marca de routeo.

SERVICIOS Y SEGURIDAD
Es importante controlar quien puede acceder a los servicios del Mikrotik, por
defaut, todos los servicios (web, ssh, telnet, etc) se pueden acceder desde
cualquier lado (incluso las wan!) eso es peligroso,

1
2
3
4
5
6
7
8
/ip service
set telnet address=192.168.88.0/24
set ftp disabled=yes
set www address=192.168.88.0/24
set ssh address=0.0.0.0/0 port=2223
set api disabled=yes
set winbox disabled=yes
set api-ssl disabled=yes
Como en mi caso telnet y el panel web me quedan comodos, los limito a la red
interna, ftp no voy a utilizar, tampoco la api ni winbox, ni la api sobre ssl. Me
interesa tener acceso SSH desde afuera, ante cualquier eventualidad podr�
conectarme y arreglar lo necesario sin tener que ir f�sicamente al lugar. Lo
cambiar� de puerto para que no quede tan expuesto.

RESULTADOS

DESCARGAR CONFIGURACI�N COMPLETA


http://blog.reyni.co/wp-content/uploads/2017/05/rb2011-balanceopcc.txt