Configurar Squid Transparente en forma Manual



  • Saludos a todos, alguien sabe como y donde se podria configurar el redireccionamiento automatico del puerto tcp 80 hacia squid corriendo en el puerto 3128, yo se que en el gui aparece la opcion para hacerlo automatico pero mi problema es que lo quiero hacer solamente cuando el destino sea diferente a una ip especifica, osea que cuando el destino es digamos 192.168.100.50 no pase por squid, el problema que tengo es que la aplicacion destino en el servidor 192.168.100.50 corre usando http://1.1 y squid todavia no soporta esa version del protocolo, solamente http://1.0, yo he hecho lo anterior descrito editando el pf.conf con las siguientes lineas:

    rdr on xl0 proto tcp from any to  { !192.168.100.50 } port 80 -> 127.0.0.1 port 3128



  • Hola, probaste haciendo un Outbound NATdonde el Source sea la red o equipos que quieres que salgan , el destino su servidor proxy y el puerto de traslado el del squid?
    -debería estar ubicado antes que el nat principal de salida..
    salu2



  • no he probado, pero como no sabemos si eso se evalua prinmero que la red de transparent proxy de squid?, ya que cuando esta activado no se crea nada en firewall -> nat, pero si funciona le redirect, pero lo probare y asi lo sabremos :-)



  • hola
    tengo un proxy tranparente y queria que todo vaya al proxy menos una ip.
    en pfsense no encontre como hacerlo, la unica forma que encontre es armar
    un script que me cambie la regla:

    
    rdr on dc1 inet proto tcp from any to any port = http -> 192.168.1.1 port 8080
    
    

    por

    
    rdr on dc1 inet proto tcp from { !192.168.1.150 } to any port = http -> 192.168.1.1 port 8080
    
    

    quedo asi:

    
    #!/bin/sh
    
    #el sleep es para que cargue el pf y lo pueda modificar
    /bin/sleep 120
    
    PFDEFAULT="/root/pf/pf.default"
    PFTEMP="/root/pf/pf.temp"
    PFNEW="/root/pf/pf.new"
    
    #busco las reglas nat -> pf.default
    /sbin/pfctl -sn > $PFDEFAULT
    
    #rdr on dc1 inet proto tcp from any to any port = http -> 192.168.1.1 port 8080 -> CHANGERDR
    /usr/bin/sed 's/rdr\ on\ dc1\ inet\ proto\ tcp\ from\ any\ to\ any\ port\ \=\ http\ \-\>\ 192.168.1.1\ port\ 8080/CHANGERDR/' $PFDEFAULT > $PFTEM
    
    #CHANGERDR -> rdr on dc1 inet proto tcp from { !191.168.1.150 } to any port = http -> 192.168.1.1 port 8080
    /usr/bin/sed 's/CHANGERDR/rdr\ on\ dc1\ inet\ proto\ tcp\ from\ \{ \!192.168.1.150\ \}\ to\ any\ port\ \=\ http\ \-\>\ 192.168.1.1\ port\ 8080/' $PFTEMP > $PFNEW
    
    #flush nat 
    /sbin/pfctl -F nat
    
    #new NAT rules
    /sbin/pfctl -Nf $PFNEW
    
    

    en el crontab -e

    
    @reboot /bin/sh /root/pf/modif
    
    

    si, ya se, mucho quilombo, pero es la unica forma que encontre
    espero que sirva.
    saludos


Log in to reply