MTU senza stress: perché la dimensione del pacchetto può danneggiare la VPN e come risolvere rapidamente
Cos’è il MTU, come una dimensione errata del pacchetto può compromettere la VPN, perché la frammentazione e il blocco ICMP riducono la velocità, a cosa serve il MSS clamping e il Path MTU Discovery, e come diagnosticare e configurare l’MTU in WireGuard, OpenVPN e IPsec nel 2026.
Contenuto dell'articolo
- Introduzione: cos’è il mtu e perché è importante
- Come un mtu errato danneggia le connessioni vpn
- Frammentazione, pmtud e bit df: come funziona la rete
- Mss clamping: quando e come aiuta
- Diagnosi problemi mtu: approccio passo-passo
- Soluzioni e ottimizzazione mtu per vpn nel 2026
- Sicurezza e prestazioni: non fare danni
- Checklist e template pronti all’uso
- Miti comuni sull’mtu
- Conclusione: sintesi e prossimi passi
- Faq: risposte rapide alle domande comuni
Introduzione: cos’è il MTU e perché è importante
MTU spiegato in parole semplici
MTU è la dimensione massima del pacchetto IP che un’interfaccia può trasmettere senza frammentazione. In parole povere, è come l’altezza del vano porta di una rete: se il pacco è troppo grande, non passa. La larghezza della porta è fissa, e il pacco di dati deve entrarci tutto. Naturalmente, parlando di VPN, il pacco diventa più voluminoso a causa dell’incapsulamento del tunnel, ed è qui che iniziano le complicazioni.
L’MTU standard per Ethernet è 1500 byte. Per IPv6, la dimensione minima garantita lungo il percorso è di 1280 byte. Nei data center si trovano i jumbo frames da 9000 byte, ma è una comodità locale. Su internet reale, specialmente via 4G/5G, CGNAT e Wi-Fi, l’MTU disponibile lungo il percorso può variare: a volte 1500, altre 1472, altre ancora 1400. E noi vogliamo che la VPN funzioni senza sorprese, giusto?
Perché l’MTU è cruciale per la VPN
Ogni VPN aggiunge un overhead. Il tunnel appone le sue intestazioni sopra il pacchetto originale. Ad esempio, con WireGuard su UDP in IPv4, le intestazioni IP, UDP e WireGuard pesano circa 60 byte. Da 1500 rimangono quindi al massimo 1440 byte di dati utili nel tunnel. Se non si considera questo, i pacchetti possono frammentarsi o, peggio, perdersi perché lungo la strada qualcuno blocca gli ICMP e il Path MTU Discovery si perde. Il risultato? «Lag terribili», siti che si bloccano, pagine con immagini che non si aprono e timeout in RDP. Fastidioso? Molto.
MTU vs MSS: non confondiamo le cose
MTU riguarda il livello IP, MSS riguarda il TCP. MSS (Maximum Segment Size) è la dimensione massima del carico utile TCP senza le intestazioni IP e TCP. Quando si parla di «MSS clamping», si intende ridurre forzatamente l’MSS al confine per assicurarsi che i flussi TCP vengano segmentati correttamente e non eccedano il MTU. È una soluzione tampone? Più che altro una precauzione su strada scivolosa: non si ripara l’asfalto ma si riduce il rischio di incidenti.
Come un MTU errato danneggia le connessioni VPN
Sintomi: riconoscere il problema dal comportamento
Le immagini non si caricano completamente. Il sito si apre ma metà delle richieste resta in sospeso. La posta parte solo al secondo tentativo. I video saltano. L’RDP cade durante la copia di un file. Il ping funziona, ma il browser impiega troppo tempo a rispondere. Questo è il classico caso di «blackhole MTU»: pacchetti con il bit DF troppo grandi vengono scartati lungo il percorso, non arriva il messaggio ICMP «Fragmentation needed», il TCP ritrasmette e riduce la finestra. Tutto va lento ma «quasi funziona». Ed è ancora più frustrante.
Casi concreti: WireGuard, OpenVPN, IPsec
WireGuard: spesso si consiglia un MTU di 1420. Ma se il provider taglia l’MTU a 1472 e sopra aggiungi VLAN o PPPoE, rimangono all’incirca 1380-1400. La soluzione è ricalcolare e impostare esplicitamente l’MTU dell’interfaccia wg a 1380 o 1360. Un compromesso, ma stabile.
OpenVPN UDP: l’overhead è più pesante, specialmente con la cifratura TLS e opzioni extra. Lo schema pratico è tun-mtu 1500 e mssfix 1360, ma nelle reti mobili spesso conviene iniziare con 1400 per l’MTU tunnel e mssfix a 1360 o addirittura 1320. Non è un problema iniziare basso e poi aumentare.
IPsec con NAT-T: ESP su UDP con intestazioni aggiuntive. Se c’è PPPoE, si perdono altri 8 byte. Considera anche intestazioni per marcatura o incapsulamenti. Un buon valore pratico è 1400-1440 a seconda del percorso e dell’hardware. Ai confini attiva MSS clamping a 1360-1380 per evitare la frammentazione TCP.
Dove diventa critico: reti mobili, CGNAT, Wi‑Fi
4G/5G e CGNAT tendono a «tagliare» l’MTU, e gli ICMP sono spesso filtrati lungo il tragitto. Risultato: PMTUD si guasta e i dati vengono inviati «alla cieca». Nei gateway Wi‑Fi SOHO i produttori spesso attivano una «protezione» sugli ICMP. Buone intenzioni, risultato nullo. Nel 2026 gli operatori spingono sempre di più IPv6-only e trasporto su QUIC/HTTP3, che aggiungono altri livelli di incapsulamento. Di nuovo, bisogna fare i calcoli, ora anche per UDP/QUIC sopra TLS.
Frammentazione, PMTUD e bit DF: come funziona la rete
Come funziona la frammentazione in IPv4 e IPv6
IPv4 può frammentare i pacchetti lungo il percorso: se un pacchetto è troppo grande e il bit DF=0, il router lo divide e il destinatario lo ricompone. Bella teoria, complicata nella pratica: i frammenti si perdono più facilmente, i firewall li bloccano, le prestazioni calano. IPv6 è più severo: la frammentazione è solo al mittente e l’MTU minimo garantito è 1280. Perciò in IPv6 gli errori MTU si vedono chiaramente e creano più problemi.
Path MTU Discovery: perché si rompe
PMTUD calcola l’MTU minimo sul percorso basandosi sugli ICMP «Fragmentation needed» o «Packet too big». Se gli ICMP vengono bloccati, PMTUD diventa cieco, i pacchetti si scontrano col «soffitto» e si perdono. Ecco come nasce il blackhole MTU. Nel 2026 molti usano PLPMTUD (Packetization Layer PMTUD) a livello TCP, che prova diverse dimensioni senza affidarsi agli ICMP. Ma molti dispositivi e stack applicativi più vecchi non lo supportano ancora sul campo.
DF, ICMP e politiche di filtraggio
Il bit DF vieta la frammentazione lungo il percorso. Lo mettono ovunque, anche in VPN dove la frammentazione «fuori dal tunnel» è rischiosa. Se nel contempo gli ICMP vengono bloccati, si crea un vicolo cieco: non si può frammentare né ricevere indicazioni per ridurre la dimensione. Il risultato sono sessioni TCP bloccate. Regola d’oro: ICMP «Fragmentation needed» e IPv6 «Packet too big» devono sempre passare. Sempre. Anche se serve «stringere le maglie» per una falsa sicurezza.
MSS clamping: quando e come aiuta
MSS contro MTU: breve e chiaro
MSS clamping è la pratica di modificare l’MSS nei pacchetti TCP SYN al confine di rete per evitare che i mittenti inviino segmenti troppo grandi. Non sostituisce una corretta configurazione MTU, ma protegge il traffico TCP. Non risolve i problemi UDP, ma elimina subito l’80% delle difficoltà web.
Dove configurare MSS clamping
Su Linux si usano regole firewall. Con nftables o iptables si aggiunge un’azione che riscrive l’MSS nei pacchetti SYN. Su MikroTik si usano i moduli mangle per TCP. Su Cisco e Juniper ci sono policy firewall/zone con tcp-mss. Fondamentale che venga fatto al confine del tunnel, dove il traffico entra o esce, per allineare l’MSS al reale MTU dell’incapsulamento.
Attenzioni particolari
Un MSS troppo piccolo riduce l’efficienza del TCP, uno troppo grande porta ancora a superare il MTU. Se modifichi l’MTU del tunnel, ricordati di ricalcolare l’MSS. La formula classica: MSS = MTU - 40 per IPv4 (IP+TCP=20+20), e MSS = MTU - 40 anche per IPv6, che però ha una struttura diversa. Poi sottrai l’overhead VPN se il clamping avviene prima dell’incapsulamento finale.
Diagnosi problemi MTU: approccio passo-passo
Algoritmo rapido
- Controlla sintomi di blackhole: siti che si caricano solo parzialmente, richieste lunghe in sospeso, RDP che cade.
- Esegui ping con bit DF e dimensioni variabili. Per IPv4: «ping -M do -s SIZE indirizzo». Per IPv6: «ping -s SIZE -M do», varia a seconda del sistema operativo. Lo scopo è trovare la dimensione massima senza frammentazione.
- Avvia tracepath o «traceroute --mtu», osserva dove l’MTU si riduce.
- Verifica se passano gli ICMP «Fragmentation needed» e IPv6 «Packet too big». Se no, modifica la politica per consentire questi ICMP.
- Abbassa l’MTU del tunnel e attiva l’MSS clamping. Parti da un valore sicuro (ad esempio 1360-1380) e aumenta gradualmente.
Strumenti pratici
Ping con DF e size: cerca il valore massimo di «-s» che non genera perdite. Per Ethernet e WireGuard il limite è spesso tra 1380 e 1420, ma verifica il tuo percorso. Tracepath mostra la stima del PMTU lungo la rotta. Wireshark aiuta a vedere ICMP «Packet too big», se arrivano, e a valutare la dimensione necessaria. Su Linux «ip link show dev wg0» e «ip route get» indicano le impostazioni correnti e il PMTU.
Particolarità dei protocolli
GRE e L2TP aggiungono overhead e spesso confliggono con PPPoE. IPsec ESP con NAT-T aggiunge intestazioni UDP ed ESP, perdi facilmente 60-80 byte. WireGuard è preciso ma sensibile al blocco ICMP e all’MTU instabile nelle reti mobili. OpenVPN su UDP soffre spesso di frammentazione per via dell’uso di segmenti grandi e della cifratura TLS.
Come trovare l’MTU minimo lungo il percorso
Il metodo è semplice: ricerca binaria con ping DF tra 1400 e 1500, poi aggiustamenti precisi con step di 10 e poi 2. Sottrai 20-40 byte per margine di variazione. Ricorda che il percorso cambia in modo dinamico: di giorno un operatore, di notte un altro. Quindi un margine di sicurezza evita sorprese.
Soluzioni e ottimizzazione MTU per VPN nel 2026
Valori consigliati per protocollo
- WireGuard su IPv4/UDP: inizia con MTU 1380-1420. Per 5G e CGNAT spesso 1380-1400. Per IPv6 non meno di 1280 nel tunnel, ma a causa dell’incapsulamento imposta 1280-1360.
- OpenVPN UDP: tun-mtu tra 1400 e 1500, con mssfix 1360 come punto di partenza. Su mobile e Wi-Fi usa piuttosto 1400/1360 o meno.
- IPsec ESP NAT-T: MTU tunnel tra 1400 e 1440, MSS 1360-1380. Se PPPoE è presente, riduci di altri 8-12 byte.
- GRE/L2TP: testa il percorso, spesso 1400-1460, ma con PPPoE prepara 1380 o meno.
Automazione e gestione
Nel 2026 è diventato comune usare script che periodicamente verificano il PMTU e regolano l’MTU dell’interfaccia. Per WireGuard si possono usare pre-up hooks in wg-quick e systemd-networkd con netlink, per lanciare un test quando il tunnel si attiva, calcolare un MTU sicuro e applicarlo. Un piccolo margine -20 byte rispetto al risultato del test salva ore di supporto.
Politiche di confine
Consenti sempre gli ICMP «Fragmentation needed» e IPv6 «Packet too big». Non è una falla, ma aria per il PMTUD. Nelle ACL e security group devi assicurarti che siano esclusi dai blocchi. E se hai DPI o WAF, controlla che non taglino per default gli ICMP. È un’abitudine nata da vecchi manuali, ormai anacronistica nel 2026.
Tendenze 2026: QUIC, MASQUE, BBRv3, 5G SA
QUIC e MASQUE fanno sì che VPN su HTTP/3 siano realtà consolidate, non più un’eccezione. L’overhead è più complesso e PMTUD per UDP diventa doppiamente importante. BBRv3 nei kernel delle nuove distribuzioni migliora la gestione delle perdite, ma non risolve la frammentazione. Su 5G SA e slicing di rete gli operatori applicano ottimizzazioni che cambiano dinamicamente l’MTU disponibile. Da monitorare con ottimizzazione automatica continua: un must-have.
Sicurezza e prestazioni: non fare danni
Rischi della frammentazione
Attacchi con frammenti sovrapposti, vecchie storie tipo teardrop, ancora si vedono in configurazioni errate. Permettere la frammentazione amplia la superficie d’attacco. La VPN aggrava la situazione perché aggiunge incapsulamento e un percorso più complesso. Meglio evitare la frammentazione: abbassa l’MTU e attiva l’MSS clamping.
QoS, ECN e TFO
MTU incide sulla qualità del QoS: dimensioni sbagliate rompono classificazione e code. ECN e TCP Fast Open possono migliorare la reattività, ma con blackhole MTU non aiutano, anzi possono peggiorare per ritrasmissioni false. Parti dall’MTU e poi lavora ai dettagli.
Monitoraggio SLO
Le metriche chiave sono SRT (server response time), RTT, perdita pacchetti, percentuale di ritrasmissioni TCP, numero di ICMP «Packet too big». Se aumenta la percentuale di RST e FIN con sessioni brevi, guarda l’MSS. Se cresce il time-wait storm, rivedi MTU e clamping. Un dashboard semplice che correla «variazioni MTU - lamentele utenti» svela il problema all’istante.
Checklist e template pronti all’uso
Checklist rapida per MTU in VPN
- Determina il vero limite PMTU sulla rotta, non fidarti del «1500 di default».
- Imposta l’MTU del tunnel sotto il valore sicuro con un margine di 20-40 byte.
- Attiva MSS clamping al confine per TCP (1360 iniziale, poi aggiusta).
- Consenti ICMP «Fragmentation needed» e «Packet too big».
- Fai test A/B su parte del traffico, monitora lamentele e metriche.
- Automatizza il check del PMTU all’avvio delle interfacce.
Template di configurazione: cosa e dove regolare
- WireGuard: imposta MTU nella config dell’interfaccia. Parti da 1380-1420. Testa con ping DF. Con PPPoE abbassa ulteriormente.
- OpenVPN: usa parametri tun-mtu e mssfix. Se hai molti clienti mobili, inizia con 1400/1360.
- IPsec: abbassa MTU sull’interfaccia interna del tunnel e configura MSS clamping. Valuta NAT-T e PPPoE.
Cloud e provider: aspetti da considerare
Nel 2026 molti cloud supportano Jumbo frames dentro VPC, ma al confine verso Internet vale sempre la dura realtà del 1500 (o meno). O tieni il controllo end-to-end con ICMP, o preparati a regressioni casuali nelle performance. Tra i vari problemi ci sono i tunnel interregionali su reti 5G: lì l’MTU varia molto nell’arco della giornata. Autotuning o statico a 1360 sono la soluzione per evitare problemi.
SOHO e router mobili
Router domestici e semi-professionali spesso hanno opzioni nascoste come «Block ICMP». Disattivale. Attiva MSS clamping nelle sezioni «Firewall» o «Mangle». Per i client OpenVPN non esitare a impostare MTU a 1400 se riscontri «carico bloccato al 90%».
Miti comuni sull’MTU
«MTU più piccolo è sempre meglio»
No. Un MTU troppo piccolo riduce l’efficienza: più intestazioni per carico utile, più pacchetti, più interruzioni. La chiave è l’equilibrio. Parti da un valore conservativo e aumenta solo se la rotta lo consente stabilmente.
«1500 è legge di natura»
È una tradizione comoda di Ethernet, non una regola ferrea. Con PPPoE, tunnel e reti mobili la realtà è spesso diversa. Accetta i fatti del percorso, non i miti provenienti dai manuali classici.
«IPv6 è sempre migliore per MTU»
IPv6 è più severo con la frammentazione, quindi gli errori MTU si mostrano subito. È utile perché il problema si percepisce immediatamente e non si disperde in ritrasmissioni. Ma «migliore» non significa «senza configurazioni». Attiva PMTUD per IPv6, monitora ICMPv6 e non bloccare «Packet too big».
Conclusione: sintesi e prossimi passi
In sintesi
MTU riguarda la fisica della rete e il buon senso. La VPN aggiunge byte, il mondo è rumore e filtraggio. O rispetti PMTUD e permetti ICMP, o giocherai a indovina per ore di supporto. Scegli la prima strada e dormi tranquillo.
Errori da evitare
- Bloccare ICMP «Fragmentation needed» e «Packet too big».
- Affidarsi a un «1500 va bene così» senza testare la rotta.
- Ignorare MSS clamping per TCP.
- Trascurare overhead PPPoE e NAT-T nel calcolo.
Cosa fare adesso
- Testa i percorsi principali con ping DF e tracepath.
- Imposta MTU tunnel con margine e attiva MSS clamping.
- Automatizza i controlli all’avvio delle interfacce.
- Implementa il monitoraggio delle metriche correlate all’MTU.
FAQ: risposte rapide alle domande comuni
Come capire velocemente se il problema è l’MTU?
Se «internet sembra funzionare ma parte dei contenuti non si carica», soprattutto con risorse grandi o download interrotti, quasi sicuramente è MTU. Controlla ping con bit DF e pacchetti grandi, confronta con tracepath. Se gli ICMP sono bloccati, il sospetto diventa certezza.
Quale valore MTU impostare in WireGuard su 5G?
Inizia da 1380. Se è stabile, alza a 1400-1420. Se noti freeze strani nelle ore di punta, torna a 1380. E non dimenticare l’MSS clamping a 1360.
Posso solo abilitare MSS clamping senza toccare l’MTU?
Aiuta il traffico TCP ma non risolve i problemi UDP e non è una soluzione completa. MTU corretto più MSS clamping è la combinazione ideale. Trascurare uno dei due lascia qualche problema agli utenti.
Perché in locale va tutto bene ma da remoto i colleghi hanno problemi?
Percorsi diversi, MTU minima diversa. In ufficio un solo provider con onesti 1500, a casa collega CGNAT, Wi-Fi e router «intelligente» che taglia gli ICMP. Il tuo perfetto MTU «su carta» non corrisponde alla realtà della rete remota.
IPv6 e VPN: qual è l’MTU minimo consigliato?
Non scendere sotto 1280 dentro il tunnel. Ricorda l’overhead dell’incapsulamento. La maggior parte degli scenari funziona benissimo tra 1280 e 1360. Garantire sempre l’accesso a ICMPv6 «Packet too big».
Quanto è importante consentire ICMP in produzione?
Fondamentale. È come guidare senza fari di notte. Ci sono PLPMTUD e trucchetti, ma risparmiare su ICMP costa di più: tempo degli ingegneri e utenti frustrati.
QUIC/HTTP3 e MTU: che relazione c’è?
QUIC su UDP è sensibile alla perdita di grandi datagrammi. Con un MTU errato avrai strani rallentamenti e variazioni di velocità. Verifica il PMTU, scegli valori conservativi e mantieni MSS clamping per i flussi TCP correlati.