Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Windows Update Cache

    Scheduled Pinned Locked Moved Deutsch
    9 Posts 5 Posters 3.5k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      haithabu84
      last edited by

      Guten Tag,

      da mir mittlerweile beim jedem Microsoft Update Day immer die Leitung gesprengt wird, wollte ich mal sehen wie es mit einem Update Cache für die Windows Updates aussieht. Gefunden habe ich leider nur ein etwas älteres Howto im englischen Forum, was nicht mehr ganz aktuell schien.

      Gibt es da mittlerweile Neuerungen im Bezug auf Squid? Hat das jemand zufällig die letzte Zeit konfiguriert und könnte mir schildern wie es geht? Auch ein aktuelles Howto würde schon reichen.

      Seitdem bei Windows 10 per default nur automatische Updates gehen, ist die Leitung regelmäßig dicht. Aber ganz auf Updates möchte man wiederum auch nicht verzichten. Ich hoffe jemand kann mir da helfen.

      Gruß

      1 Reply Last reply Reply Quote 0
      • JeGrJ
        JeGr LAYER 8 Moderator
        last edited by

        Gehts dabei um privaten Bereich? Ansonsten wäre im Firmenumfeld ggf ein WSUS anzuraten um auch die Updates besser zu steuern.

        Gruß

        Don't forget to upvote 👍 those who kindly offered their time and brainpower to help you!

        If you're interested, I'm available to discuss details of German-speaking paid support (for companies) if needed.

        1 Reply Last reply Reply Quote 0
        • H
          haithabu84
          last edited by

          Nee geht eher um Firma. Ich habe leider keine Domäne und das Geld für eine Windows Server Lizenz will mir auch keiner geben. Bisher konnte ich dafür aber auch keine Alternative finden.

          Man muss wissen: In meiner Firma wird eine strikte Open-Source-Linie gefahren. Aber auf Windows als Client und Office will man auch nicht verzichten. ::)

          1 Reply Last reply Reply Quote 0
          • sebdenS
            sebden
            last edited by

            Hey, wir haben in einem anderen Fred ja schon mal kurz drüber gesprochen, bei unserer kleinen Firma klappt das bislang ganz gut.

            Ich habe im squid dynamischen content aktiviert und einen 3 zeiler drin,  der für Microsoft.com und ähnliche URLs dann sämtliche Pakete cached. Also ein refresh pattern.

            Das im squid wiki empfohlene fortsetzen jeder beliebigen Datei musste ich jedoch entfernen.

            http://wiki.squid-cache.org/SquidFaq/WindowsUpdate

            Es hat dazu geführt das die Leitung permanent unter Volllast lief weil jeder Murks von überall zu ende geladen wurde selbst wenn kein PC mehr in Betrieb war  :o

            Derzeit werden von den meisten Updates die meisten "Abschnitte" scheinbar aus dem Cache bedient. Zumindest scheint es so, da die Updates recht ruckartig fertig werden. Ich werde das bei Gelegenheit mal auswerten mit Lightsquid oder so.

            Grüße

            1 Reply Last reply Reply Quote 0
            • P
              pommes
              last edited by

              Hallo sebden.

              kannst du dein refresh pattern einmal posten? Ich suche seit Jahren eine gute conf. die funkioniert für Windows Updatet

              1 Reply Last reply Reply Quote 0
              • M
                More
                last edited by

                Hallo,
                ich probiere auch schon einige Zeit rum. Um hier voranzukommen stelle ich meine squid.conf zur Diskussion.
                Hardware APU2C4 mit mSATA 60Gb im privaten Umfeld.

                # This file is automatically generated by pfSense
                # Do not edit manually !
                
                http_port 192.168.1.1:3128
                http_port 192.168.178.1:3128
                http_port 127.0.0.1:3128 intercept
                icp_port 0
                digest_generation off
                dns_v4_first on
                pid_filename /var/run/squid/squid.pid
                cache_effective_user squid
                cache_effective_group proxy
                error_default_language en
                icon_directory /usr/local/etc/squid/icons
                visible_hostname localhost
                cache_mgr admin@localhost
                access_log /var/squid/logs/access.log
                cache_log /var/squid/logs/cache.log
                cache_store_log none
                netdb_filename /var/squid/logs/netdb.state
                pinger_enable on
                pinger_program /usr/local/libexec/squid/pinger
                
                logfile_rotate 0
                debug_options rotate=0
                shutdown_lifetime 3 seconds
                # Allow local network(s) on interface(s)
                acl localnet src  192.168.1.0/24 192.168.178.0/24
                forwarded_for transparent
                uri_whitespace strip
                
                refresh_pattern -i microsoft.com/.*\.(cab|exe|ms[i|u|f]|[ap]sf|wm[v|a]|dat|zip) 4320 80% 43200 reload-into-ims
                refresh_pattern -i windowsupdate.com/.*\.(cab|exe|ms[i|u|f]|[ap]sf|wm[v|a]|dat|zip) 4320 80% 43200 reload-into-ims
                refresh_pattern -i windows.com/.*\.(cab|exe|ms[i|u|f]|[ap]sf|wm[v|a]|dat|zip) 4320 80% 43200 reload-into-ims
                refresh_pattern ([^.]+.|)avast.com/.* 4320 100% 43200 reload-into-ims
                refresh_pattern ([^.]+.|)avg.com/.*\.(bin) 4320 100% 43200 reload-into-ims
                refresh_pattern -i .*\.microsoft\.com\/filestreamingservice\/files\/.* 4320 80% 43200 reload-into-ims
                refresh_pattern -i .*\.marketplacecontent\.windowsphone.com\/public\/.* 4320 80% 43200 reload-into-ims
                
                cache_mem 2048 MB
                maximum_object_size_in_memory 1024 KB
                memory_replacement_policy heap GDSF
                cache_replacement_policy heap LFUDA
                minimum_object_size 0 KB
                maximum_object_size 5000 MB
                cache_dir ufs /var/squid/cache 6000 16 256
                offline_mode off
                cache_swap_low 90
                cache_swap_high 95
                cache allow all
                # Add any of your own refresh_pattern entries above these.
                refresh_pattern ^ftp:    1440  20%  10080
                refresh_pattern ^gopher:  1440  0%  1440
                refresh_pattern -i (/cgi-bin/|\?) 0  0%  0
                refresh_pattern .    0  20%  4320
                
                #Remote proxies
                
                # Setup some default acls
                # ACLs all, manager, localhost, and to_localhost are predefined.
                acl allsrc src all
                acl safeports port 21 70 80 210 280 443 488 563 591 631 777 901 444 3128 3129 1025-65535 
                acl sslports port 443 563 444 
                
                acl purge method PURGE
                acl connect method CONNECT
                
                # Define protocols used for redirects
                acl HTTP proto HTTP
                acl HTTPS proto HTTPS
                acl whitelist dstdom_regex -i "/var/squid/acl/whitelist.acl"
                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
                quick_abort_pct 70
                request_body_max_size 0 KB
                reply_body_max_size 6291456 KB allsrc 
                delay_pools 1
                delay_class 1 2
                delay_parameters 1 -1/-1 -1/-1
                delay_initial_bucket_level 100
                delay_access 1 allow allsrc
                
                # Reverse Proxy settings
                
                deny_info TCP_RESET allsrc
                
                # Package Integration
                url_rewrite_program /usr/local/bin/squidGuard -c /usr/local/etc/squidGuard/squidGuard.conf
                url_rewrite_bypass off
                url_rewrite_children 16 startup=8 idle=4 concurrency=0
                
                # Custom options before auth
                
                # Always allow access to whitelist domains
                http_access allow whitelist
                # Setup allowed ACLs
                # Allow local network(s) on interface(s)
                http_access allow localnet
                # Default block all to be sure
                http_access deny allsrc
                
                icap_enable on
                icap_send_client_ip on
                icap_send_client_username on
                icap_client_username_encode off
                icap_client_username_header X-Authenticated-User
                icap_preview_enable on
                icap_preview_size 1024
                
                icap_service service_avi_req reqmod_precache icap://127.0.0.1:1344/squid_clamav bypass=off
                adaptation_access service_avi_req allow all
                icap_service service_avi_resp respmod_precache icap://127.0.0.1:1344/squid_clamav bypass=on
                adaptation_access service_avi_resp allow all
                

                Es funktioniert ganz gut aber nicht optimal. Manche Updates über microsoft.com/filestreamingservice/files werden nicht geladen. Die Einträge von Avast und AVG sind notwerndig für die Virenscanner im Haus.

                1 Reply Last reply Reply Quote 0
                • P
                  pommes
                  last edited by

                  hm meinige sieht so ähnlich aus.
                  Woher weist du denn das der Cache funktioniert  ?
                  Ich schaue mir zwar immer die HIT an aber wenn ich WAN Eingang und LAN Ausgang anschaue, bin ich nur um einbar MB in Vorsprung  ???
                  Obwohl Lightsquid mir was anderes zeigt

                  		Accessed site	                      Connect	 Bytes	    %
                  1	who	7.tlu.dl.delivery.mp.microsoft.com	18 922	10.7 G	16.0%
                  2	who	download.windowsupdate.com	        26 786	  6.5 G	  9.8%
                  3	who	2.tlu.dl.delivery.mp.microsoft.com	10 588	  6.4 G	  9.6%
                  4	who	au.download.windowsupdate.com	10 246	  5.4 G	  8.0%
                  5	who	fullproduct.download.microsoft.com	3	          5.2 G	   7.7%
                  
                  

                  squid.conf:

                  # This file is automatically generated by pfSense
                  # Do not edit manually !
                  
                  http_port 10.0.0.251:3128
                  http_port 127.0.0.1:3128 intercept
                  icp_port 0
                  dns_v4_first off
                  pid_filename /var/run/squid/squid.pid
                  cache_effective_user squid
                  cache_effective_group proxy
                  error_default_language de
                  icon_directory /usr/local/etc/squid/icons
                  visible_hostname pfsense
                  cache_mgr 
                  access_log /var/squid/logs/access.log
                  cache_log /var/squid/logs/cache.log
                  cache_store_log none
                  netdb_filename /var/squid/logs/netdb.state
                  pinger_enable on
                  pinger_program /usr/local/libexec/squid/pinger
                  
                  logfile_rotate 7
                  debug_options rotate=7
                  shutdown_lifetime 3 seconds
                  # Allow local network(s) on interface(s)
                  acl localnet src  10.0.0.0/24
                  forwarded_for on
                  uri_whitespace strip
                  
                  acl windowsupdate dstdomain windowsupdate.microsoft.com
                  acl windowsupdate dstdomain .update.microsoft.com
                  acl windowsupdate dstdomain download.windowsupdate.com
                  acl windowsupdate dstdomain redir.metaservices.microsoft.com
                  acl windowsupdate dstdomain images.metaservices.microsoft.com
                  acl windowsupdate dstdomain c.microsoft.com
                  acl windowsupdate dstdomain www.download.windowsupdate.com
                  acl windowsupdate dstdomain wustat.windows.com
                  acl windowsupdate dstdomain crl.microsoft.com
                  acl windowsupdate dstdomain sls.microsoft.com
                  acl windowsupdate dstdomain productactivation.one.microsoft.com
                  acl windowsupdate dstdomain ntservicepack.microsoft.com
                  
                  acl CONNECT method CONNECT
                  acl wuCONNECT dstdomain www.update.microsoft.com
                  acl wuCONNECT dstdomain sls.microsoft.com
                  
                  http_access allow CONNECT wuCONNECT localnet
                  http_access allow windowsupdate localnet
                  
                  refresh_pattern -i microsoft.com/.*\.(cab|exe|ms[i|u|f]|[ap]sf|wm[v|a]|dat|zip) 4320 80% 43200 reload-into-ims
                  refresh_pattern -i windowsupdate.com/.*\.(cab|exe|ms[i|u|f]|[ap]sf|wm[v|a]|dat|zip) 4320 80% 43200 reload-into-ims
                  refresh_pattern -i windows.com/.*\.(cab|exe|ms[i|u|f]|[ap]sf|wm[v|a]|dat|zip) 4320 80% 43200 reload-into-ims
                  range_offset_limit 200 MB windowsupdate
                  maximum_object_size 200 MB
                  quick_abort_min -1
                  
                  refresh_pattern \^ftp:           1440    20%     10080
                  refresh_pattern \^gopher:        1440    0%      1440
                  refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
                  refresh_pattern .               0       20%     4320
                  
                  cache_mem 3500 MB
                  maximum_object_size_in_memory 3072 KB
                  memory_replacement_policy heap GDSF
                  cache_replacement_policy heap LFUDA
                  minimum_object_size 0 KB
                  maximum_object_size 6000 MB
                  cache_dir ufs /HDD1/cache 300000 16 256
                  offline_mode off
                  cache_swap_low 90
                  cache_swap_high 95
                  cache allow all
                  # Add any of your own refresh_pattern entries above these.
                  refresh_pattern ^ftp:    1440  20%  10080
                  refresh_pattern ^gopher:  1440  0%  1440
                  refresh_pattern -i (/cgi-bin/|\?) 0  0%  0
                  refresh_pattern .    0  20%  4320
                  
                  #Remote proxies
                  
                  # Setup some default acls
                  # ACLs all, manager, localhost, and to_localhost are predefined.
                  acl allsrc src all
                  acl safeports port 21 70 80 210 280 443 488 563 591 631 777 901  3128 3129 1025-65535 
                  acl sslports port 443 563  
                  
                  acl purge method PURGE
                  acl connect method CONNECT
                  
                  # Define protocols used for redirects
                  acl HTTP proto HTTP
                  acl HTTPS proto HTTPS
                  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
                  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 allsrc
                  
                  # Reverse Proxy settings
                  
                  # Custom options before auth
                  
                  # Setup allowed ACLs
                  # Allow local network(s) on interface(s)
                  http_access allow localnet
                  # Default block all to be sure
                  http_access deny allsrc
                  
                  
                  1 Reply Last reply Reply Quote 0
                  • sebdenS
                    sebden
                    last edited by

                    @pommes:

                    Hallo sebden.

                    kannst du dein refresh pattern einmal posten? Ich suche seit Jahren eine gute conf. die funkioniert für Windows Updatet

                    negative_ttl 5 second;
                    negative_dns_ttl 5 second;

                    refresh_pattern -i microsoft.com/..(cab|exe|ms[i|u|f]|asf|wm[v|a]|dat|zip|psf|appx|esd) 43200 80% 43200 override-lastmod override-expire ignore-reload ignore-must-revalidate ignore-private
                    refresh_pattern -i windowsupdate.com/.
                    .(cab|exe|ms[i|u|f]|asf|wm[v|a]|dat|zip|psf|appx|esd) 43200 80% 43200 override-lastmod override-expire ignore-reload ignore-must-revalidate ignore-private
                    refresh_pattern -i windows.com/.*.(cab|exe|ms[i|u|f]|asf|wm[v|a]|dat|zip|psf|appx|esd) 43200 80% 43200 override-lastmod override-expire ignore-reload ignore-must-revalidate ignore-private
                    refresh_pattern -i .(gif|png|jpg|jpeg|ico)$ 10080 90% 43200 override-expire ignore-no-cache ignore-no-store ignore-private
                    refresh_pattern -i .(iso|avi|wav|mp3|mp4|mpeg|swf|flv|x-flv)$ 43200 90% 432000 override-expire ignore-no-cache ignore-no-store ignore-private
                    refresh_pattern -i .(deb|rpm|exe|zip|tar|tgz|ram|rar|bin|bz|gz|bz2|xz|ppt|doc|tiff)$ 10080 90% 43200 override-expire ignore-no-cache ignore-no-store ignore-private
                    refresh_pattern -i .index.(html|htm)$ 0 40% 10080
                    refresh_pattern -i .(html|htm|css|js)$ 1440 40% 40320

                    Entschuldige das es gedauert hat, treibe mich nicht regelmäßig hier rum.

                    Merken tun wir es, indem nach einigen Wochen Anlernphase, die Updates sehr sprunghaft rein kommen, teilweise also neue Windows 7 Clients im Sekundentakt die Anzahl der Updates hochzählen, die sie heruntergeladen haben. Und das bei DSL 6000  :-X

                    Zugegeben, nicht jedes Update lässt sich cachen meine ich. Einzelne Parts sind dennoch immer neu zu laden was sicher  mit der Methode zu tun hat, mit der MS die ausrollt bzw. lagert.

                    Falls du mal neue Windows 7 Clients hast die ewig nach Updates suchen, auch dafür gab es schon Hilfe hier im Forum. Es fehlen dann 3-6 bestimmte Updates u.a. für das Updateprogramm selber. Die müssen dann mal händisch rauf.

                    1 Reply Last reply Reply Quote 0
                    • P
                      pommes
                      last edited by

                      Danke
                      Ich Teste mal deine konf. mal schauen ob was läuft mit Windows Update  ;)

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post
                      Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.