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:
- ¿ Qué Protocolos son los principales para el uso del sitio ?
- SSH / FTP / HTTP / POP3 / SMTP / DNS / RDP
- ¿ Cúales son prioritarios ?
- ¿ Se deben restringir descargas ?
- ¿ Deben poder conectarse desde fuera de la empresa ?
- ¿ Hay enlaces VPN o PTP que deban priorizarse ?
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:
- Kind= PCQ (algoritmo propio de Mikrotik para Colas)
- Rate= Velocidad máxima de bajada
- Classifier= Dst. Address
Debe establecer un PCQ-UP con el total del ancho de banda asignado por el ISP (o estimado) donde:
- Kind= PCQ (algoritmo propio de Mikrotik para Colas)
- Rate= Velocidad máxima de subida
- Classifier= Src. Address
(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:
- De 08:00 a 12:00 --> Velocidad Máxima Download/Upload
- De 12:01 a 13:00 --> Velocidad media de Download/Upload
- De 13:01 a 17:59 --> Velocidad Máxima de Download/upload
- De 18:00 a 07:50 --> Velocidad mínima de Download/Upload
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....