<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Wireguard on Johan Eliasson</title><link>https://johan.eliasson.xyz/tags/wireguard/</link><description>Recent content in Wireguard on Johan Eliasson</description><generator>Hugo -- 0.144.1</generator><language>en-us</language><lastBuildDate>Thu, 18 Jun 2026 10:00:00 +0100</lastBuildDate><atom:link href="https://johan.eliasson.xyz/tags/wireguard/index.xml" rel="self" type="application/rss+xml"/><item><title>Mind the MTU</title><link>https://johan.eliasson.xyz/post/2026/mind-the-mtu/</link><pubDate>Thu, 18 Jun 2026 10:00:00 +0100</pubDate><guid>https://johan.eliasson.xyz/post/2026/mind-the-mtu/</guid><description>&lt;p>My phone&amp;rsquo;s hotspot and &lt;a href="https://www.wireguard.com/">WireGuard&lt;/a> refused to get along: ping went through, but seemingly nothing else. It bugged me for quite some time before I finally dug in.&lt;/p>
&lt;p>It was &lt;a href="https://en.wikipedia.org/wiki/Maximum_transmission_unit">MTU&lt;/a>. Mobile carriers often run IPv6-only networks and translate IPv4 along the way (&lt;a href="https://en.wikipedia.org/wiki/464XLAT">464XLAT&lt;/a>), so the path over cellular fits less than the usual 1500 bytes. WireGuard&amp;rsquo;s default of 1420 fills that budget exactly once encapsulated, and with the ICMP &lt;em>&amp;ldquo;fragmentation needed&amp;rdquo;&lt;/em> replies lost in &lt;a href="https://en.wikipedia.org/wiki/Carrier-grade_NAT">CGNAT&lt;/a> land, big packets were silently dropped and only small pings squeezed through.
3
Once you know it&amp;rsquo;s an MTU issue, the fix is almost insultingly small. Lower the MTU on the WireGuard interface to something conservative, like 1280 - the IPv6 minimum, which in practice clears almost any path.&lt;/p></description></item></channel></rss>