<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Wireguard on Marcello Barnaba</title>
    <link>https://sindro.me/it/tags/wireguard/</link>
    <description>Recent content in Wireguard on Marcello Barnaba</description>
    <generator>Hugo</generator>
    <language>it</language>
    <lastBuildDate>Tue, 07 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://sindro.me/it/tags/wireguard/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Come banIP ha distrutto il throughput del mio WireGuard da febbraio</title>
      <link>https://sindro.me/it/posts/2026-04-07-banip-icmp-mwan3/</link>
      <pubDate>Tue, 07 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://sindro.me/it/posts/2026-04-07-banip-icmp-mwan3/</guid>
      <description>&lt;p&gt;&lt;strong&gt;TL;DR:&lt;/strong&gt; Se usi OpenWrt con mwan3 (failover multi-WAN) e una VPN WireGuard in &lt;strong&gt;split-tunnel&lt;/strong&gt; (cioè NON routi tutto il traffico attraverso la VPN), aggiungi &lt;code&gt;nohostroute=1&lt;/code&gt; all&amp;rsquo;interfaccia WireGuard. Senza, netifd crea un route statico per l&amp;rsquo;endpoint WireGuard all&amp;rsquo;avvio dell&amp;rsquo;interfaccia, pinnato a qualsiasi uplink sia attivo in quel momento. Per il primo corollario della Legge di Murphy, tutto ciò che può andare storto andrà storto &lt;em&gt;nel momento peggiore possibile&lt;/em&gt; — quindi il link primario sarà giù esattamente quando WireGuard parte, e il route dell&amp;rsquo;endpoint resta incollato permanentemente al backup. La tua VPN resterà incollata al backup lento mentre il link primario se ne sta lì a non fare un cazzo. Non te ne accorgerai finché non dovrai trasferire qualcosa di grosso.&lt;/p&gt;&#xA;&lt;p&gt;(Se &lt;em&gt;routi&lt;/em&gt; tutto il traffico attraverso WireGuard, l&amp;rsquo;host route ti &lt;strong&gt;serve&lt;/strong&gt; per evitare un routing loop — ma su un setup multi-WAN, il problema del route stantio resta identico. Ti servirà un workaround diverso, tipo uno script hotplug che aggiorni il route dell&amp;rsquo;endpoint quando mwan3 switcha uplink.)&lt;/p&gt;&#xA;&lt;p&gt;Oggi ho scoperto che il mio tunnel WireGuard verso un server remoto strisciava a &lt;strong&gt;2 Mbps&lt;/strong&gt; da inizio febbraio. Il fix ha richiesto due comandi UCI. La root cause era il flag &lt;code&gt;nohostroute&lt;/code&gt; mancante — più un bonus: il mio stesso firewall sabotava i miei stessi health check, facendo sembrare la fibra abbastanza inaffidabile da impedire al sistema di auto-correggersi.&lt;/p&gt;&#xA;&lt;p&gt;Ecco la storia forense completa, perché sono ancora incazzato e meritate di imparare dalle mie sofferenze.&lt;/p&gt;&#xA;&lt;p&gt;Prima però, un po&amp;rsquo; di contesto su come è avvenuta questa indagine. Stavo lavorando con un assistente AI (Claude Code) che ha accesso SSH alla mia infrastruttura. Questo è possibile perché ho una base solida: autenticazione SSH a chiave ovunque, DNS interno corretto (&lt;code&gt;m42&lt;/code&gt;, &lt;code&gt;golem&lt;/code&gt; risolvono agli indirizzi VPN giusti), mesh WireGuard tra tutti i nodi, e l&amp;rsquo;assistente si connette tramite un &lt;code&gt;ssh-agent&lt;/code&gt; che gira come servizio utente systemd. Una variabile d&amp;rsquo;ambiente e l&amp;rsquo;AI raggiunge ogni macchina della mia rete — e, cosa fondamentale, può &lt;em&gt;incrociare&lt;/em&gt; i dati trovati su una macchina con quelli di un&amp;rsquo;altra. Quest&amp;rsquo;indagine mi avrebbe richiesto ore di salti tra terminali. L&amp;rsquo;AI l&amp;rsquo;ha fatta in minuti, testando ipotesi metodicamente su tre macchine simultaneamente. L&amp;rsquo;investimento in SSH, DNS e VPN fatti bene ha ripagato enormemente.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
