Squid con multiwan



  • buenas tardes, un placer en saludarles, soy nuevo en esto del pfsense y acá donde trabajo me solicitaron algo en lo cual necesito ayuda, la situación es la siguiente:

    pfsense 2.3 con dos wan y 1 lan, quiero hacer que ciertos usuarios autenticados en el squid (autenticación vía LDAP) salgan por una wan en especifico que tiene internet dedicado, esto con el fin de darle alta disponibilidad y mayor rapidez a ciertos usuarios, por favor mucho le sabre agradecer a quien me pueda dar una idea de como hacer esto, a mi se me ocurrió montar otro pfsense y conectar ahí la otra wan, ahora no se que me dicen uds

    Saludos..



  • Hola.

    Esa es la pregunta del millón :)

    Mira lo que dice la doc de pfSense:
    https://doc.pfsense.org/index.php/Multi-WAN

    By default, traffic using a proxy such as Squid will bypass policy routing and use the default route for traffic at all times. It also bypasses expected outbound NAT and leaves via the WAN IP address directly.

    Policy routing traffic from the firewall itself is not currently possible, and as such, load balancing is not possible. Failover can be achieved in many cases by using default gateway switching under System > Advanced on the Miscellaneous tab.

    Salu2

    –-add---

    Tu solución, poner otro pfSense, puede que sea la más correcta si quieres que ciertos usuarios naveguen por un GW específico, cuando existen proxies "cabezones" que enrutan sí o sí por el mismo GW a pesar de haber balanceo de carga.

    hay balanceadores de carga en el mercado bastante "relativamente" poco caros, que se pueden poner antes que el pfSense (con squid, claro) y así el balanceo se lo quitas de encima al pfSense con squid, que parece que a squid no le gusta eso de multiwan :)



  • muchas gracias por tomarte un tiempo para responder amigo javcasta, tengo un balanceador detras de una wan que en realidad son tres y funciona muy bien pero quiero que varios usuarios por ejemplo: pedro , juan, maría salgan por la wan dos, que el squid me los redireccione a la wan2 y no salgan por la wan1 que a su vez tiene un balanceo detras del pfsense como mencionas, no se si me explico , muchas gracias, suena muy dificil pero algo creo que se debe poder hacer..



  • Hola.

    Repito:

    https://doc.pfsense.org/index.php/Multi-WAN

    By default, traffic using a proxy such as Squid will bypass policy routing and use the default route for traffic at all times. It also bypasses expected outbound NAT and leaves via the WAN IP address directly.

    Policy routing traffic from the firewall itself is not currently possible, and as such, load balancing is not possible. Failover can be achieved in many cases by using default gateway switching under System > Advanced on the Miscellaneous tab.

    "Squid obviará la politica de enrutamiento y usará la ruta por defecto (gw por defecto) para el tráfico en todas las veces. …"

    Por lo que no era mala idea poner un pfSense para unos usuarios y otro para otros usuarios, lo que te oblifga a segmentar la red (ya sea con vlans y switches que soporten vlans) o fisicamente

    Salu2



  • Hola.

    Mira una img de una posible topología de la que te hablaba.

    Se complica la red (más infraestructura, más trabajo de administración: configurar el dhcp server para que de un GW a un pfSense u otro dependiendo de la mac o vía AD/DC, etc, etc), pero es una posible solución.

    Salu2




  • muchas gracias, algo así tengo pensado hacer, ya que por mas que busco no hallo la forma de separar los usuarios en los squid, en teoría es mas fácil ya que el segundo pfsense solo hará labores de proxy y no de gateway, solo filtrado de contenido pero con un mejor internet (dedicado)



  • Hola

    Imagino que los usuarios "muy" avanzados, lo que harian seria:

    -Crear una segunda instancia de squid (y squidGuard) y lanzarla con diferente conf, acls y gw …

    Pero hacer ese tipo de cosas está muy bien como lab de tests y pruebas , para producción, casi casi ir sobre seguro y tener otro pfSense :)

    Ya nos contarás como lo haces.

    Salu2



  • buenos días , lei esto en otro post que creo me podría servir, ahora no se como hacer que el squi trabaje con dos puertos, edito el archivo squid.conf y cuando reinicio el squid me borra los cambios, tengo pensado hacer algo como esto, que el puerto 8080 salga por wan2 y configurar el squid con ese puerto a los usuarios que quiero salgan por ese internet.

    "Se me ocurre una idea, pero debes tocar el archivo de configuración de Squid en crudo, porque directamente desde el GUI "no" hay manera, y pongo el "no" en comillas, porque hay una opción del GUI que podrías probar.

    Primero la idea.

    Poner Squid a escuchar en multiples puertos, por ejemplo 3128 y 8080

    http_port 3128
    http_port 8080

    Esto tendrá a squid escuchando por dos puertos.

    En tu regla LAN, colocas el segmento que quieres salir por WAN1 y WAN2 así.

    Source                        Destination        Port      Gateway
    SegmentoVLAN1      LAN-Address    3128    WAN1
    SegmentoVLAN2      LAN-Address    8080    WAN2

    Luego debes configurar los diferentes equipos de tu red, para que unos tengan proxy.dominio.com:3128  y otros proxy.dominio.com:8080

    Ahora bien, desde el GUI podrías probar en las configuraciones avanzadas, y colocar  http_port 8080  y así tener siempre la configuración bien que construye el XML, pero presumo que en lugar de tener  192.168.0.1:3128  y 192.168.0.1:8080  en Listen, vas a tener  192.168.0.1:3128  y  *:8080  por lo cual tendrás que tener cuidado de mantener bien cerradas esas reglas WAN."

    Saludos.



  • @seim:

    "Se me ocurre una idea, pero debes tocar el archivo de configuración de Squid en crudo, porque directamente desde el GUI "no" hay manera, y pongo el "no" en comillas, porque hay una opción del GUI que podrías probar.

    Primero la idea.

    Poner Squid a escuchar en multiples puertos, por ejemplo 3128 y 8080

    http_port 3128
    http_port 8080

    Esto tendrá a squid escuchando por dos puertos.

    En tu regla LAN, colocas el segmento que quieres salir por WAN1 y WAN2 así.

    Source                        Destination        Port      Gateway
    SegmentoVLAN1      LAN-Address    3128    WAN1
    SegmentoVLAN2      LAN-Address    8080    WAN2

    Luego debes configurar los diferentes equipos de tu red, para que unos tengan proxy.dominio.com:3128  y otros proxy.dominio.com:8080

    Ahora bien, desde el GUI podrías probar en las configuraciones avanzadas, y colocar  http_port 8080  y así tener siempre la configuración bien que construye el XML, pero presumo que en lugar de tener  192.168.0.1:3128  y 192.168.0.1:8080  en Listen, vas a tener  192.168.0.1:3128  y  *:8080  por lo cual tendrás que tener cuidado de mantener bien cerradas esas reglas WAN."

    Saludos.

    Hola, este post es mio, no te expliqué esta configuración en tu hilo, porque entiendo que quieres enrutar por usuarios (capa 7) y la solución que dí en el ejemplo es por segmentos (capa 3).

    Esto te va a servir si tienes un solo segmento de red, pero si tienes dos segmentos separados, donde un segmento va por un gateway y otro segmento por otro gateway, no tienes que colocar 2 puertos, sencillamente configuras la regla en cada LAN, como indica Bellera debajo de mi post, ahora bien, si tienes un solo segmento, sí te va a servir mi ejemplo. En ese mismo post digo donde tienes que poner http_port 8080 para que el XML de la configuración no solape el cambio que haces a pie  ;D
    Saludos



  • buenas, creo que si me funciona, pues, pienso asignar al puerto 8080 que salga por la wan2 y al 3128 por la wan1 rechazandolo por la wan2

    wan1(internet básico)
    wan2(internet dedicado)

    y a los usuarios que quiero salgan por el mejor internet le configuraría el proxy por el puerto 8080 que sale por wan 2 y los demas por wan1, me explico? pero, de verdad no hallo la forma de que squid escuche por los dos puertos al mismo tiempo 3128 - 8080

    mucho le sabré agradecer a quienes me puedan ayudar a realizar esto para proceder a realizar las pruebas.



  • Como comenté en el otro hilo, para evitar que el XML que construye el archivo de configuración, solape los cambios a pie… debes usar las opciones avanzadas del servicio squid.

    [Advanced Features]
    [Integrations]
    Agregar:
    http_port 8080
    Guardar cambios

    Saludos


Log in to reply