Я получаю ошибку (иногда) при подключении с host1 к host2
Errno::ETIMEDOUT: Connection timed out - connect(2)
Дамп TCP на host1 при попытке подключиться (tcpdump -vv -i eth0 -s 0 'порт 22 и host2'):
19:13:47.510774 IP (tos 0x0, ttl 64, id 44238, offset 0, flags [DF], proto TCP (6), length 60)
host1.50274 > host2.ssh: Flags [S], cksum 0x1409 (correct), seq 2693070134, win 5840, options [mss 1460,sackOK,TS val 867914232 ecr 0,nop,wscale 7], length 0
19:13:50.508713 IP (tos 0x0, ttl 64, id 44239, offset 0, flags [DF], proto TCP (6), length 60)
host1.50274 > host2.ssh: Flags [S], cksum 0x111b (correct), seq 2693070134, win 5840, options [mss 1460,sackOK,TS val 867914982 ecr 0,nop,wscale 7], length 0
19:13:56.508707 IP (tos 0x0, ttl 64, id 44240, offset 0, flags [DF], proto TCP (6), length 60)
host1.50274 > host2.ssh: Flags [S], cksum 0x0b3f (correct), seq 2693070134, win 5840, options [mss 1460,sackOK,TS val 867916482 ecr 0,nop,wscale 7], length 0
На host2 одновременно (tcpdump -vv -i eth0 -s 0 'порт 22 и хост host1'):
19:13:47.510512 IP (tos 0x0, ttl 62, id 44238, offset 0, flags [DF], proto TCP (6), length 60)
host1.50274 > host2.ssh: Flags [S], cksum 0x1409 (correct), seq 2693070134, win 5840, options [mss 1460,sackOK,TS val 867914232 ecr 0,nop,wscale 7], length 0
19:13:50.508453 IP (tos 0x0, ttl 62, id 44239, offset 0, flags [DF], proto TCP (6), length 60)
host1.50274 > host2.ssh: Flags [S], cksum 0x111b (correct), seq 2693070134, win 5840, options [mss 1460,sackOK,TS val 867914982 ecr 0,nop,wscale 7], length 0
19:13:56.508447 IP (tos 0x0, ttl 62, id 44240, offset 0, flags [DF], proto TCP (6), length 60)
host1.50274 > host2.ssh: Flags [S], cksum 0x0b3f (correct), seq 2693070134, win 5840, options [mss 1460,sackOK,TS val 867916482 ecr 0,nop,wscale 7], length 0
Где может быть проблема? Как мне отладить это?
Я предлагаю протестировать сеть с помощью «ping -s 1450» (-s изменяет размер пакета зондирования, mtr, похоже, не имеет подобной опции). Если первые пакеты проходят успешно, но не другие, это часто связано с тем, что проблема связана с размером пакета (например, на проблемной среде, такой как внешняя радиосвязь под сильным дождем), коэффициент потерь может быть почти нулевым для маленькие пакеты и близко к 1 для больших пакетов. И большинство протоколов начинаются с небольших пакетов согласования, а затем переключаются на большие пакеты.
Я заметил, что вы говорите, что HTTP в порядке, что опровергает мою гипотезу, но у меня нет другого представления прямо сейчас.