Redefinir TCP após SYN ACK possivelmente relacionado a “nenhuma rota para hospedar”

1

Eu tenho um problema com um de nossos clientes tentando iniciar uma conexão TCP com nosso servidor, mas ele falha.

Em tcpdump , vejo que o dispositivo do cliente envia um pacote SYN para o qual o nosso servidor responde corretamente com SYN ACK . Imediatamente depois disso, nosso servidor recebe um pacote RST . Após alguns segundos, o procedimento é repetido. Estranhamente, a conexão é estabelecida corretamente de tempos em tempos (a cada 2 dias, aproximadamente às 8:30 da manhã).

Eu tentei redirecionar os pacotes para outro servidor, mas obtenho o mesmo problema com esse servidor.

Hoje tentei me conectar ao contrário. Nosso cliente atualmente não tem uma porta aberta em seu firewall, mas eu tentei me conectar de qualquer maneira para ver o que acontece. Eu usei ssh para tentar a conexão de diferentes máquinas, aqui está o que eu descobri:

Do meu computador pessoal (Mac OS X 10.10): ssh: connect to host x.x.x.x port 22: Connection refused

Do servidor que está recebendo os pacotes SYN (Debian 8): ssh: connect to host x.x.x.x port 22: No route to host

De outro servidor em um centro de hospedagem diferente (Debian 7): ssh: connect to host x.x.x.x port 22: No route to host

De outro servidor em uma empresa maior (Debian 7): ssh: connect to host x.x.x.x port 22: Operation timed out

A resposta que recebo do meu computador pessoal em casa é o que eu esperava se a porta não estivesse aberta no firewall, mas estou confuso com as diferentes saídas que recebo dos diferentes servidores.

O ping do IP do cliente de qualquer uma dessas máquinas funciona bem.

Eu poderia estar vendo um problema de roteamento aqui, onde meus SYN-ACK packages são roteados incorretamente e, portanto, (quase) nunca chegam ao cliente? Você tem alguma sugestão sobre como lidar com o problema? Devo entrar em contato com o provedor do cliente ou talvez com o provedor do meu servidor?

Obrigado pela sua ajuda.

UPDATE 1:

Eu fiz mais pesquisas sobre Jeff's Questions. Aqui estão meus resultados: %código% No momento, estou esperando o cliente me conceder acesso à rede dele, portanto, não posso ver se ele recebe o IP TTL SYN: 55 IP TTL RST: 59 ou se ele envia o SYN-ACK

Traceroute: %código% O traceroute do meu computador em casa é o mesmo nos dois últimos saltos. Ambos os traceroutes têm 5 saltos.

Não há firewall ou balanceador de carga no servidor.

As tabelas de roteamento ficam bem nos servidores que recebem o RST . Eles consistem principalmente na rota padrão e na rota de sub-rede local funcionando sem problemas em todas as outras ocasiões.

    
por Tim 22.01.2017 / 14:31

2 respostas

1

Eu não tenho reputação suficiente para deixar uma pergunta, portanto, essas são mais perguntas do que respostas, mas elas devem apontar você na direção certa ou permitir que outras pessoas forneçam mais informações sobre o problema.

-What is the IP TTL (or hop limit if IPv6) in the SYN and RST?
-What does a capture from the client show?  
    -Does it receive the SYN-ACK, and does it send the RST?
-What does a traceroute look like?
    -How many hops between the server and the client?  
-Is there a firewall, load balancer or other network 
 device fronting  (NAT, VIP) the server?
-What do the routing tables look like for the servers 
 receiving the No Route to Host?
    
por 22.01.2017 / 19:08
0

Tudo se resume a um problema de configuração. O cliente me concedeu acesso à sua rede hoje e descobri que ele basicamente tinha dois dispositivos com o mesmo endereço IP, resultando em um problema de roteamento em sua rede.

Alterou um dos endereços IP: resolvido.

Obrigado pela sua ajuda.

    
por 24.01.2017 / 12:45