[wireguard-android] 'roaming' from LTE to WiFi with version 0.0.20180523

Jason A. Donenfeld Jason at zx2c4.com
Thu May 24 15:59:11 CEST 2018


On Thu, May 24, 2018 at 3:57 PM, Jörg Thalheim <joerg at higgsboson.tk> wrote:
>
>
> On 2018-05-24 05:16, nnet wrote:
>> So this is how it ends:
>>
>> 05-23 20:33:45.323  9600  9619 D WireGuard/GoBackend/wireguard: peer(AsMM…SeWg) - Sending handshake initiation
>> 05-23 20:33:45.326  9600  9619 E WireGuard/GoBackend/wireguard: peer(AsMM…SeWg) - Failed to send handshake initiation write udp6 [::]:46719->[]:41414: sendto: network is unreachable
>> 05-23 20:33:45.326  9600  9619 D WireGuard/GoBackend/wireguard: peer(AsMM…SeWg) - Awaiting keypair
>> 05-23 20:33:50.367  9600  9678 D WireGuard/GoBackend/wireguard: peer(AsMM…SeWg) - Sending handshake initiation
>> 05-23 20:33:50.376  9600  9678 E WireGuard/GoBackend/wireguard: peer(AsMM…SeWg) - Failed to send handshake initiation write udp6 [::]:46719->[snip]:41414: sendto: network is unreachable
>> 05-23 20:36:10.188  9600 11291 D WireGuard/GoBackend/wireguard: peer(AsMM…SeWg): Handshake did not complete after 20 attempts, giving up
>> 05-23 20:39:12.258  9600  9677 D WireGuard/GoBackend/wireguard: :peer(AsMM…SeWg) Removing all keys, since we haven't received a new one in 540 seconds
>>
>> Interestingly it's trying to send out to an IPv6 address. The peer endpoint IP is IPv4 only (the LTE is IPv4-in-6).
>
> In the wg command it resolves the domain once and picks the preferred protocol family of the system (which is ipv6 when its available).
> Since this is only done once it will stick to ipv6 for ever until the VPN is reconfigured by wg.
> This is an unsolved known problem.

That's *not* what's going on here. This is an issue with how Go
sockets handle IP addresses and their preference for v4-mapped-v6.


More information about the WireGuard mailing list