Сброс TCP после SYN ACK, возможно, связанный с "no route to host"

У меня проблема с одним из наших клиентов, пытающимся инициировать TCP-соединение с нашим сервером, но это не удается.

В tcpdump я вижу, что устройство клиента отправляет SYN пакет, которому наш сервер правильно отвечает SYN ACK . Сразу же после этого наш сервер получает пакет RST . Через несколько секунд процедура повторяется. Как ни странно, связь устанавливается правильно время от времени (примерно каждые 2 дня около 8:30).

Я попытался перенаправить пакеты на другой сервер, но получаю ту же проблему с этим сервером.

Сегодня я попытался подключиться к другому. У нашего клиента в настоящее время нет порта, открытого в его брандмауэре, но я попытался подключиться в любом случае, чтобы узнать, что произойдет. Я использовал ssh чтобы попробовать соединение с разных компьютеров, вот что я обнаружил:

С моего персонального компьютера (Mac OS X 10.10): ssh: connect to host xxxx port 22: Connection refused

На сервере, который принимает пакеты SYN (Debian 8): ssh: connect to host xxxx port 22: No route to host

С другого сервера в другом центре хостинга (Debian 7): ssh: connect to host xxxx port 22: No route to host

С другого сервера в более крупной компании (Debian 7): ssh: connect to host xxxx port 22: Operation timed out

Ответ, который я получаю на своем домашнем компьютере дома, – это то, что я ожидаю, если порт не открывается в брандмауэре, но меня путают разные результаты, которые я получаю с разных серверов.

Pinging IP-адрес клиента от любой из этих машин работает нормально.

Могу ли я смотреть на проблему маршрутизации здесь, где мои пакеты SYN-ACK неправильно маршрутизируются и поэтому (почти) никогда не доходят до клиента? Есть ли у вас какие-либо предложения по решению этой проблемы? Должен ли я обратиться к интернет-провайдеру клиента или, возможно, к моему серверу?

Спасибо за помощь.

ОБНОВЛЕНИЕ 1:

Я сделал некоторые дальнейшие исследования по Вопросам Джеффа. Вот мои результаты: IP TTL SYN: 55 IP TTL RST: 59 Я в настоящее время жду от клиента, чтобы предоставить мне доступ к его сети, поэтому я не могу видеть, получает ли он SYN-ACK или отправляет RST

Traceroute: 1 xxxx 25.793 ms 5.516 ms 5.516 ms 2 xxxx 4.140 ms 4.172 ms 4.166 ms 3 xxxx 4.158 ms 4.147 ms 4.139 ms 4 xxxx 9.855 ms 9.877 ms 9.874 ms 5 xxxx 15.506 ms !X 15.753 ms !X 15.970 ms !X Traceroute с моего компьютера дома то же самое на последних двух прыжках. Оба traceroutes имеют 5 прыжков.

На сервере нет брандмауэра или балансировки нагрузки.

Таблицы маршрутизации хорошо выглядят на серверах, которые no route to host . Они в основном состоят из маршрута по умолчанию и маршрута локальной подсети, работающего без проблем во всех других случаях.

2 Solutions collect form web for “Сброс TCP после SYN ACK, возможно, связанный с "no route to host"”

У меня недостаточно репутации, чтобы оставить вопрос, так что это больше вопросов, чем ответов, но они должны указывать на вас в правильном направлении или позволять другим давать больше информации о проблеме.

 -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? 

Все сводится к проблеме конфигурации. Сегодня клиент предоставил мне доступ к своей сети, и я узнал, что у него в основном было два устройства с одним и тем же IP-адресом, что привело к проблеме маршрутизации в его сети.

Изменен один из IP-адресов: Решено.

Спасибо за помощь.

  • Есть ли способ настроить TCP на потерю пакетов и повторную передачу?
  • Являются ли / dev / {udp, tcp} стандартизованными или доступными повсюду?
  • Соединение SSH, дающее отказ в соединении
  • Можете ли вы отправить TCP-пакет с флагом RST, установленным с помощью IPTABLES, как способ обмануть NMAP, чтобы понять, что порт закрыт?
  • Параметры keep-alive TCP не соблюдаются
  • SIGSEGV: 0x0000000000000000 in ?? ()
  • минимальный TCP MSS в Linux
  • Память ussage для буферов сообщений TCP или именованных каналов?
  • Привязать непривилегированное приложение к привилегированному порту в Mac OS X
  • Значение записей журнала из конфигурации iptables
  • Как закрыть порты в Linux?
  • Interesting Posts

    Установите общий / opt так, чтобы оба моих дистрибутива Linux могли его использовать

    Отслеживать, какой набор Zsh вариант

    udevadm не отслеживает родительские устройства

    Перенаправить вывод команды с переменными в массив

    Необходимые модули ядра / конфигурация для хоста OTG на устройстве на базе OMAP3

    Резервное копирование TAR на удаленный сервер

    Как использовать sed или awk для получения только каталога

    Поддерживает ли клавиатурная интерактивная аутентификация два последовательных пароля?

    Какой диспетчер дисплеев / оконный менеджер может поддерживать несколько мониторов с разным разрешением?

    Как обычные выражения отличаются от подстановочных знаков, используемых для фильтрации файлов

    Можно ли планировать выполнение задания cron каждые две недели?

    Как отобразить UDP-соединение?

    Установите Java JDK и JRE на Debian 8

    Использование команды test для создания каталога, если он не существует

    Убейте много экземпляров запущенного процесса с помощью одной команды

    Linux и Unix - лучшая ОС в мире.