Bug report: WireGuard iOS prioritizes IPv4 over IPv6

Maurice Walker maurice at walker.earth
Mon Feb 17 16:44:59 CET 2020


On Thu, Jan 2, 2020 at 09:40:53 CET, Siyuan Ren <netheril96 at gmail.com> wrote:
> I am using WireGuard on my iPhone, and the endpoint is specified by a
> domain name that has both AAAA and A record. When I turn on WireGuard
> in a network with dual IPv6 and IPv4, I find out that WireGuard
> chooses IPv4 by executing "wg" on my server. If I explicitly set the
> endpoint as IPv6 address, WireGuard works just fine, so it is not a
> misconfiguration on my server.

The Android (v0.0.20200206) and Windows (v0.0.38) clients have the same bug.
This might be considered just bad behavior in dual-stack networks, but it
causes real issues in IPv6-only networks:
On Android, WireGuard uses IPv4 via 464XLAT (if available). This works, but
can result in decreased performance.
Windows doesn't have a CLAT [1], but WireGuard tries to use IPv4 anyway. This
results in the tunnel not working at all.

Cheers,
Maurice

[1] Well, it does, but only on mobile data, not on WiFi or Ethernet.


More information about the WireGuard mailing list