Underc0de

Redes y Comunicación => Redes y antenas => Mensaje iniciado por: xyz en Marzo 28, 2017, 12:08:24 PM

Título: Mikrotik - Cuarta Parte [ UnderTik - QoS ]
Publicado por: xyz en Marzo 28, 2017, 12:08:24 PM
En esta cuarta entrega de la saga Mikrotik para Underc0de, abarcaré configuraciones para entender el porqué de un QoS, establecer dias y horas para navegar como tambien bloquear o reducir la velocidad de navegación.
Trabajando con el Firewall en la mayoría de sus prestaciones.

La configuración esta adaptada a una solución solicitada, el lector/entusiasta/administrador debe elaborar un plan antes de comenzar con QoS, algunas consideraciones y preguntas que debe realizarse son:

El plan a elaborar es algo que debe ser considerado como prioritario. Luego de haber agotado todas las preguntas y situaciones, proceda a realizar las configuraciones necesarias.
Concluida esa etapa, procedere a mostrar el resultado final de las configuraciones con scripts de ejemplo.

 QoS - Configuraciones y Resultados  

La siguiente imagen tiene por objetivo mostrar el trabajo de parametrización.

Debe establecer un PCQ-DOWN con el total del ancho de banda asignado por el ISP (o estimado) donde:

Debe establecer un PCQ-UP con el total del ancho de banda asignado por el ISP (o estimado) donde:

(http://i.imgur.com/KMlmIZe.png)

Al establecer un Tipo de colas mediante PCQ, debe tener especial cuidado ya que en las proximas configuraciones  utilizará éstos parametros.

Luego, debe proceder a configurar y setear los paramtros en Firewall --> Mangle la siguente imagen muestra como quedará con el código correspondiente.
Por lo general primero se marca la conexión luego el paquete, depende el servicio y rendimiento que se quiera ofrecer ya que hay protocolos que es mejor dejar fuera de un QoS

(http://i.imgur.com/qutKYc6.png)

/ip firewall mangle
add action=mark-packet chain=output comment=":: DNS" connection-state=new \
    dst-port=53 new-packet-mark=DNS_PACKET out-interface=pppoe-out1 protocol=\
    udp
add action=mark-packet chain=output dst-port=53 new-packet-mark=dns-tcp \
    out-interface=pppoe-out1 protocol=tcp
add action=mark-connection chain=forward comment="PPTP - VPN" \
    connection-state=new dst-port=1723 new-connection-mark=PPTP protocol=tcp \
    src-address="Segmento LAN en forma x.y.z.r/mascara en bits"
add action=mark-packet chain=forward connection-mark=PPTP new-packet-mark=\
    pptp-tcp passthrough=no
add action=mark-connection chain=forward connection-state=new \
    new-connection-mark=PPTP-gre protocol=gre src-address="Segmento LAN en forma x.y.z.r/mascara en bits"
add action=mark-packet chain=forward connection-mark=PPTP-gre \
    new-packet-mark=Pptp-Up passthrough=no
add action=mark-connection chain=forward comment="Correos Electr\F3nicos" \
    connection-state=new dst-port=25,110,143,465,993,995 new-connection-mark=\
    CORREO protocol=tcp src-address="Segmento LAN en forma x.y.z.r/mascara en bits"
add action=mark-packet chain=forward connection-mark=CORREO new-packet-mark=\
    Correo-PKT passthrough=no
add action=mark-connection chain=forward comment=":: FTP" connection-state=\
    new dst-port=21 new-connection-mark=FTP protocol=tcp src-address=\
    "Segmento LAN en forma x.y.z.r/mascara en bits"
add action=mark-packet chain=forward connection-mark=FTP new-packet-mark=\
    Ftp-PKT passthrough=no
add action=mark-connection chain=forward comment=RDP connection-state=new \
    dst-port=3389 new-connection-mark=RDP protocol=tcp
add action=mark-packet chain=forward connection-mark=RDP new-packet-mark=\
    Rdp-PKT passthrough=no
add action=mark-connection chain=forward comment=RTSP connection-state=new \
    dst-port=554 new-connection-mark=rtsp protocol=tcp
add action=mark-packet chain=forward connection-mark=rtsp new-packet-mark=\
    Rtsp-PKT passthrough=no
add action=mark-connection chain=prerouting comment="Web Proxy" dst-port=80 \
    new-connection-mark=webproxy protocol=tcp src-address="Segmento LAN en forma x.y.z.r/mascara en bits"
add action=mark-packet chain=prerouting connection-mark=webproxy \
    new-packet-mark=webproxy-pkt passthrough=no
add action=mark-connection chain=forward comment="Conexion HTTP" \
    connection-state=new dst-port=443,8080 new-connection-mark=Web protocol=\
    tcp src-address="Segmento LAN en forma x.y.z.r/mascara en bits"
add action=mark-connection chain=forward connection-state=new dst-port=\
    443,8080 new-connection-mark=WEB-UDP protocol=udp src-address=\
    "Segmento LAN en forma x.y.z.r/mascara en bits"
add action=mark-packet chain=forward comment=WEB connection-mark=Web \
    new-packet-mark=Web-PKT passthrough=no
add action=mark-packet chain=forward connection-mark=WEB-UDP new-packet-mark=\
    WEB-UDP-PKT passthrough=no
add action=mark-connection chain=forward comment=WhatsApp connection-state=\
    new dst-port=5222,5228 new-connection-mark=WHATSAPP protocol=tcp \
    src-address="Segmento LAN en forma x.y.z.r/mascara en bits"
add action=mark-packet chain=forward connection-mark=WHATSAPP \
    new-packet-mark=Ws-pkt passthrough=no
add action=mark-connection chain=forward comment=Otros connection-state=new \
    new-connection-mark=Otros protocol=tcp src-address="Segmento LAN en forma x.y.z.r/mascara en bits"
add action=mark-connection chain=forward connection-state=new \
    new-connection-mark=OTROS-UDP protocol=udp src-address="Segmento LAN en forma x.y.z.r/mascara en bits"
add action=mark-packet chain=forward connection-mark=Otros new-packet-mark=\
    Otros-PKT passthrough=no
add action=mark-packet chain=forward connection-mark=OTROS-UDP \
    new-packet-mark=OTROS-UDP-PKT passthrough=no
add action=mark-connection chain=forward comment="ALL P2P" \
    new-connection-mark=P2P_ p2p=all-p2p protocol=tcp src-address=\
    "Segmento LAN en forma x.y.z.r/mascara en bits"
add action=mark-packet chain=forward connection-mark=P2P_ new-packet-mark=\
    p2p-PKT passthrough=no


Los SRC-ADDRESS van sin comillas dobles, solo el segmento con su mascara correspondiente en bits

A continuación, debe ir a Queue --> Queue Tree la imagen siguiente muestra el resultado final y debajo el script correspondiente.

(http://i.imgur.com/E2nNkfx.png)


/queue tree
add name=Download parent=Eth2-Wan priority=1 queue=pcq-DOWN
add name=Upload parent=Eth1-WAN priority=1 queue=pcq-UP
add name="P\E1ginas-Web-Down" parent=Download priority=5 queue=default
add name=Correos-D packet-mark=Correo-PKT parent=Download priority=1 queue=\
    pcq-DOWN
add name=Navegar-D packet-mark=Web-PKT parent="P\E1ginas-Web-Down" queue=\
    pcq-DOWN
add name=Rdp-D packet-mark=Rdp-PKT parent=Download priority=2 queue=pcq-DOWN
add name=Otros-D packet-mark=Otros-PKT parent=Download queue=pcq-DOWN
add name=Ftp-D packet-mark=Ftp-PKT parent=Download priority=2 queue=pcq-DOWN
add name=pptp-D packet-mark=Pptp-Down parent=Download priority=3 queue=\
    pcq-DOWN
add limit-at=1024k max-limit=1040k name=p2p-Down packet-mark=p2p-PKT parent=\
    Download queue=pcq-DOWN
add name="P\E1ginas-Web-Up" parent=Upload priority=5 queue=default
add limit-at=400k max-limit=500k name=Navegar-U packet-mark=Web-PKT parent=\
    "P\E1ginas-Web-Up" queue=pcq-UP
add name=Correos-U packet-mark=Correo-PKT parent=Upload priority=1 queue=\
    pcq-UP
add name=Otros-U packet-mark=Otros-PKT parent=Upload queue=pcq-UP
add limit-at=412k max-limit=512k name=Ftp-Up packet-mark=Ftp-PKT parent=\
    Upload priority=2 queue=pcq-UP
add name=Rdp-U packet-mark=Rdp-PKT parent=Upload priority=2 queue=pcq-UP
add name=pptp-up packet-mark=Pptp-Up parent=Upload priority=3 queue=pcq-UP
add name=Rtsp-Down packet-mark=Rtsp-PKT parent=Download priority=4 queue=\
    pcq-DOWN
add name=Rtsp-Up packet-mark=Rtsp-PKT parent=Upload priority=4 queue=pcq-UP
add name=Navegar-Udp packet-mark=WEB-UDP-PKT parent="P\E1ginas-Web-Down" \
    priority=5 queue=pcq-DOWN
add name=Navegar-Udp-D packet-mark=WEB-UDP-PKT parent="P\E1ginas-Web-Up" \
    priority=4 queue=pcq-UP



Estas configuraciones permiten establecer un plan de QoS mediante la priorización de protocolos.
La siguiente imagen muestra las conexiones establecidas desde el interior de la red e informa las marcas de paquetes que se están utilizando.

(http://i.imgur.com/tZI5tqO.png)

Colas Simples para uso Horario Laboral  

En anteriores entregas ha visto que las parametrizaciones permiten establecer franjas de horas para trabajar, ejemplificando:

La siguiente imagen y correspondiente código son el ejemplo.

(http://i.imgur.com/GfqkdBO.png)


/queue simple
add comment="[HORARIO] 01:00 a 07:59" max-limit=10k/10k name=\
    Horario-Laboral-4 queue=pcq-UP/pcq-DOWN target="Segmento LAN en forma x.y.z.r/mascara en bits" time=\
    1s-7h59m,mon,tue,wed,thu,fri
add comment="[HORARIO] 08:00 a 13:00" limit-at=400k/5M max-limit=512k/7M \
    name=Horario-Laboral priority=4/4 queue=pcq-UP/pcq-DOWN target=\
    "Segmento LAN en forma x.y.z.r/mascara en bits" time=8h-13h,mon,tue,wed,thu,fri total-queue=default
add comment="[HORARIO] 12:01 a 13:59" max-limit=10k/10k name=\
    "[ HORARIO ] Medio dia" parent=Horario-Laboral-4 priority=4/4 queue=\
    pcq-UP/pcq-DOWN target="Segmento LAN en forma x.y.z.r/mascara en bits" time=\
    12h1m-13h59m59s,mon,tue,wed,thu,fri
add comment="[HORARIO] 14:00 a 18:00" limit-at=400k/5M max-limit=512k/7M \
    name=Horario-Laboral2 priority=4/4 queue=pcq-UP/pcq-DOWN target=\
    "Segmento LAN en forma x.y.z.r/mascara en bits" time=14h-18h,mon,tue,wed,thu,fri total-queue=default
add comment="[ HORARIO ] 18:01 a 00:00" max-limit=512k/1M name=\
    Horario-Laboral3 queue=pcq-UP/pcq-DOWN target="Segmento LAN en forma x.y.z.r/mascara en bits" time=\
    18h30m-23h59m,mon,tue,wed,thu,fri total-queue=default


\\ ==>> FIN <<== //

Gracias por tomarse el tiempo en leer el post y a la comunidad de UNDERC0DE por brindarme el espacio.

Aclaración: Aún falta la última entrega de la saga....