Como posso medir o limite de tempo limite de TCP no firewall NAT para definir o intervalo de manutenção de atividade?

1

Um novo firewall (NAT) foi instalado recentemente em $ WORK. Desde então, estou obtendo muitos tempos de espera e interrupções de rede, especialmente para operações que exigiriam que o servidor pensasse um pouco sem uma resposta (svn update, rsync, etc.). Sessões SSH de entrada em VPN também excedem o tempo limite.

Isso sugere claramente que preciso ajustar o tempo de manutenção de atividade TCP (e ssh) nos servidores em questão para reduzir esses erros.

Mas qual é o valor apropriado que devo usar?

Supondo que eu tenha máquinas em ambos os lados do firewall entre as quais eu possa fazer uma conexão, existe uma maneira de medir o limite de tempo em conexões TCP para este firewall?

Na teoria, eu enviaria um pacote com intervalos gradualmente crescentes até que a conexão fosse perdida. Qualquer ferramenta que possa ajudar (livre ou código aberto seria melhor, mas estou aberto a outras sugestões)?

O appliance não está sob meu controle, então não posso simplesmente obter o valor, embora eu esteja tentando perguntar o que é atualmente e se posso aumentá-lo.

    
por jmanning2k 09.03.2010 / 23:50

3 respostas

1

Estou pensando que você só precisa se conectar de uma máquina a outra enquanto executa uma captura de pacotes em uma das máquinas. Faça uma sessão FTP, HTTP, SSH, etc. e deixe-a ficar lá até expirar.

Não sei ao certo o que você quer dizer quando diz "Em teoria, enviaria um pacote com intervalos gradualmente crescentes até que a conexão fosse perdida", mas não acho que você precise fazer outra coisa senão fazer uma conexão , capture o tráfego e deixe-o ficar até o tempo limite. Os tempos limite ocorrem em sessões ociosas e, se você enviar dados para a outra extremidade, isso provavelmente redefinirá o cronômetro, pois a sessão não estará mais inativa.

Quando o intervalo expirar, observe o timestamp da captura do primeiro pacote (início do handshake de três vias) até que a conexão seja encerrada (você pode ou não ver um RST).

Bloqueio de qualquer timeout da camada de aplicação (dependendo do tipo de conexão que você fizer) isso deve lhe dar uma idéia de como a configuração de timeout está configurada.

    
por 10.03.2010 / 02:22
0

Talvez a maneira mais simples de saber o valor correto do tempo limite seja apenas perguntar ao administrador da rede para informar as configurações definidas para o novo dispositivo NAT?

    
por 10.03.2010 / 07:04
0

Eu tentei fazer uma conexão de saída ssh, mas eu tive que fazer mais do que apenas deixar isso ficar lá. Sem interação, ela parecerá válida por tempo indeterminado, mas deixará de aceitar a entrada depois de um certo tempo ocioso.

Então, tentei executar:

# for n in 60 90 120 180 240 300 600 900 1800 3600; do sleep $n && echo "Still r
unning $n"; done
Still running 60
Still running 90
Still running 120
Still running 180
Still running 240

Depois ficou ocioso por mais de 5 minutos. Nesse momento, pressionei uma tecla e consegui:

Connection to XXX closed by remote host.
Connection to XXX closed.

Eu provavelmente deveria ter usado intervalos prováveis mais alguns segundos, mas tenho certeza que o tempo limite está entre 240 e 300 segundos.

Os administradores de rede informaram que o tempo limite está definido para 60 minutos, mas esse claramente não é o caso. O lado remoto obtém uma conexão fechada muito mais cedo, mas as conexões de saída ficarão do meu lado. Isso é muito frustrante para conexões de saída para as quais o lado remoto precisa pensar um pouco antes de responder (svn update, ftp com grandes diretórios remotos, etc.)

    
por 11.03.2010 / 19:29