Dota2 Mikrotik
Short Description
Descripción: Configuracion de balanceo por contenido dando prioridad a los juegos...
Description
En la versión 6 del RouterOS de Mikrotik, existen cambios muy importante y drásticos, donde a la hora implementar algo en el router, nos brindan muchas opciones de casos de uso. Hablando solo de QoS, ésta pues tiene muchos formas de implementarlo, cada autor tiene su modo; así como hablamos de forma, también tiene fondo. A modo de aportar algo al tema, intentaré aportar tips y consejos, incluido un script como ejemplo para las buenas prácticas. De aquí en adelante solo deberíamos hablar para la versión 6 del MK. A la hora de implementar un QoS, tendremos que conocer el tamaño de la Red, su topología, la arquitectura en la cual se implementará, los servicios sobre IP que existan, protocolos que más se consumen, etc. Conociendo aquello nos daremos que cuenta que tipo de QoS necesitamos implementar. http://es.wikipedia.org/wiki/Calidad_de_servicio Saber cómo armar nuestro propio QoS es nuestra bronca, algunos dan preferencia a los Games (UpNP), VoIP (SIP, H323), Streamer (RTMP, RTSP, playback), Shell (SSH, Telnet), Bulk (ftp, sftp, smtp, pop3), P2P (layer7), Navergar (http, https), aplicaciones (Winbox, MSN Messenger, Skype), Descargas pesadas, etc. Muchas categorías o clases… Tipos de QoS QoS estático: para redes con pocos usuarios. QoS dinámicos: para redes con muchos usuarios. A tomar en cuenta que el Ancho de Banda se mide en Hz (Hertz). Velocidad de Descarga se mide en Bytes/s(Bytes por segundo),Velocidad de transferencia en bps (bits por segundo). Ejemplo: Movistar no da acceso acceso a internet con una Transferencia Efectiva de 4Mbps/2Mbps, pero al hacer un test tenemos una Transferencia de Rendimiento de 3.5Mbps/1.8Mbps. http://cesarcabrera.info/blog/ ¿veloc...ncho-de-banda/ Tips a tomar en cuenta a la hora de implementar un QoS: . A la hora de MARCAR, es claro e ilustrativo usar la cadena “forward” (chain=forward). . Marcar con Prerouting se usa para hacer load balanced, PCC. . Marcar primero las conexiones y luego paquetes da mayor performance para no hacer uso redundante del CONNTRACK . Podemos marcar solo paquetes y ya no conexiones si nuestra arquitectura física tiene muchas prestaciones de recursos, tal como una PC o un Cloud Core Router. . A mayor conceptos de priorización, más ratios de velocidad de transferencia perdemos. . En la priorización primero se satisface la CIR (Limit-at) y luego la MIR (max-limit) . Las madres en el queue tree no necesitan marca. . Tomar el 80% de la velocidad de transferencia de rendimiento en el max-limit de la Madre si tienes una conexión a Intenet ADSL, si es dedicada; usa el 98%. Lo que haremos a continuación para nuestro ejemplo es lo siguiente: – Priorización: queue tree & mangle forward – Limitación por cliente : simple queue con target ip address … básicamente
lo que haremos es HTB con queue dinámico.
Tomaremos las siguientes clases para priorizar tráfico (Traffic Priority): TRÁFICO INTERACTIVO:
Prioridad 1: icmp, ospf, ipip, gre, ipsec-esp, ipsec-ah, IPSec IKE (500 udp), dns (53 udp), ntp (123 udp), SNMP (161,162 udp) Prioridad 2: VoIP {sip (5060-5061 udp), rtp (16000-17000 udp), H.323 (17191720 udp)}, radius (1812-1813 udp), Streamer {stun (3478 udp), rtmp (1935 tcp, rtsp (554 tcp), mms (1955 tcp), rtcp (5004 udp), RTP/AVP (7004-7005 tcp) y (7064-7065 tcp) }, RDP {Terminal Server (3389 TCP), TeamViewer (5938 tcp), VNC (5900-5950 tcp}, ssh (22 tcp), ssh Shared/Reseller Servers (2222 tcp), mysql (3306 tcp), mssql (1433 tcp), winbox (8291 tcp), the dude (2210,2211 tcp), VPN {PPTP (1723 tcp), L2TP (1701 TCP),IPsec NAT-T (4500 udp)}, Games (list-address) TRÁFICO BULK Prioridad 3: http (80, 3128, 8080 tcp), https (443 tcp) Priorización 6: Descargas entre 512KB y 4MB Priorización 7: Descargas Mayores de 4MB Priorización 4: smtp (25 tcp), smtps (465 tcp), smtp-alt (26, 587 tcp), pop2 (109 tcp), pop3 (110 tcp), pop3s (995 tcp), imap (143 tcp), imap3 (220 tcp), imaps (993 tcp), webmail (2095 tcp), webmails (2096), cPanel (2082 tcp), cPanels (2083 tcp), whm (2086 udp), whms (2087 tcp), ftp (21 tcp), ftps (990 tcp), sftpShared/Reseller Server (2222 tcp), WebDisk (2077 tcp), WebDisks (2078 tcp) Priorización 8: P2P (eMule, EDonkey, KaZaA, Gnutella, BitTorrent, Vuze, etc) Priorización 5: El Resto Si tu RouterBoard realiza la conexión PPP para tu conexión a Internet, te darás cuenta que el RouterOS crea de forma dinámica en el firewall mangle dos inserciones. Para que nuestro mangle funcione; éstas inserciones deben estar al inicio del mangle. Por tanto, lo que se puede hacer es lo siguiente: Primero desactivamos el valor por defecto de una conexión pppoe-out: /ppp profile set default name="default" change-tcp-mss=no Luego creamos nuestra propia MSS: /ip firewall mangle add chain=forward in-interface=all-ppp protocol=tcp \ tcp-mss=1411-65535 tcp-flags=syn action=change-mss new-mss=1410 placebefore=0 add chain=forward out-interface=all-ppp protocol=tcp \ tcp-mss=1411-65535 tcp-flags=syn action=change-mss new-mss=1410 placebefore=1 Ahora nos toca catalogar tráfico (Traffic Shapping):
/ip firewall address-list add address=12.129.193.0/24 comment=WoW disabled=no list=games add address=202.9.66.0/23 comment=SC2 disabled=no list=games add address=12.129.242.0/24 comment="Diablo III" disabled=no list=games add address=63.150.138.0/24 disabled=no comment="Dota 2" list=games add address=31.186.224.0/24 comment="LoL Europe" disabled=no list=games add address=216.240.136.162 comment="Lowerping - US West - Panther 1" disabled=no list=games add address=159.153.0.0/16 comment="SWTOR - USA/EUROPE" disabled=no
list=games add address=206.127.144.0/20 comment="GW2 - ArenaNet (NC Interactive)" disabled=no list=games /ip firewall mangle add action=log chain=notes comment="Inicio del Árbol QoS 11/09/2014" disabled=no log-prefix="" add action=jump chain=forward connection-mark=no-mark jump-target=conmark add action=jump chain=forward connection-mark=!no-mark jump-target=pktmark add action=mark-connection chain=conmark comment="Prioridad 1: Servicios de Administración" new-connection-mark=cm_prio-1 protocol=icmp add action=mark-connection chain=conmark new-connection-mark=cm_prio-1 protocol=ospf add action=mark-connection chain=conmark new-connection-mark=cm_prio-1 protocol=ipip add action=mark-connection chain=conmark new-connection-mark=cm_prio-1 protocol=gre add action=mark-connection chain=conmark new-connection-mark=cm_prio-1 protocol=ipsec-esp add action=mark-connection chain=conmark new-connection-mark=cm_prio-1 protocol=ipsec-ah add action=mark-connection chain=conmark dst-port=53,123,161,162,500 newconnection-mark=cm_prio-1 protocol=udp add action=mark-packet chain=pktmark connection-mark=cm_prio-1 new-packetmark=pm_prio1 passthrough=no add action=mark-connection chain=conmark comment="Prioridad 2: Protocolos de Administración" dst-port=1812-1813,4500,5004,5060-5061,16000-17000 newconnection-mark=cm_prio-2 protocol=udp add action=mark-connection chain=conmark dstport=22,1433,1701,1723,1935,1955,2210-2211,2222,3306,3389,3478,4500,59005950 new-connection-mark=cm_prio-2 protocol=tcp add action=mark-connection chain=conmark dst-port=5938,7004-7005,70647065,8291 new-connection-mark=cm_prio-2 protocol=tcp add action=mark-connection chain=conmark src-address-list=games newconnection-mark=cm_prio-2 protocol=tcp add action=mark-packet chain=pktmark connection-mark=cm_prio-2 new-packetmark=pm_prio2 passthrough=no add action=mark-connection chain=conmark comment="Prioridad 3: Navegación 0-512KB" dst-port=80,443,3128,8080 new-connection-mark=cm_prio-3 protocol=tcp add action=mark-packet chain=pktmark connection-bytes=0-512000 connectionmark=cm_prio-3 new-packet-mark=pm_prio3 protocol=tcp passthrough=no add action=mark-packet chain=pktmark comment="Prioridad 6: Descargas entre 512KB y 4MB" connection-bytes=512001-4096000 connection-mark=cm_prio-3 new-packet-mark=pm_prio6 protocol=tcp passthrough=no add action=mark-packet chain=pktmark comment="Prioridad 7: Descargas mayores de 4MB" connection-bytes=4096001-0 connection-mark=cm_prio-3 newpacket-mark=pm_prio7 protocol=tcp passthrough=no add action=mark-connection chain=conmark comment="Prioridad 4: Protocolos laborales" dst-port=21,25,26,109,110,143,220,465,587,990,993,995, 2077-2078 new-connection-mark=cm_prio-4 protocol=tcp add action=mark-connection chain=conmark dst-port=2082-2083,2086-2087,20952096,2222 new-connection-mark=cm_prio-4 protocol=tcp add action=mark-packet chain=pktmark connection-mark=cm_prio-4 new-packetmark=pm_prio4 passthrough=no add action=mark-connection chain=conmark comment="Prioridad 8: P2P TORRENT" new-connection-mark=cm_prio-8 p2p=all-p2p add action=mark-packet chain=pktmark connection-mark=cm_prio-8 new-packetmark=pm_prio8 passthrough=no add action=mark-connection chain=conmark comment="Prioridad 5: el RESTO"
connection-mark=no-mark new-connection-mark=cm_prio-5 add action=mark-packet chain=pktmark connection-mark=cm_prio-5 new-packetmark=pm_prio5 passthrough=no add action=return chain=conmark add action=log chain=notes comment="Fin del Árbol QoS 11/09/2014" disabled=no log-prefix="" Para continuar, necesitamos conocer estos simples parámetros del Queue: Limit-at (CIR) max-limit (MIR) burst (threshold, limit, time) queue type (FIFO, RED, SFQ, PCQ) parent Recuerda que para el CIR en la cola Madre se usa el valor de la Velocidad de Transferencia de Rendimiento. Para este ejemplo, tengo un contrato de acceso a Internet tipo ADSL por una velocidad de 2Mbps/256kbps. Haciendo un test de velocidad, obtengo que la velocidad de trasferencia efectiva es de 1408kbps/240kps. Aunque la operadora me garantiza solo un 10% como mínimo, debo de confiar que siempre tendré al menos un 80% aproximadamente del total de mi velocidad testeada, lo cual representa a mi Velocidad de Transferencia de Rendimiento: 1152kbps/192kbps. /queue tree add max-limit=1142k name=QoS_Global parent=global queue=default add limit-at=32k max-limit=384k name=PRIO#1 packet-mark=pm_prio1 parent=QoS_Global comment="Servicios" priority=1 add limit-at=64k max-limit=512k name=PRIO#2 packet-mark=pm_prio2 parent=QoS_Global comment="Administración" priority=2 add limit-at=432k max-limit=1M name=PRIO#3 packet-mark=pm_prio3 parent=QoS_Global comment="Navegación" priority=3 add limit-at=384k max-limit=840k name=PRIO#4 packet-mark=pm_prio4 parent=QoS_Global comment="Laborales" priority=4 add limit-at=128k max-limit=1M name=PRIO#5 packet-mark=pm_prio5 parent=QoS_Global comment="Resto" priority=5 add limit-at=64k max-limit=256k name=PRIO#6 packet-mark=pm_prio6 parent=QoS_Global comment="Descargas pesadas" priority=6 add limit-at=32k max-limit=128k name=PRIO#7 packet-mark=pm_prio7 parent=QoS_Global comment="Descargas infinitas" priority=7 add limit-at=16k max-limit=64k name=PRIO#8 packet-mark=pm_prio8 parent=QoS_Global comment="File Sharing y P2P" Dense cuenta que la suma de todos los CIR de cada cola hija es igual al CIR de la cola Madre. El MIR de las colas hijas no deben superar al CIR de la cola madre. Y para completar el ejemplo, una vez que tengamos nuestro QoS implementado, a cada uno de nuestros usuarios, de ser necesario; tendremos que asignarle una velocidad dinámica por IP de forma automática, ya sea desde el DHCP, Hotspot, PPP, etc. Esto es la fórmula: rx-rate[/tx-rate] [rx-burst-rate[/tx-burst- rate] [rx-burst-threshold[/tx-burstthreshold] [rx-burst-time[/tx-burst- time]]]]. Aquí les doy algunos ejemplos: 64/128 *= *64k/128k 128k/384k 48k/96k 54 8 32k 128/256 = 128k/256k 384k/512k 96k/192k 40 8 64k
256/512 = *256k/512k 512k/1024k 192k/448k 32 8 128k 512/1024 = 512k/1024k 1024k/1536k 448k/768k 24 8 256k Saludos…
http://www.inkalinux.com/foros/showthread.php?270-4-Firewall-ManglePriorizacion-de-Trafico-QoS-1-Calidad-de-Servicio-Nivel-Basico
View more...
Comments