<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<blockquote type="cite"
cite="mid:mailman.1444.1535173537.2201.wireguard@lists.zx2c4.com">
<pre wrap="">
I'm setting up an WireGuard tunnel between my VPS and my home network. This
tunnel should be IPv6 only.
I assigned the IPv6 subnet fd00:1:a/64 to my home network and my wireguard
client got the static IP fd00:1:a::1.
On the VPS I assigned the IP fd00::1 to the wg0 interface.
Here're the configs:
*Client:*
</pre>
<blockquote type="cite" style="color: #000000;">
<pre wrap="">[Interface]
PrivateKey = XXXX
Address = fd00:1:a::1/64
[Peer]
PublicKey = XXXX
AllowedIPs = fd00:0:0::/64
EndPoint = vpn.domain.tld:51820
PersistentKeepalive = 25
</pre>
</blockquote>
<pre wrap="">
Server:
</pre>
<blockquote type="cite" style="color: #000000;">
<pre wrap="">[Interface]
PrivateKey = ...
ListenPort = 51820
Address = fd00:0:0::1
[Peer]
PublicKey = XXXX
AllowedIPs = fd00:1:a::/64
</pre>
</blockquote>
</blockquote>
It *might* work if at the client side you use<br>
<pre wrap="">Address = fd00:1:a::1</pre>
instead of<br>
<pre wrap="">Address = fd00:1:a::1/64</pre>
However, the safest way to make it work is for the [Interface]
Address at each end to be a separate point-to-point subnet. These
are the addresses allocated to the wg0 interface itself. I don't
know if "unnumbered" point-to-point links are supported by Wireguard
(that is, when you re-use an address from a subnet that belongs to a
different interface), but I know it definitely works with a separate
link subnet.<br>
<br>
So if you want to use the whole block fd00:0:0::/64 in your VPS,
then I suggest you allocate a new subnet for the point-to-point,
e.g.<br>
<br>
client<br>
<br>
[Interface]<br>
Address = fd00:2::2/64<br>
<br>
server<br>
<br>
[Interface]<br>
Address = fd00:2::1/64<br>
<br>
AllowedIPs are then still the remote subnets at each side, as you
have now.<br>
<br>
If your VPS is just a single host with a single IPv6 address on the
wg0 interface, then you can keep it as you have now but use<br>
<br>
server<br>
<br>
[Interface]<br>
Address = fd00:0:0::1/64<br>
<br>
client<br>
<br>
[Interface]<br>
Address = fd00:0:0::2/64<br>
<br>
HTH,<br>
<br>
Brian.<br>
</body>
</html>