Mikrotik: Crear un Proxy Transparente
Vamos a aumentar el control sobre la red implementando un Proxy Transparente en nuestro Mikrotik RB5009…
La idea es no tener que configurar nada adicional en mis clientes, pero poder ver qué tipo de tráfico de navegación puedo capturar en casa. Esto lo vamos a poder hacer con un role que ya existe dentro de RouterOS.
Un proxy transparente, también conocido como proxy en línea, intercepta el tráfico de red sin requerir configuración manual en el dispositivo del cliente. Esto es particularmente útil para la administración de tráfico, el filtrado de contenido, y la caché de páginas web para mejorar la velocidad de carga en una red.
Configuración web proxy en Mikrotik
Primero, debes habilitar el servidor proxy en tu router MikroTik. Esto lo podemos hacer vía WebFig, WinBox o SSH. Os dejo como lo haríamos. Vamos al menú IP -> Web Proxy:
Si lo queremos hacer vía comando, usaremos:
1 |
/ip proxy set enabled=yes port=8080 |
Si lo habilitamos de esta forma, tendríamos que configurar nuestros clientes para que lo usen. En Windows se hace desde el Panel de Control -> Redes e Internet. Yo he generado un nombre en el DNS para el router y colocamos el puerto 8080, si no lo hemos cambiado:
En poco rato, verás el tráfico:
Veréis que se va generando tráfico:
Podéis revisar el estado mediante comandos:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
[ELBLOGDENEGU@MikroTik] > /ip proxy print enabled: yes src-address: :: port: 8080 anonymous: no parent-proxy: :: parent-proxy-port: 0 cache-administrator: webmaster max-cache-size: unlimited max-cache-object-size: 2048KiB cache-on-disk: no max-client-connections: 600 max-server-connections: 600 max-fresh-time: 3d serialize-connections: no always-from-cache: no cache-hit-dscp: 4 cache-path: web-proxy [ELBLOGDENEGU@MikroTik] > /ip proxy monitor status: running uptime: 16m3s client-connections: 4 server-connections: 2 requests: 495 hits: 0 cache-used: 0KiB total-ram-used: 0KiB received-from-servers: 26303KiB sent-to-clients: 26300KiB hits-sent-to-clients: 0KiB |
Configuración Proxy Transparente en Mikrotik
Para poder hacer que este Proxy habilitado sea transparente, y nuestros clientes no necesiten modificación, deberemos generar varias reglas. Por ejemplo, una regla de NAT, para que todo el tráfico por el puerto 80-HTTP al 8080 del Proxy:
1 2 |
/ip firewall nat add chain=dstnat action=redirect protocol=tcp dst-port=80 to-ports=8080 |
Limitamos que sólo pueda acceder los equipos de nuestra LAN y nadie más:
1 2 3 |
/ip proxy access add dst-port=8080 src-address=192.168.2.0/24 action=allow add dst-port=8080 action=deny |
Limitamos el tamaño de la caché para no romper nada:
1 |
/ip proxy set cache-path=/web-proxy cache-size=1000MiB max-cache-size=unlimited |
Y con esto ya tendríamos el Proxy Transparente funcionando…
Optimización de Proxy en Mikrotik
Si queréis optimizar la configuración de vuestro proxy podéis implementar otros parámetros. Os dejo unos cuantos:
- Ajustar el tamaño de la caché:
1 |
/ip proxy set cache-size=2048MiB max-cache-size=unlimited cache-on-disk=yes |
- Limitar el uso de caché por sitio:
1 2 |
/ip proxy access add dst-host=:!*.elblogdenegu.eu action=deny /ip proxy access add path=:!*.jpg action=deny |
- Definir directivas para actualizar la caché:
1 2 |
/ip proxy cache add url="*.example.com" action=refresh |
- Podéis activar la compresión de datos, usando una máquina virtual o un contenedor docker con Squid, por ejemplo y redirigiendo el tráfico a él (no se puede crear en RouterOS):
1 |
/ip firewall nat add chain=dstnat protocol=tcp dst-port=80 action=redirect to-ports=3128 |
- Definir el tipo de contenido que se almacena en caché:
1 2 |
/ip proxy access add dst-host=*.jpg action=deny /ip proxy access add dst-host=*.css action=allow |
- Limitar el ancho de banda por usuario o servicio:
1 |
/queue simple add name="Limit-HTTP" target-addresses=192.168.2.0/24 dst-port=80 protocol=tcp max-limit=1M/5M |
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?
Pero realmente puede captura trafico del puerto 443?, aplico lo que comentas pero los equipos de la lan, no navegan cuando habilito el puerto 443 en el nat.
/ip firewall nat
add chain=dstnat action=redirect protocol=tcp dst-port=80,443 to-ports=8080
Sip, se me ha colado, es puerto 80. Sorry!
Salu2
Saludos, recomendación no usar el puerto 8080. lo están usando muchas empresas
configurar puertos udp y tcp de manera individual trabaja mejor
/ip firewall nat
add chain=dstnat action=redirect protocol=tcp dst-port=80 to-ports=8080
/ip firewall nat
add chain=dstnat action=redirect protocol=udp dst-port=443 to-ports=8080
Gracias César