Eu tenho um cliente com um servidor SBS 2011 que está atuando como um servidor VPN PPTP que está tendo dificuldade em manter conexões VPN de trabalho com seus servidores para funcionários remotos.
As máquinas clientes são capazes de se conectar à VPN com sucesso e acessar os recursos da rede, mas após um período de tempo a VPN parece ignorar os pacotes recebidos pela VPN. A conexão VPN parece estar conectada do lado do cliente, mas nenhum acesso aos recursos da rede é possível, incluindo servidores de ping, etc.
A quantidade de tempo antes de a conexão parar não é fixa. Eu tive conexões ficar funcionais por ~ 40 horas, e falhar depois de um curto período de tempo de ~ 10 minutos. Não acredito que seja um problema de tempo limite de conexão no servidor ou nos roteadores, pois a falha ocorre mesmo se eu repetidamente fizer ping no servidor na outra extremidade da conexão ou solicitar repetidamente uma página da Web pela VPN.
Wireshark
Uma vez que a VPN falhou, se eu observar o tráfego da rede no servidor usando o Wireshark, vejo que o canal de controle da porta TCP 1723 ainda está aberto, e as solicitações / respostas de eco estão acontecendo a cada minuto.
Pacotes GRE estão sendo recebidos pelo servidor do cliente, mas o servidor não parece responder a eles. Por exemplo, se eu fizer ping no servidor pela VPN, poderei ver a solicitação de eco ICMP encapsulada no GRE chegar ao servidor, mas nenhuma resposta de eco será enviada.
Log do RRAS
Eu liguei o log para o RRAS no servidor SBS. Eu vejo algumas coisas nos logs que mostram que o servidor excluiu a rota para o cliente, mas não posso, por enquanto, identificar o motivo. Aqui está um extrato de IPRouterManager.LOG
:
[16724] 15:30:24: OnRouteChange: Route Deletion Notification
[16724] 15:30:24: INFO: Converted interface Luid 0x17000002000000 to Index 24.
[16724] 15:30:24: ConvertRouteInfoToRtm: pRouteInfo->Flags1 (0x0)
[16724] 15:30:24: ConvertRouteInfoToRtm: Flags: pRouteInfo (0x0), dwRouteFlags (0x0), pRtInfo (0x0)
[16772] 15:30:25: ChangeRouteWithForwarder: Deleting all routes to 10.0.0.24/255.255.255.255
[16772] 15:30:25: GetFirstRouteInfoForDestination returns with 0x0; Index = 0; Dest = 0x1800000a; nexthop = 0x58
[16772] 15:30:25: AllocateAndGetIpAddrTable returns with 0x0
[16772] 15:30:25: IsOnLinkRoute: 0
[16772] 15:30:25: DeleteIpForwardEntry returns with 0x2; Index = 0; Dest = 0x1800000a; nexthop = 0x58
[16772] 15:30:25: SetIpForwardEntry returns with 0x2
Praticamente ao mesmo tempo, vejo logs no arquivo PPP.LOG
mostrando que os pings recebidos estão sendo "descartados silenciosamente" no servidor. O conteúdo do pacote é para uma solicitação de eco ICMP da máquina cliente em 10.0.0.24 para o servidor em 10.0.0.2:
[17292] 03-11 15:30:24:529: Packet received (62 bytes) for hPort 128
[15288] 03-11 15:30:24:529: >PPP packet received at 03/11/2013 05:00:24:529
[15288] 03-11 15:30:24:530: >Protocol = UNKNOWN, Type = UNKNOWN, Length = 0x3e, Id = 0x0, Port = 128
[15288] 15:30:24:530: >00 21 45 00 00 3C 04 52 00 00 80 01 22 56 0A 00 |.!E..<.R...."V..|
[15288] 15:30:24:530: >00 18 0A 00 00 02 08 00 D9 AA 00 03 73 AE 61 62 |............s.ab|
[15288] 15:30:24:530: >63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 |cdefghijklmnopqr|
[15288] 15:30:24:530: >73 74 75 76 77 61 62 63 64 65 66 67 68 69 00 00 |stuvwabcdefghi..|
[15288] 03-11 15:30:24:530:
[15288] 03-11 15:30:24:530: Network-layer packet rcvd.
[15288] 03-11 15:30:24:530: Packet being silently discarded
Ajuda!
Estou preso. Parece-me que o servidor decidiu, por algum motivo, terminar o lado GRE do túnel. Qualquer conselho sobre o que mais eu posso olhar ou sugestões sobre como resolver isso seria muito apreciado.