Atualização 3: 22 de janeiro de 2017
Reduzi a atualização que causa esse problema: KB3201845 OS Build 14393.479 de 9 de dezembro de 2016 . Eu passei por todas essas atualizações passo a passo.
Olhando para o manifesto dos arquivos de alterações, esses arquivos foram alterados:
Outros tópicos que criei:
Fóruns Microsoft Technet, 2 outras pessoas confirmaram o mesmo problema lá .
Reddit / r / networking
Hub de comentários da Microsoft
Atualizar
-
O pré-aniversário do Windows 10 (versão 10.0.10586) funciona bem
-
O pós-aniversário do Windows 10 (versão 10.0.14393) cai, portanto, o problema está na atualização do aniversário.
Atualização 2
Posso me conectar usando dois hosts do Windows anteriores ao aniversário
Se eu conectar um host do Windows de 1 aniversário à VPN e mantê-lo vivo artificialmente por meio de ping, não consigo conectar um segundo host à VPN. No "debug crypto ikev2" do roteador, isso acontece:
Jan 17 19:20:35.811: IKEv2:(SESSION ID = 25,SA ID = 2):Session present in ID PAIR TREE, but absent in TUPLE TREE
Jan 17 19:20:35.811: IKEv2:(SESSION ID = 25,SA ID = 2):: Failed to add new SA into session DB
Jan 17 19:20:35.811: IKEv2:(SESSION ID = 25,SA ID = 2):Queuing IKE SA delete request reason: unknown
Jan 17 19:20:35.811: IKEv2:(SESSION ID = 25,SA ID = 2):Sending DELETE INFO message for IPsec SA [SPI: 0x3DA95352]
Jan 17 19:20:35.811: IKEv2:(SESSION ID = 25,SA ID = 2):Check for existing IPSEC SA
Jan 17 19:20:35.811: IKEv2:(SESSION ID = 25,SA ID = 2):Delete all IKE SAs
Jan 17 19:20:35.811: IKEv2:(SESSION ID = 25,SA ID = 2):Sending DELETE INFO message for IKEv2 SA [ISPI: 0x3B52B7EBA8A353B1 RSPI: 0x16F36D79AAE675A5]
Eu tenho um roteador Cisco IOS, modelo 892, que estou configurando o IKEv2 com EAP-MSCHAPv2 como autenticação remota (apoiada por um Servidor de Diretivas de Rede do Windows 2012 Server) e autenticação de certificado local. Tudo funciona, eu posso me conectar à VPN e pingar um endereço de loopback no roteador. O Windows 7 e 8.1 funcionam bem, o Android com o Strongswan também.
No entanto, no Windows 10 (10.0.14393 - totalmente atualizado em 16 de janeiro de 2017), exatamente 60 segundos após a última troca de dados (como um ping), o Windows interrompe a conexão. Então:
- Conexão VPN de T + 0 aberta
- Conexão VPN T + 60 cai
- Conexão VPN de T + 0 aberta
- T + 20 1 Ping para 172.16.0.5, resposta recebida
- conexão VPN T + 80 cai
A VPN é descartada com a seguinte mensagem no log de eventos do sistema:
Fonte: RasClient
ID do evento: 20226
CoId = {43121588-861C-447A-A510-C44C2BA86639}: O usuário LAPTOP-GLENN \ Glenn discou uma conexão chamada ikev2-test que foi terminada. O código de razão retornado no término é 829.
Então comecei a cavar e habilitei a depuração do RAS no cliente:
netsh ras diagnostics * state=enabled
A única coisa relevante que pude encontrar foi em C: \ Windows \ tracing \ rasman.log (20:11:51 é quando a desconexão acontece - bits interessantes prefixados com "***"):
[1384] 01-16 20:11:51:216: FreeInterfaceLuidIndex: Luid = 0
[1384] 01-16 20:11:51:216: RasUpdateVpnLuidCache: Luid: 17000000000000, fAddLuid:0
[1384] 01-16 20:11:51:216: RasUpdateVpnLuidCache: Removed Luid 17000000000000 from cache
[1384] 01-16 20:11:51:216: FreeInterfaceLuidIndex: done 0
[1384] 01-16 20:11:51:216: DeallocateRouteRequestCommon: pBundle=0xa50adde0, type=0x800
[1384] 01-16 20:11:51:232: DeActivated Route , bundlehandle 0x4, prottype = 2048
[1384] 01-16 20:11:51:232: DeAllocateRoute: PI_Type=0x800, PI_AdapterName=\DEVICE\{93A76D72-2010-45BB-9096-244B06735879}, PI_Allocated=-1
[3524] 01-16 20:11:51:248: SendProtocolResultToRasman: msgid=1, hPort: 6.
*** [3524] 01-16 20:11:51:248: Setting last error for port VPN2-1 to ppp error 0x3635
[3524] 01-16 20:11:51:248: SetProtocolResultAvailableEvent: Notification handle event for port 6 is not registered.
[2640] 01-16 20:11:51:248: WorkerThread: Disconnect event signaled on port: VPN2-1
[2640] 01-16 20:11:51:248: OVEVT_DEV_STATECHANGE. pOverlapped = 0xa4611940
[2640] 01-16 20:11:51:248: onecoreuap\net\rras\ras\rasman\rasman\worker.c, 2031: Disconnecting port 6, connection 0xa6af47e0, reason 1
[2640] 01-16 20:11:51:248: Disconnecting Port 0xVPN2-1, reason 1
[2640] 01-16 20:11:51:248: DisconnectPort: Saving Bundle stats for port VPN2-1
[2640] 01-16 20:11:51:263: RevertPostConnectionActions
[2640] 01-16 20:11:51:263: RasImpersonateUser. 0x0
[2640] 01-16 20:11:51:263: DeleteCredentialsFromCredMan
[2640] 01-16 20:11:51:263: DeleteCredentialsFromCredMan Done: 0
[2640] 01-16 20:11:51:263: RasRevertToSelf. 0x0
[2640] 01-16 20:11:51:263: QueueCloseConnections: no dependent connections
[2640] 01-16 20:11:51:263: 10. Throwing away handle 0x0!
[2640] 01-16 20:11:51:263: onecoreuap\net\rras\ras\rasman\rasman\util.c, 2315:Setting port 6 for autoclosure...
[2640] 01-16 20:11:51:263: onecoreuap\net\rras\ras\rasman\rasman\util.c 2327: Disconnected Port 6, reason 1. rc=0x0
[2640] 01-16 20:11:51:263: FreeBundle: freeing pBundle=0xa50adde0
[2640] 01-16 20:11:51:263: onecoreuap\net\rras\ras\rasman\rasman\util.c: 2443: port 6 state chg: prev=2, new=3
[2640] 01-16 20:11:51:263: onecoreuap\net\rras\ras\rasman\rasman\util.c: 2459: port 6 state chg: prev=3, new=4
[2640] 01-16 20:11:51:263: 5. Notifying of disconnect on port 6
[2640] 01-16 20:11:51:263: SignalPortDisconnect: Notification handle event for port 6 is not registered.
[2640] 01-16 20:11:51:263: onecoreuap\net\rras\ras\rasman\rasman\util.c: 2573: port 6 async reqtype chg: prev=0, new=0
[2640] 01-16 20:11:51:263: ***** DisconnectType=1,DisconnectReason=4,pConn=0xa6af47e0,cbports=1,signaled=1,hEvent=0xffffffff,fRedial=0
[2640] 01-16 20:11:51:263: Calling DwQueueRedial
[2640] 01-16 20:11:51:263: DwQueueRedial
[2640] 01-16 20:11:51:263: DwQueueRedial returned 0x0
[2640] 01-16 20:11:51:263: onecoreuap\net\rras\ras\rasman\rasman\util.c, 2634: Autoclosing port 6
[2640] 01-16 20:11:51:263: PortClose: port (6). OpenInstances = 1
[2640] 01-16 20:11:51:263: Freeing the notifier list for port 6
[2640] 01-16 20:11:51:263: PortClose (6). OpenInstances = 0
[2640] 01-16 20:11:51:263: onecoreuap\net\rras\ras\rasman\rasman\request.c: 3845: port 6 async reqtype chg: prev=0, new=0
[2640] 01-16 20:11:51:263: onecoreuap\net\rras\ras\rasman\rasman\request.c: 3848: port 6 state chg: prev=4, new=4
[2640] 01-16 20:11:51:263: PortClose: Resetting PCB_OpenedUsage for port: 6.
[2640] 01-16 20:11:51:263: RemoveConnectionPort: port 6, fOwnerClose=0, pConn=0xa6af47e0, pConn->CB_Ports=0
*** [2640] 01-16 20:11:51:263: Completely disconnected connection: Reason: ERROR_LINK_FAILURE (829)
[2640] 01-16 20:11:51:263: SendSensNotification(_RAS_DISCONNECT) for 0x00040000 returns 0x00000000
[2640] 01-16 20:11:51:263: Successfully notified event(128, C:\Users\Glenn\AppData\Roaming\Microsoft\Network\Connections\Pbk\rasphone.pbk, ikev2-test) to the caller.
[2640] 01-16 20:11:51:263: SignalNetman: IRasEventNotify::RasEvent returned S_FALSE
[2640] 01-16 20:11:51:263: DwSendNotificationInternal(ENTRY_DISCONNECTED) rc=0x1
[2640] 01-16 20:11:51:263: RemoveConnectionPort: FreeConnection hconn=0x40000, pconn=0xa6af47e0, AutoClose=1
[2640] 01-16 20:11:51:263: FreeConnection: pConn=0xa6af47e0, 1
[2640] 01-16 20:11:51:263: onecoreuap\net\rras\ras\rasman\rasman\request.c, 3918: Clearing the autoclose flag for port 6
[2640] 01-16 20:11:51:263: fAnyConnectedPorts: 0
[2640] 01-16 20:11:51:263: SetRasmanServiceStopControl: Enabled 1
[2640] 01-16 20:11:51:263: PortClose: DisableAutoWPPTracing failed with error 0x2
[2640] 01-16 20:11:51:263: DisconnectPort Complete
[2640] 01-16 20:11:51:263: onecoreuap\net\rras\ras\rasman\rasman\worker.c: 2077: port 6 state chg: prev=4, new=4
[2640] 01-16 20:11:51:263: onecoreuap\net\rras\ras\rasman\rasman\worker.c: 2081: port 6 async reqtype chg: prev=0, new=0
[1276] 01-16 20:11:51:263: The specified notification entry with cookie 2 found.
[1276] 01-16 20:11:51:263: Dequed notification entry: (128, C:\Users\Glenn\AppData\Roaming\Microsoft\Network\Connections\Pbk\rasphone.pbk, ikev2-test) from the queue.
- Executei a mesma configuração em um roteador Cisco CSR1000v e a mesma coisa aconteceu.
- Criado um REG_DWORD chamado "InactivityIdleSeconds" em HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Classe {4d36e972-e325-11ce-bfc1-08002be10318} \ 0012 (WAN Miniport (IKEv2)) e jogado com seu valor, mas isso não aconteceu alterar qualquer coisa ( veja aqui porque eu tentei isso )
- Brincou com o Dead Peer Detection, mas isso também não alterou nada
Não consigo descobrir quais são os critérios para o Windows 10 considerar uma conexão IKEv2 inoperante ou quais alterações de estado fazem com que o Windows 10 pense que a VPN precisa ser desconectada.
Soooo ... algum apontador?
Microsoft Technet: Erro 829 significa ERROR_LINK_FAILURE O modem (ou outro dispositivo de conexão ) foi desconectado devido a falha no link.
Microsoft Technet: 0x3635 significa 13877 ERROR_IPSEC_IKE_RPC_DELETE "Excluído via Chamada RPC. "
A configuração do roteador Cisco IOS.
Logs de depuração do roteador IOSv2 do Cisco IOS
Arquivo Zip do diretório C: \ Windows \ tracing
completo