Squid3 - Come farlo funzionare a dovere?



  • Salve a tutti!
    Ho girato in lungo ed in largo tutto il forum (direi anche il www!) per cercare la soluzione definitiva al problema di squid3 e cioè:

    NON FUNZIONA IN MODALITà TRASPARENTE!  >:(

    Dato che il problema è ricorrente e che la soluzione farebbe piacere davvero a molti, vi chiedo cortesemente di raggruppare solo in questo post le vostre esperienze, sperando che, unendo le menti, si possa finamente arrivare ad una soluzione concreta.

    Sinceramente, è un pò che ci sto sbattendo il muso e questa è l'ultima chance prima di dare fuoco a tutto…

    Da parte mia posso dirvi che:
    1. Se non si utilizza squid3, non è possibile fare il Load Balance (che a me serve);
    2. Se imposto il proxy manualmente nel browser, tutto funziona correttamente;
    3. Non è possibile editare manualmente squid.conf, perchè sembra che psfense lo ricarichi automaticamente al reboot dalle config inserite nel GUI;
    4. Non è possibile fare il foward di tutte le chiamate http sulla porta 3128, va in errore;
    5. Dalla Shell di pfsense non è possibile inserire manualmente comandi con IPTABLES, tipo:
        iptables -t nat -A PREROUTING -i eth1 -s 192.168.1.0/24 -p tcp --dport 80 -j REDIRECT --to-port 3128
    6. é possibile girare il traffico ad una seconda squid box, ma non voglio farlo (deve fare tutto PfSense  >:()
    7. Non è possibile nattare l'interfaccia LAN di pfsense su se stessa alla porta 3128.

    Offro una birra a chi sa aiutarmi! ;D



  • che tipo di errore ti da quando fai il fowarding???  potrebbe essere che la regola venga scritta male dalla gui di pfsense … gia con il pppoe ho avuto modo di imbattermici.. semplicemente il form non veniva scritto nella stringa di testo della regola..

    l'unica soluzione escludendo una seconda macchina a monte che faccia il balancing e' di usare il fowarding!

    attendo il tuo post, vediamo se possiamo risolvere il problema!



  • mmm…
    devi scusarmi, ma l'errore al punto 4 del primo post non lo da più (non ricordo bene, l'ho visto solo un paio di volte, ma si trattava di un errore di squid, e lo dava nel nel browser nel momento in cui provavo a navigare)... forse avevo sbagliato ad inserire qualche regola...

    Comunque, ho resettato tutto ed inserito:

    ->Firewall->NAT->Port Forward

    If    Proto    Ext. port range      NAT IP                    Int. port range            Description 
    LAN TCP         80 (HTTP)         IP LAN pfSense              3128                          Rule to Squid
                                                    (ext.: IP LAN pfSense)

    ed ho flaggato "Auto-add a firewall rule to permit traffic through this NAT rule"
    che ha creato la seguente:

    Proto  Source  Port  Destination        Port  Gateway  Schedule
    TCP    *          *  IP LAN pfSense  3128  *      NAT Rule to Squid

    ma funge come prima descritto e cioè solo impostando a mano il proxy nel browser... :'(

    Dov'è che sbaglio?!?  ???



  • prova a loggare la regola e lancia una sessione http: cosa ti dicono il log? ci arrivi ??

    il menagement lato lan ti funziona ancora?

    http://forums.freebsd.org/archive/index.php/t-1385.html  hai settato la modalita trasparente? (domanda idiota ma necessaria.)



  • Log
    Ho cercato in:
    Diagnostics: System logs: System - Nulla
    Diagnostics: System logs: Firewall - Nulla
    Diagnostics: System logs: Portal Auth -  (squid[50337]: Squid Parent: child process 50339 started) almeno è partito!
    /var/squid/log/access.log
    1254907763.510  2178 192.168.1.74 TCP_MISS/200 39323 CONNECT pfsense:443 - DIRECT/192.168.1.254 -
    1254907769.525  8070 192.168.1.74 TCP_MISS/200 40272 CONNECT pfsense:443 - DIRECT/192.168.1.254 -
    1254907770.526  18846 192.168.1.74 TCP_MISS/200 501323 CONNECT pfsense:443 - DIRECT/192.168.1.254 -
    1254907771.527  10076 192.168.1.74 TCP_MISS/200 13351 CONNECT pfsense:443 - DIRECT/192.168.1.254 -
    1254908079.560  29523 192.168.1.74 TCP_MISS/200 2123 POST http://forum.pfsense.org/index.php? - DIRECT/69.64.6.21 text/xml
    1254908315.286  1419 192.168.1.74 TCP_MISS/200 2362 POST http://forum.pfsense.org/index.php? - DIRECT/69.64.6.21 text/xml
    1254908555.804  1669 192.168.1.74 TCP_MISS/200 6068 GET http://www.lagado.com/proxy-test - DIRECT/119.31.230.68 text/html
    1254908556.268    449 192.168.1.74 TCP_MISS/304 229 GET http://www.lagado.com/tools/image/lagado-logo.gif - DIRECT/119.31.230.68 -
    1254908556.397    578 192.168.1.74 TCP_MISS/304 336 GET http://pagead2.googlesyndication.com/pagead/show_ads.js - DIRECT/74.125.39.164 -
    1254908556.494    81 192.168.1.74 TCP_MISS/304 338 GET http://pagead2.googlesyndication.com/pagead/expansion_embed.js - DIRECT/74.125.39.164 -
    1254908556.946    432 192.168.1.74 TCP_MISS/304 340 GET http://googleads.g.doubleclick.net/pagead/test_domain.js - DIRECT/209.85.129.155 -
    1254908557.206    249 192.168.1.74 TCP_MISS/200 5584 GET http://googleads.g.doubleclick.net/pagead/ads? - DIRECT/209.85.129.155 text/html
    1254908619.903 770547 192.168.1.74 TCP_MISS/200 219397 CONNECT pfsense:443 - DIRECT/192.168.1.254 -

    ma solo se lo imposto manualmente, altrimenti NISBA!

    L'errore che mi dava è proprio questo:

    ERROR
    The requested URL could not be retrieved
    While trying to retrieve the URL: /
    The following error was encountered:
    Invalid URL
    Some aspect of the requested URL is incorrect. Possible problems:
    Missing or incorrect access protocol (should be `http://'' or similar)
    Missing hostname
    Illegal double-escape in the URL-Path
    Illegal character in hostname; underscores are not allowed
    Your cache administrator is webmaster.

    ma, ripeto, non si è più presentato…

    Se per lan management intendi l'accesso al GUI lato LAN, si, tutto funziona regolarmente.

    Si anche per il flag "Transparent Mode".

    Ecco il mio squid.conf:

    Do not edit manually !

    http_port 192.168.1.254:3128
    http_port 127.0.0.1:80 transparent
    icp_port 0
    pid_filename /var/run/squid.pid
    cache_effective_user proxy
    cache_effective_group proxy
    error_directory /usr/local/etc/squid/errors/Italian
    icon_directory /usr/local/etc/squid/icons
    visible_hostname XXX
    cache_mgr XXX
    access_log /var/squid/log/access.log
    cache_log /var/squid/log/cache.log
    cache_store_log none
    logfile_rotate 7
    shutdown_lifetime 3 seconds

    Allow local network(s) on interface(s)

    acl localnet src  192.168.1.0/255.255.255.0
    uri_whitespace deny
    cache_dir aufs /var/squid/cache 100 16 256
    cache_mem 8 MB
    maximum_object_size 4 KB
    minimum_object_size 0 KB
    cache_replacement_policy heap LFUDA
    memory_replacement_policy heap GDSF
    offline_mode off
    dns_children 32
    cache_swap_low 90
    cache_swap_high 95
    acl donotcache dstdomain "/var/squid/acl/donotcache.acl"
    cache deny donotcache

    No redirector configured

    Setup some default acls

    acl localhost src 127.0.0.1/255.255.255.255
    acl safeports port 21 70 80 210 280 443 488 563 591 631 777 901  3128 1025-65535
    acl sslports port 443 563
    acl manager proto cache_object
    acl purge method PURGE
    acl connect method CONNECT
    acl dynamic urlpath_regex cgi-bin ?
    acl whitelist dstdom_regex -i "/var/squid/acl/whitelist.acl"
    cache deny dynamic
    http_access allow manager localhost
    http_access deny manager
    http_access allow purge localhost
    http_access deny purge
    http_access deny !safeports
    http_access deny CONNECT !sslports

    Always allow localhost connections

    http_access allow localhost
    quick_abort_min 0 KB
    quick_abort_max 0 KB
    request_body_max_size 0 KB
    reply_body_max_size 0
    delay_pools 1
    delay_class 1 2
    delay_parameters 1 -1/-1 -1/-1
    delay_initial_bucket_level 100

    Throttle extensions matched in the url

    acl throttle_exts urlpath_regex -i "/var/squid/acl/throttle_exts.acl"
    delay_access 1 allow throttle_exts
    delay_access 1 deny all

    Always allow access to whitelist domains

    http_access allow whitelist

    Allow local network(s) on interface(s)

    http_access allow localnet

    Custom options

    redirect_program /usr/local/bin/squidGuard -c /usr/local/etc/squidGuard/squidGuard.conf
    redirector_bypass on
    redirect_children 3

    Default block all to be sure

    http_access deny all

    Per quanto riguarda l'ultimo post del link che mi hai inviato:
    bufo333
    July 15th, 2009, 03:00
    This problem is easy to fix, when you are using ipfw or ipfilter to redirect ports in transparent mode, you get that weird error unless you tell squid you are in transparent mode.
    Add the following line to fix the problem.
    http_port 3128 transparent

    Vale quanto ho esposto nel mio 1° post al numero 3: non è possibile editare manualmente squid.conf



  • ho fatto un po di test: e' come dici te … inoltre ho scoperto che il proxy ( qualsiasi versione ) non proxa  la pppoe subnet!!!!

    veramente strano...

    proviamo a postare nel forum in inglese specifico????



  • :'( :'( :'(

    Ok, proviamo a postare….anche se credo che si debba attendere la nuove release per provare a risolvere il problema, ci sono molti nelle mie condizioni....

    Tu che sei più "anziano" del forum, dove credi sia più opportuno? Forse qui?
    http://forum.pfsense.org/index.php/board,21.0.html



  • si credo sia giusto … un sacco di gente ha lo stesso problema:

    io nelle ultime 2 settimane ho avuto 2 macchine che facevano il balancing che letteralmente tiravano giu la rete tutte e due dopo circa 2 terabyte di dati !! ogni tanto una interfaccia crollava e  incasinava tutto ... ma tipo che crollavano gli switch!!
    sinceramente abbandono il multiwan su pfsense per passare a vyatta:
    ora usavo una configurazione con un pfsense a monte con il balancing e pppoe e uno a valle che fa il captive ma  non posso permettermi di dare troppe discontinuità al servizio!
    adottero una configurazione con vyatta ( che funge a meraviglia come load balancing anche con proxy ed e' per giunta simìle al cisco...) a monte e pfsense come pppoe server e captive portal... dovro tribolare un sacco per passare gli ip pubblici e le vpn!
    magari con il 2.0 risolveranno tutto ma ora il multiwan non e' ancora affinato al punto giusto:
    problemi con l'ftp insormontabili ( con il pppoe server proprio non va!)
    con piu di 2 interfaccie wan le regole crescono esponenzialmente ( io uso 5 wan e il fail over e' un bordello! ) .... 
    vyatta fa tutto da solo ( failover automatico)  il proxy squid 3 e' perfetto e il balancing e' pesato ( round rubin pesato....)


Log in to reply