[wireguard-apple] [iOS] Changing network fails with includeAllNetworks (Kill Switch)
juraj.hilje at gmail.com
Wed Sep 22 13:26:47 UTC 2021
I've tested on iOS/iPadOS 15.1 Beta, and it looks like the issue is fixed there.
Let me know if you can confirm the same on your end.
> On 22.09.2021., at 10:59, Andrej Mihajlov <and at mullvad.net> wrote:
> Hi Juraj,
> Installing iOS 15 right now. I am gonna test it today too.
> What stands out to me that, while you have multiple interfaces available, the network monitor still says that the network is unsatisfied. Very odd.
>> On 22 Sep 2021, at 10:55, Juraj Hilje <juraj.hilje at gmail.com> wrote:
>> Hey Andrej, thanks for the response!
>> I've tested on iOS 14.8 and iOS 15.0 (public release), and even with the patch (b244febfdf3069dd4e8db2d31f0368d5474d7616) i still have the same issue on my end.
>> I will test the new iOS 15.1 Beta later today and let you know how it goes.
>> Juraj H.
>>> On 22.09.2021., at 10:08, Andrej Mihajlov <and at mullvad.net> wrote:
>>> Have you tried on the most recent beta? I think it works over there, but requires some tweaks to the network monitor code in WireGuard. I had a patch somewhere here but haven’t spent much time testing it:
>>> Waiting for the final release of iOS 15.
>>>> On 21 Sep 2021, at 12:55, Juraj Hilje <juraj.hilje at gmail.com> wrote:
>>>> If NETunnelProviderProtocol is configured with includeAllNetworks=true (Kill Switch), when network change is detected the device connectivity goes offline instead of routing VPN tunnel traffic through a new network.
>>>> Here are some logs from the moment of this event:
>>>> 2021-09-20 12:07:26.735453: [NET] Network change detected with unsatisfied route and interface order [en0, utun4, pdp_ip0]
>>>> 2021-09-20 12:07:26.736186: [NET] Connectivity offline, pausing backend.
>>>> 2021-09-20 12:07:26.736732: [NET] Device closing
>>>> 2021-09-20 12:07:26.737503: [NET] Routine: TUN reader - stopped
>>>> 2021-09-20 12:07:26.738970: [NET] Routine: event worker - stopped
>>>> 2021-09-20 12:07:26.739613: [NET] Routine: receive incoming v4 - stopped
>>>> 2021-09-20 12:07:26.742070: [NET] Routine: receive incoming v6 - stopped
>>>> 2021-09-20 12:07:26.746712: [NET] peer(eN1f…Oymc) - Stopping
>>>> 2021-09-20 12:07:26.751550: [NET] peer(eN1f…Oymc) - Routine: sequential receiver - stopped
>>>> 2021-09-20 12:07:26.751597: [NET] peer(eN1f…Oymc) - Routine: sequential sender - stopped
>>>> 2021-09-20 12:07:26.753433: [NET] Device closed
>>>> 2021-09-20 12:07:26.754097: [NET] Routine: decryption worker 5 - stopped
>>>> Tested on devices: iOS 14.8, iPadOS 15
>>>> WireGuardKit: 79aeb0be0d0aa3f6c8bd24309aaa8dcf03216fb4
>>>> More info on includeAllNetworks option:
>>>> Can someone confirm this issue or point to a possible workaround?
>>>> Juraj H.
More information about the WireGuard