Assigning dynamic IPv6 GUA to WireGuard interface

What you need:

  • A Linux server connected to a network on which the router advertises a dynamic /64 IPv6 GUA prefix.
  • A Windows client.
  • A working WireGuard tunnel between the server and the client.

What you get: A routable IPv6 GUA assigned to the client’s WireGuard interface, having the same prefix as advertised on the server’s network, updated each time the prefix is updated.

What this is for: I use this because my ISP blocks incoming IPv6 traffic which is useful for seeding torrents. You may also use this to build a 6in4 tunnel.