Anda di halaman 1dari 6

Balanceo de carga por tipo de trafico - MikroTik Wiki

http://wiki.mikrotik.com/wiki/Balanceo_de_carga_por_tipo_de_trafico

Balanceo de carga por tipo de trafico


From MikroTik Wiki
NOTE: This article is a spanish translation of their original found here : http://wiki.mikrotik.com/wiki/Per-Traffic_Load_Balancing

Contents
1 Introduccin 1.1 Funciones del RouteOS Utilizadas aqu 2 Paso 1 - Cmo separar el trfico? 3 Paso 2 - Configurando la red 4 Paso 3 - Usando la herramienta MANGLE en RouterOS's marcamos el trfico especfico 5 Paso 4 - Usando la funcin de ruteo para forzar el trfico por una determinada conexin 6 Paso 5 - Revisin de lo que se hizo 6.1 Conclusin

Introduccin
El manejo del ancho de banda es una parte escencial del trabajo diario de todo ISP, usuario comercial o domstico. Hay varias formas diferentes de hacer esto con el RouterOS Mikrotik ya sea usando QoS, Limite de tasa de transferencia, limite de paquetes, solo por nombrar algunos En lo personal, el autor del presente, es administrador de un ISP que presta servicio inalmbrico en una zona donde no hay otro proveedor de conexiones de banda ancha (Ej.: Cable, Fibra, ADSL, etc). El autor se encuentra con el problema de que su mas rpida conexin troncal no le provee suficiente ancho de banda como para tener un solo vnculo contra internet. Como consecuencia de esta limitacin el balanceo de carga es sumamente importante para el (y para el traductor del presente!) En el pasado el autor utiliz ECMP, conexion con mantenimiento persistente de la puerta de enlace (para mas datos vea http://wiki.mikrotik.com /wiki/Load_Balancing) como algunos otros mtodos. Como era de esperar, el autor encontr muchos problemas de retardos (entre otros), no se balanceaba correctamente, se cortaban las descargas largas, problemas con los mensajeros instantneos (MSN, Yahoo, etc) son solo algunos. Asi que el autor se dedic a investigar como obtener un mayor control de su ancho de banda tratando de minimizar los potenciales problemas (al igual que el traductor!). El resultado fu el balanceo de carga en funcin del trfico que se presenta. Este tutorial esta escrito para tratar este tema en forma especfica y lo mas profunda posible, en un futuro el autor agregar informacin sobre resistencia a fallas de enlace (fail over) y QoS (y este traductor traducir!) (n del t: algunos trminos son dejados en ingles a fin de facilitar su ubicacin entre los comandos del RouterOS)

1 de 6

19/12/2008 13:09

Balanceo de carga por tipo de trafico - MikroTik Wiki

http://wiki.mikrotik.com/wiki/Balanceo_de_carga_por_tipo_de_trafico

Funciones del RouteOS Utilizadas aqu


Firewall mangle rules Firewall address-lists Routing

Paso 1 - Cmo separar el trfico?


Antes de ingresar a su RouteOS WinBox ya debe tener una idea aproximada de como separar su trfico, y debe entender que trafico puede separarse y cual no. Aqu tiene un ejemplo de que trfico es separable (sin orden en particular): HTTP trfico (port 80) SSL trfico (port 443) POP3 trfico (port 110) SMTP trfico (port 25) P2P trfico (varios puertos) Unknown trfico (varios puertos) Despues de hacer una lista del tipo de trfico, y de los puertos en que estos trabajan, deberamos revisar la lista y decidir si este trfico puede ser forzado a salir por una determinada conexin a internet. usando la lista anterior como ejemplo aqu es lo que vemos: HTTP trfico (sin impedimentos conocidos)(n de t: si conocen alguno, avisen!) SSL trfico (algunos problemas, para los sitios SSL normales y el 90% de todo el software no es un problema, luego veremos por que pueden surgir) POP3 trfico (sin impedimentos conocidos) SMTP trfico (sin impedimentos conocidos) P2P trfico (el p2p debe salir siempre por la misma conexin como trfico desconocido, luego veremos por que)(n del t: aqu se usa "desconocido" como "sin catalogar") desconocido trfico (debe salir por la misma conexin y nombrado como P2P, mas adelante se explica el motivo) Ahora para una explicacin rpida de como pueden surgir algunos problemas dependiendo del tipo de trfico. Algunos programas o sitios web no se llevan bien con los mltiples conexiones desde direcciones IP diferentes, esta es la razn por la que ECMP tiene varios problemas. El autor proporciona una solucin simple para los casos particulares y aislados en los que a alguno de nuestros usuarios el balanceo de carga les resulte un estorbo.

2 de 6

19/12/2008 13:09

Balanceo de carga por tipo de trafico - MikroTik Wiki

http://wiki.mikrotik.com/wiki/Balanceo_de_carga_por_tipo_de_trafico

De nuevo y usando el ejemplo anterior, veremos un problema que puede surgir. SSL - Lo bello de un sitio web es que utiliza peticiones separadas para cada tipo de datos, ej.: cargar 3 fotos diferentes de 3 fuentes diferentes con requerimientos a cada uno de los respectivos servers. El resultado es que tenemos un sitio web que usa SSL y HTTP, conocemos que en la mayora de los casos los servidores web contestan la peticin sin ocuparse de la direccin IP origen del server. No obstante, en este tipo especial de sitio web, el programador/diseador "revisa" desde "que direccin IP" se origin el pedido y si encuentra diferencias entonces no completar la respuesta (esto puede ser accidental o a propsito). El autor tuvo 2 casos as, en ambos casos fueron sitios mdicos con seguridad para los datos de esas empresas. P2P y desconocido - Manejamos este trfico junto por que este es un problema nico. El RouterOS no puede identificar el P2P en una condicin simple, pero, a cambio, analiza paquetes!, esto quiere decir que el RouterOS necesita tiempo para ver los datos ANTES y saber si es en efecto P2P. Como resultado RouterOS no sabe si tiene un paquete P2P hasta DESPUES que la conexin est establecida. Esto es importante por que la nica manera de enviar este trfico a una determinada conexin a internet es conociendo el trfico ANTES de que el mismo establezca una conexin de salida, el trfico desconocido es eso, "desconocido". Marcndolo como tal se puede definir por que conexin saldr y se puede especificar que enlace se usa para P2P y el trafico "en general" (muy til!)

Paso 2 - Configurando la red


Para empezar a desarrollar este tutorial, necesitamos una red ficticia que usaremos como ejemplo Computadoras Cliente (172.18.1.0/24) Internet Gateways (10.0.1.1/24, 10 0.2.1/24) RouterOS IPs (10.0.1.2/24, 10.0.2.2/24)

3 de 6

19/12/2008 13:09

Balanceo de carga por tipo de trafico - MikroTik Wiki

http://wiki.mikrotik.com/wiki/Balanceo_de_carga_por_tipo_de_trafico

Asumimos que las direcciones IP, rutas por defecto y DNS ya estan correctamente configurados para que los usuarios tengan acceso a internet Creamos una Address-List que permita la salida de nuestros usuarios a internet
/ ip firewall address-list add list="Allowed - Internet" address=172.18.1.0/24 comment="" disabled=no

Creamos una Address-List para aquellos usuarios que necesitan saltarse el balanceo
/ ip firewall address-list add list="WAN-01" address=172.18.1.24/32 comment="" disabled=no add list="WAN-02" address=172.18.1.76/32 comment="" disabled=no

Aplicamos 'Masquerading'al trfico a cada conexin a internet

4 de 6

19/12/2008 13:09

Balanceo de carga por tipo de trafico - MikroTik Wiki

http://wiki.mikrotik.com/wiki/Balanceo_de_carga_por_tipo_de_trafico

/ ip firewall nat add chain=srcnat action=masquerade out-interface="WAN - 01" src-address-list="Allowed - Internet" comment="Gateway 10.0.1.1/24" disabled=no add chain=srcnat action=masquerade out-interface="WAN - 02" src-address-list="Allowed - Internet" comment="Gateway 10.0.2.1/24" disabled=no

Los clientes deben poder navegar la internet, sin embargo una sola conexin a internet ser usada (la que est declarada en la default route)

Paso 3 - Usando la herramienta MANGLE en RouterOS's marcamos el trfico especfico


Lo que sigue son los comandos necesarios del RouterOS para marcar el trfico en particular por una determinada ruta. Para esto se usa la misma tabla de trafico mostrada en el ejemplo
/ ip firewall mangle add chain=prerouting add chain=prerouting add chain=prerouting add chain=prerouting add chain=prerouting add chain=prerouting add chain=prerouting add chain=prerouting

action=mark-routing action=mark-routing action=mark-routing action=mark-routing action=mark-routing action=mark-routing action=mark-routing action=mark-routing

new-routing-mark="WAN-01" src-address-list="WAN-01" passthrough=no comment="" disabled=no new-routing-mark="WAN-02" src-address-list="WAN-02" passthrough=no comment="" disabled=no new-routing-mark="HTTP Trafico" passthrough=no dst-port=80 protocol=tcp comment="" disabled=no new-routing-mark="SSL Trafico" passthrough=no dst-port=443 protocol=tcp comment="" disabled=no new-routing-mark="POP3 Trafico" passthrough=no dst-port=110 protocol=tcp comment="" disabled=no new-routing-mark="SMTP Trafico" passthrough=no dst-port=25 protocol=tcp comment="" disabled=no new-routing-mark="P2P Trafico" passthrough=no p2p=all-p2p comment="" disabled=no new-routing-mark="Unknown Trafico" passthrough=no comment="" disabled=no

Las primeras dos lineas, nos dejan un mtodo para que puedan salir aquellos clientes que no puedan salir por el balanceo de carga y necesiten una conexin determinada. Las lneas que siguen, con marca de trfico basado en el puerto de destino, dicen que trfico se marca y que trfico se deja pasar an si no lo conocemos, esto es siempre para diferentes conexiones a internet tanto si sabemos que es P2P como si no pudiendo salir tambien por la ruta por defecto. El autor tambien marca el p2p separado para que pueda salir por la misma conexin a internet como si fuera desconocido. Hace esto por algunas buenas razones, una es que puede detener TODO el p2p con solo deshabilitar la ruta de salida y otra es que para su RouterOS es usa QoS que es muy sencillo de recordar como esta configurado Asi ahora vamos a poner cada trfico en su respectiva ruta, lo que sigue se agrega a las rutas actuales

Paso 4 - Usando la funcin de ruteo para forzar el trfico por una determinada conexin
Lo que sigue son los comandos necesarios para agregar las rutas al RouterOS para los paquetes marcados como HTTP, SSL, POP3, SMTP, P2P, y desconocido
/ ip route add dst-address=0.0.0.0/0 add dst-address=0.0.0.0/0 add dst-address=0.0.0.0/0 add dst-address=0.0.0.0/0 add dst-address=0.0.0.0/0 add dst-address=0.0.0.0/0

gateway=10.0.1.1 gateway=10.0.2.1 gateway=10.0.2.1 gateway=10.0.2.1 gateway=10.0.2.1 gateway=10.0.1.1

scope=255 scope=255 scope=255 scope=255 scope=255 scope=255

target-scope=10 target-scope=10 target-scope=10 target-scope=10 target-scope=10 target-scope=10

routing-mark="WAN-01" comment="" disabled=no routing-mark="WAN-02" comment="" disabled=no routing-mark="HTTP Trafico" comment="" disabled=no routing-mark="SSL Trafico" comment="" disabled=no routing-mark="POP3 Trafico" comment="" disabled=no routing-mark="SMTP Trafico" comment="" disabled=no

5 de 6

19/12/2008 13:09

Balanceo de carga por tipo de trafico - MikroTik Wiki

http://wiki.mikrotik.com/wiki/Balanceo_de_carga_por_tipo_de_trafico

add dst-address=0.0.0.0/0 gateway=10.0.1.1 scope=255 target-scope=10 routing-mark="SMTP Trafico" comment="" disabled=no add dst-address=0.0.0.0/0 gateway=10.0.1.1 scope=255 target-scope=10 routing-mark="P2P Trafico" comment="" disabled=no add dst-address=0.0.0.0/0 gateway=10.0.1.1 scope=255 target-scope=10 routing-mark="Unknown Trafico" comment="" disabled=no

Las primeras dos lineas proveen la ruta de salida para los clientes que NO salen por balanceo de carga

Paso 5 - Revisin de lo que se hizo


Que fu lo que hizo?: Usted inteligentemente separ su trfico en diferentes tipos Usted marc paquetes usando la herramienta Mangle Usted cre una lista especial para aquellos clientes que NO puedan salir por el balanceo de carga Usted asign una rura particular para cada paqueta marcado en el Mangle

Conclusin
Lo que acaba de hacer es muy potente y este tutorial le ha mostrado solo la punta del iceberg. Los tipos de trfico que el autor list son solo una pequea cantidad del total y usted DEBERA agregar otros (ej: DNS, terminal services, ICMP, etc). Esto puede usarse como una solucin tambien en oficinas o pequeos comercios para, por ejemplo separar el mail de su navegacin a internet o, en una red grande inalmbrica para balancear carga. Algunos consejos al final: 1. Piense lo que quiere hacer antes de comenzar 2. Ponga atencin en el tipo de trfico en cada linea (si es entrante intensivo o saliente intensivo) 3. Finalmente pruebe, nada mejor que encontrar mejores y mas rpidas e inteligentes formas de mejorar los servicios con muy pequea inversin! (traduccin de bmeiojas@bwnet.com.ar)

6 de 6

19/12/2008 13:09

Anda mungkin juga menyukai