Añadir redireccionamiento y regla para proxy en embeded
-
Hola
Hace tiempo hablamos con Josep de cual era la mejor manera de añadir un proxy a nuestros pfsense embeded.
Una de las soluciones era poner un pfsense de disco duro entre el embeded y la red.
La otra que se me ocurrió era añadir una regla de NAT para que las peticiones hacia puerto 80 a qualquier ordenador se redirigiera al puerto de squid de otra máquina en otra red.Pues eso, ayer y antes de ayer lo hicimos en dos instalaciones, y a falta de las pruebas de fuerza funciona a la perfección. ;)
Los pasos para reproducirlo son:
Instalar servidor squid en una maquina de una subred diferente de la que queramos hacer pasar por proxy.
Fijarse que /etc/squid/squid.conf que la linea del puerto quede asi :
http_port 3128 transparent
Despues en la página del pfsense ir al menu firewall –> NAT
Allí añadir una nueva regla
En Interface ponemos la tarjeta de red que representa a quien queramos hacer pasar por el proxy, red clientes/alumnos...
en External Address tenemos que poner any, por que any representa la totalidad de la subred controlada.
en protocol tcp, puesto que la web funciona en el puerto 80 tcp
en external port range elegimos el puerto 80
en nat ip ponemos la direccion del ordenador donde esta instalado el squid.
en local port el puerto del squid de ese ordenador (típicamente 3128)
en description poned algo chulo :)
esto "No XMLRPC Sync" se usa por si teneis un pfsense esclavo.
i fijaros que esta marcado "Auto-add a firewall rule to permit traffic through this NAT rule" eso es importante para que los ordenadores clientes puedan acceder al ordenador donde esta el squid.Lo bueno y lo malo de esta configuración:
Lo bueno es que si ponemos un squid no físicamente entre la red y nuestro router, si el squid falla, solo tememos que ir a la regla nat i borrarla.
A diferencia de las rules del firewall, no se pueden desactivar las NAT.
Lo malo es que si falla el squid el sistema dejara de funcionar hasta que borremos la regla NAT. Ya que no monitoriza el puerto de squid para saber si squid esta aún activo, o no.
Supongo que se podría hacer un script en el bsd para que cada n minutos preguntara al proxy si aún esta activo (ping) y cambiar el xml de configuración con uno que apareciera o no la regla nat.
Pero eso ya no lo he echo, pero tendría que ser trivial, pero se me ocurre que quizá valdría la pena que esto (motorización) y la regla nat se añadieran como un paquete para nanobsd.