{"id":439,"date":"2021-01-26T10:30:27","date_gmt":"2021-01-26T09:30:27","guid":{"rendered":"https:\/\/blog.sguazz.it\/?p=439"},"modified":"2021-01-26T10:30:27","modified_gmt":"2021-01-26T09:30:27","slug":"analisi-di-problemi-su-squid","status":"publish","type":"post","link":"https:\/\/blog.sguazz.it\/index.php\/archives\/439","title":{"rendered":"Analisi di problemi su squid"},"content":{"rendered":"\n<p>Quando c&#8217;\u00e8 un problema con <a href=\"http:\/\/www.squid-cache.org\/\">squid<\/a>, io non so mai che pesci pigliare. Per evitare di fare sempre le stesse ricerche e trovare le stesse risposte, nonch\u00e9 per delineare una modalit\u00e0 di indagine, aggiorner\u00f2 questo articolo ad ogni nuova occasione.<\/p>\n\n\n\n<p>squid impiega parecchio tempo per avviarsi, ma a volte, se si fanno solo modifiche alla configurazione, si pu\u00f2 evitare di riavviarlo mandando il segnale per la rilettura del file di configurazione.<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># systemctl restart squid # riavvio completo\n# squid -k reconfigure # rilegge la configurazione<\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Access log<\/h3>\n\n\n\n<p>Il principale file di log \u00e8 quello che mostra tutte le richieste che ha ricevuto e la risposta che ha dato. Il file \u00e8 <code>\/var\/log\/squid\/access.log<\/code> e contiene righe fatte cos\u00ec:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">1611652062.938 1 192.168.215.45 TCP_DENIED\/403 4044 CONNECT cdn-gl.imrworldwide.com:443 - HIER_NONE\/- text\/html<br \/>1611652065.142 63192 192.168.215.45 TCP_TUNNEL\/200 1671 CONNECT outlook.office365.com:443 - HIER_DIRECT\/40.101.137.66 -<\/pre>\n\n\n\n<p>Il <span style=\"text-decoration: underline;\">primo numero<\/span> \u00e8 una marca temporale non formattata. Per sapere veramente a che ora si riferisca si pu\u00f2 usare il comando <code>date<\/code> cos\u00ec<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\"># date --date @1611652073.326\nmar 26 gen 2021, 10.07.53, CET<\/pre>\n\n\n\n<p>il <span style=\"text-decoration: underline;\">secondo numero<\/span> \u00e8 il tempo, in millisecondi, impiegato da squid per rispondere al client dopo aver svolto l&#8217;operazione<\/p>\n\n\n\n<p>il <span style=\"text-decoration: underline;\">terzo campo<\/span> \u00e8 l&#8217;IP del client<\/p>\n\n\n\n<p>il <span style=\"text-decoration: underline;\">quarto campo<\/span> \u00e8 l&#8217;esito. Gli esiti maggiormente diffusi sono:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>TCP_DENIED\/403, indica che la richiesta \u00e8 stata rifiutata con codice HTTP 403<\/li><li>TCP_TUNNEL\/200, indica che la richiesta di apertura di un tunnel \u00e8 stata accetta con codice HTTP 200<\/li><li>TAG_NONE\/503, indica un errore interno di quid, ad esempio che non riesce a risolvere il nome con il DNS<\/li><\/ul>\n\n\n\n<p>il <span style=\"text-decoration: underline;\">quinto campo<\/span> \u00e8 il metodo HTTP richiesto dal client: GET, POST, HEAD, CONNECT<\/p>\n\n\n\n<p>il <span style=\"text-decoration: underline;\">sesto campo<\/span> \u00e8 la coppia nome host e porta da contattare.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cache log<\/h3>\n\n\n\n<p>Questo secondo file di log \u00e8 <code>\/var\/log\/squid\/cache.log<\/code> e contiene informazioni aggiuntive. Ci sono le informazioni di debug che vengono scritte in base alla direttiva <code>debug_options<\/code>. Normalmente contiene solo le segnalazioni di problemi. Per avere un po&#8217; pi\u00f9 di informazioni, aggiungere:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">debug_options ALL,2<\/pre>\n\n\n\n<p>al file di configurazione <code>\/etc\/squid\/squid.conf<\/code> e farlo rileggere a squid. Ci si possono trovare informazioni come questa:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">2021\/01\/26 09:43:04.511 kid1| 85,2| client_side_request.cc(744) clientAccessCheckDone: <strong>The request CONNECT mail.google.com:443<\/strong> is ALLOWED; last ACL checked: localnet\n 2021\/01\/26 09:43:04.511 kid1| 85,2| client_side_request.cc(720) clientAccessCheck2: No adapted_http_access configuration. default: ALLOW\n 2021\/01\/26 09:43:04.511 kid1| 85,2| client_side_request.cc(744) clientAccessCheckDone: The request CONNECT mail.google.com:443 is ALLOWED; last ACL checked: localnet\n 2021\/01\/26 09:43:04.511 kid1| 44,2| peer_select.cc(258) peerSelectDnsPaths: Find IP destination for: mail.google.com:443' via mail.google.com\n 2021\/01\/26 09:43:04.511 kid1| 44,2| peer_select.cc(280) peerSelectDnsPaths: <strong>Failed to select source for 'mail.google.com:443'<\/strong>\n 2021\/01\/26 09:43:04.511 kid1| 44,2| peer_select.cc(281) peerSelectDnsPaths:   always_direct = DENIED\n 2021\/01\/26 09:43:04.511 kid1| 44,2| peer_select.cc(282) peerSelectDnsPaths:    never_direct = DENIED\n 2021\/01\/26 09:43:04.511 kid1| 44,2| peer_select.cc(295) peerSelectDnsPaths:        timedout = 0\n 2021\/01\/26 09:43:04.511 kid1| 4,2| errorpage.cc(1261) BuildContent: No existing error page language negotiated for ERR_DNS_FAIL. Using default error file.<\/pre>\n\n\n\n<p>che indicano una richiesta di apertura di un tunnel verso mail.google.com che viene inizialmente accettata tramite le ACL, ma poi rifiutata per un problema del DNS usato da squid.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quando c&#8217;\u00e8 un problema con squid, io non so mai che pesci pigliare. Per evitare di fare sempre le stesse ricerche e trovare le stesse risposte, nonch\u00e9 per delineare una modalit\u00e0 di indagine, aggiorner\u00f2 questo articolo ad ogni nuova occasione. squid impiega parecchio tempo per avviarsi, ma a volte, se si fanno solo modifiche alla [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,3,11,10],"tags":[24],"class_list":["post-439","post","type-post","status-publish","format-standard","hentry","category-sysadmin","category-computer","category-debian","category-open-source","tag-squid"],"_links":{"self":[{"href":"https:\/\/blog.sguazz.it\/index.php\/wp-json\/wp\/v2\/posts\/439","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.sguazz.it\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.sguazz.it\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.sguazz.it\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.sguazz.it\/index.php\/wp-json\/wp\/v2\/comments?post=439"}],"version-history":[{"count":1,"href":"https:\/\/blog.sguazz.it\/index.php\/wp-json\/wp\/v2\/posts\/439\/revisions"}],"predecessor-version":[{"id":440,"href":"https:\/\/blog.sguazz.it\/index.php\/wp-json\/wp\/v2\/posts\/439\/revisions\/440"}],"wp:attachment":[{"href":"https:\/\/blog.sguazz.it\/index.php\/wp-json\/wp\/v2\/media?parent=439"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.sguazz.it\/index.php\/wp-json\/wp\/v2\/categories?post=439"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.sguazz.it\/index.php\/wp-json\/wp\/v2\/tags?post=439"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}