{
 "id": 36983,
 "slug": "2020-04-01_traffic-shaping-con-iptables-e-tc",
 "url": "https://agents.willem.com/it/posts/2020-04-01_traffic-shaping-con-iptables-e-tc/",
 "source_url": "https://willem.com/it/2020-04-01_traffic-shaping-con-iptables-e-tc/",
 "language": "it",
 "date": "2020-04-01",
 "published": "2020-04-01T00:00:00+02:00",
 "created": "2025-06-26T22:10:02.354000+02:00",
 "updated": "2026-10-20T09:19:35.157000+02:00",
 "title": "Traffic shaping con iptables e tc",
 "subtitle": "Limitare la banda in uscita per indirizzo IP del client",
 "summary": "Il mese scorso ho ricevuto un avviso automatico che segnalava un uso eccessivo di banda, di solito un segno di guai. Quando succede, dovresti seguire una procedura standard di gestione degli incidenti, cercando di isolare la fonte del traffico prima di spegnerla. La causa di questo incidente però non era quella che mi aspettavo... e richiedeva un tipo di mitigazione diverso da un semplice blocco.",
 "topics": [
  "cloud",
  "cyber-security",
  "data",
  "linux",
  "networking",
  "server",
  "web",
  "work"
 ],
 "author": {
  "name": "Willem L. Middelkoop",
  "url": "https://willem.com"
 },
 "provenance": {
  "kind": "model",
  "method": "Claude Sonnet, two passes (translation, then proofreading) against a glossary and hunspell",
  "date": "2026-10-20",
  "reviewed_by_native_reader": false,
  "language": "it",
  "source_language": "en"
 },
 "translations": [
  {
   "language": "en",
   "title": "Traffic shaping using iptables and tc",
   "url": "https://agents.willem.com/en/posts/2020-04-01_traffic-shaping-using-iptables-and-tc/",
   "source_url": "https://willem.com/en/2020-04-01_traffic-shaping-using-iptables-and-tc/"
  },
  {
   "language": "nl",
   "title": "Verkeer vormgeven met iptables en tc",
   "url": "https://agents.willem.com/nl/posts/2020-04-01_verkeer-vormgeven-met-iptables-en-tc/",
   "source_url": "https://willem.com/nl/2020-04-01_verkeer-vormgeven-met-iptables-en-tc/"
  },
  {
   "language": "de",
   "title": "Traffic Shaping mit iptables und tc",
   "url": "https://agents.willem.com/de/posts/2020-04-01_traffic-shaping-mit-iptables-und-tc/",
   "source_url": "https://willem.com/de/2020-04-01_traffic-shaping-mit-iptables-und-tc/"
  },
  {
   "language": "es",
   "title": "Modelado de tráfico usando iptables y tc",
   "url": "https://agents.willem.com/es/posts/2020-04-01_modelado-de-trafico-usando-iptables-y-tc/",
   "source_url": "https://willem.com/es/2020-04-01_modelado-de-trafico-usando-iptables-y-tc/"
  },
  {
   "language": "fr",
   "title": "Mise en forme du trafic avec iptables et tc",
   "url": "https://agents.willem.com/fr/posts/2020-04-01_mise-en-forme-du-trafic-avec-iptables-et-tc/",
   "source_url": "https://willem.com/fr/2020-04-01_mise-en-forme-du-trafic-avec-iptables-et-tc/"
  },
  {
   "language": "pt",
   "title": "Modelação de tráfego com iptables e tc",
   "url": "https://agents.willem.com/pt/posts/2020-04-01_modelacao-de-trafego-com-iptables-e-tc/",
   "source_url": "https://willem.com/pt/2020-04-01_modelacao-de-trafego-com-iptables-e-tc/"
  },
  {
   "language": "pap",
   "title": "Traffic shaping ku iptables i tc",
   "url": "https://agents.willem.com/pap/posts/2020-04-01_traffic-shaping-ku-iptables-i-tc/",
   "source_url": "https://willem.com/pap/2020-04-01_traffic-shaping-ku-iptables-i-tc/"
  },
  {
   "language": "fy",
   "title": "Traffic shaping mei iptables en tc",
   "url": "https://agents.willem.com/fy/posts/2020-04-01_traffic-shaping-mei-iptables-en-tc/",
   "source_url": "https://willem.com/fy/2020-04-01_traffic-shaping-mei-iptables-en-tc/"
  }
 ],
 "image": "https://willem.com/global/images/074af69e7bb6.webp",
 "image_width": 2560,
 "images": [
  {
   "url": "https://willem.com/global/images/cbef76c36df8.webp",
   "description": "Il grafico della banda di AMS-IX mostra uno schema prevedibile: nota l'andamento a onde",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_36983_images-1.png"
  },
  {
   "url": "https://willem.com/global/images/f7c2d76b6a59.webp",
   "description": "Grafico della banda con un picco insolito che indica che qualcosa non va: non serve essere Sherlock Holmes per accorgersene",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_36983_images-2.png"
  },
  {
   "url": "https://willem.com/global/images/2143a4110498.webp",
   "description": "Usare lo strumento iftop per vedere l'uso della banda per ogni indirizzo IP connesso",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_36983_images-3.png"
  },
  {
   "url": "https://willem.com/global/images/aee8f43379f0.webp",
   "description": "I bug di Microsoft Outlook gli fanno sincronizzare in continuazione le cartelle IMAP, un problema vissuto da molte persone (guarda il numero di visualizzazioni!)",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_36983_images-4.png"
  },
  {
   "url": "https://willem.com/global/images/62fa4ef3cf7a.webp",
   "description": "Usare gettoni per controllare il traffico: sono ammessi solo i passeggeri (o i pacchetti di dati) con un gettone valido. I gettoni vengono restituiti quando il traffico raggiunge la destinazione.",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_36983_images-5.png"
  },
  {
   "url": "https://willem.com/global/images/d64adfb34510.webp",
   "description": "Il traffico deve aspettare che i gettoni tornino disponibili quando è stato distribuito il numero massimo di gettoni, imponendo il massimo di traffico simultaneo",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_36983_images-6.png"
  },
  {
   "url": "https://willem.com/global/images/8cd95b55b130.webp",
   "description": "Esempio di script di traffic shaping",
   "manager_file": "148-bf2d6faf6057f115dc72e82d984e71359f16b48d8c42b4b41c2ee918cf46b556_ContentAsPost_36983_images-7.png"
  }
 ],
 "text": "Avviso di banda eccessiva\nQuando gestisci dei server noti che il traffico internet segue di solito schemi prevedibili. Proprio come il traffico reale sulle strade, ci sono orari regolari in cui è intenso e orari in cui è tranquillo.\nLo schema prevedibile permette di rilevare automaticamente le anomalie. Come un ingorgo in autostrada a un'ora insolita può essere il risultato di un incidente, oscillazioni inattese del traffico internet possono indicare un incidente nel cyberspazio.\nIsolare la fonte\nLa prima cosa da fare è trovare la fonte del problema. Lo fai analizzando l'anomalia così:\n- Stabilisci se il traffico extra è in entrata o in uscita (upload o download?)\n- Stabilisci gli indirizzi IP di origine e di destinazione associati (quale server è coinvolto? Dove va o da dove arriva il traffico?)\n- Stabilisci il tipo di traffico (e-mail, web o qualcos'altro?)\nPer farlo devi ispezionare i grafici del traffico, che di solito distinguono chiaramente ingresso e uscita. Poi devi cercare gli indirizzi IP coinvolti. Può voler dire guardare altri grafici (dei singoli server) e statistiche dentro switch, router e server. Poi guarda l'uso della CPU e i file di log per capire quale applicazione è coinvolta, come la posta o il web. Più è grande l'anomalia, più è facile trovarla.\nPotresti essere tentato di eliminare l'anomalia appena l'hai trovata, fermando subito il traffico associato. Ma dovresti davvero tenerla in vita (almeno un po' più a lungo) per imparare da essa il più possibile.\nUsa uno strumento come iftop (https://linux.die.net/man/8/iftop) per vedere una panoramica in tempo reale dell'uso della banda per ogni indirizzo IP connesso. È molto utile per capire cosa sta succedendo, soprattutto in combinazione con i file di log (che collegano l'indirizzo IP ai singoli account).\nUna causa insolita\nIl server che produceva l'uso eccessivo di banda era un server di posta. Spesso vengono presi di mira dagli hacker per trasformarli in server di inoltro dello spam. Può succedere in vari modi, di solito perché gli spammer ottengono un login valido. Ne risulta molto traffico in uscita, perché gli spammer spediscono un sacco di e-mail. Se un'ondata di spam parte dal tuo server, probabilmente lo vedi nei log, perché i messaggi di spam spesso rimbalzano e le code di posta si riempiono in fretta. Diventa subito un disastro, ma su questo server non c'era nessun disastro: solo un sacco di banda usata in modo insolito.\nLa posta (e lo spam) si invia con il protocollo SMTP, ma il traffico sulla porta SMTP di questo server era del tutto normale. Era molto strano, perché significava che il traffico eccessivo veniva da qualcos'altro. Ma da cosa? Dopo aver analizzato vari file di log sul server di posta ho stabilito che il protocollo responsabile era IMAP. In qualche modo un client collegato al server di posta con IMAP generava quantità eccessive di traffico di rete. IMAP è un protocollo usato per leggere la posta, non per inviarla, il che rende molto rare le anomalie legate a IMAP.\nAnalizzando il log del server di posta ho trovato l'utente che causava il traffico. Ho contattato il cliente per chiedergli se avesse notato qualcosa di strano dalla sua parte. Non a caso, aveva notato che il suo computer era un po' lento ultimamente.\nUn ciclo di sincronizzazione di Microsoft Outlook\nDopo un po' di tentativi al telefono, abbiamo stabilito che qualcosa faceva sì che Microsoft Outlook sincronizzasse in continuazione le cartelle IMAP, in un ciclo. Questo faceva scaricare al suo computer l'intero contenuto della casella di posta, ancora e ancora! Siccome la sua casella superava i 40 gigabyte, il traffico era notevole. A quanto pare è causato da un bug_di_Microsoft_Outlook (https://answers.microsoft.com/en-us/msoffice/forum/all/outlook-2016-hangs-forever-synchronizing/320ad809-4174-4989-9f4c-a0d4c7d616bc), e purtroppo non c'è una soluzione semplice.\nMitigare con il traffic shaping\nMi sono trovato davanti a una scelta difficile: bloccare il cliente (normale, legittimo, pagante) oppure lasciar continuare il traffico eccessivo (con costi seri per il provider di rete). Bloccare utenti legittimi che gestiscono la loro attività con la posta è una pessima idea, ma lasciar continuare il traffico eccessivo è un'idea altrettanto cattiva. Per fortuna ho trovato un modo alternativo per ridurre il traffico eccessivo continuando a permettere al cliente di accedere alla sua posta (con la sua fidata, ma difettosa, app Outlook).\nTraffic Shaping\nCome tecnica di gestione della banda, puoi usare il traffic shaping per ritardare alcuni (o tutti i) pacchetti di dati e farli rientrare in un profilo di traffico desiderato. Se lo applichi, stai letteralmente dando forma ai grafici del traffico, da qui il nome.\nQuesta tecnica non è priva di controversie, perché è l'opposto del tanto celebrato principio della \"neutralità_della_rete\" (https://en.wikipedia.org/wiki/Net_neutrality). Con il traffic shaping puoi bloccare di proposito o rallentare (o far pagare di più) specifici tipi di traffico. Per principio sono contrario a tutto ciò che danneggia la neutralità della rete, ma in questa situazione specifica non avevo alternative praticabili. Dovevo rallentare seriamente il traffico di posta di questo cliente, riducendo la banda e continuando a dargli accesso al suo account.\nImplementare il traffic shaping\nPer dare forma al traffico devi fare due cose:\n- marcare il traffico: vuoi influenzare solo un certo traffico di rete, in questo caso l'accesso IMAP di un dato client. Il resto del traffico non deve essere toccato. Si fa marcando i pacchetti che hanno determinate caratteristiche, come l'IP del client o i numeri di porta\n- applicare la politica di shaping: con strumenti di controllo del traffico come 'tc' applichi poi la politica di shaping al traffico marcato. Ci sono vari modi, ma uno comune è lavorare con i cosiddetti \"Hierarchy Token Buckets\" o HTB.\nHierarchy Token Buckets (HTB)\nIn linea di principio un token bucket è simile all'idea di limitare il numero di passeggeri in un viaggio in treno distribuendo solo un numero fisso di gettoni disponibili. Quando i passeggeri (o i pacchetti di dati) salgono sul treno (o sulla rete) prendono un gettone. Quando scendono (o raggiungono la destinazione) il gettone viene restituito. Con il principio del token bucket puoi controllare la quantità di traffico simultaneo in un sistema.\nPuoi implementare questo principio con gli strumenti di rete \"tc\" (traffic control) in combinazione con \"iptables\". Puoi usare uno script per impostare le regole di marcatura e di applicazione. Online trovi vari esempi: io ho usato questo (https://serverfault.com/a/191605) di Julien_Vehent (https://jve.linuxwall.info/).\nConclusione\nA volte le anomalie di rete non sono ciò che ti aspetti, perciò dovresti sempre prenderti il tempo di indagare! Bloccare il traffico alla cieca è un metodo rozzo: a volte devi affinare i tuoi metodi per mitigare i problemi.\nApplicare tecniche di filtraggio poco ortodosse non è una cosa che mi piace, ma a volte sono l'unico mezzo per raggiungere lo scopo. Sapere cosa stai facendo e perché lo stai facendo è molto importante!",
 "word_count": 1119,
 "markdown_url": "https://agents.willem.com/it/posts/2020-04-01_traffic-shaping-con-iptables-e-tc/post.md"
}