Интересно видеть все пользовательские агенты/протоколы там для контроля процесса. Часть этого из-за сетевого-snmp's чрезвычайного отказа быть полезной в данных мониторинга и общие клиенты для каждого процесса, желающие полагаться на SNMP.
Я обычно видел решенный с пользовательскими сценариями, которые выполняют PS с помощью пользовательского набора опций, анализируют получающийся вывод и обрабатывают его по мере необходимости. Это приводит к проблемам масштабируемости в управлении многими вариациями на это решение через крупное предприятие.
я рекомендовал бы использовать команду traceroute. На окнах это сокращено к 'tracert'
например, откройте командную строку и введите следующее (-d, средства не делают поисков DNS):
tracert -d <your server ip address>
это даст Вам список всех транзитных участков, которые пакет TCP поражает по пути к цели. Последний успешный транзитный участок, прежде чем Вы получите тайм-аут, даст Вам общее представление о том, где Интернет перестал работать. Это мог быть Ваш Wi-Fi, Ваш ISP или что-то еще.
Другая идея состоит в том, что иногда соединение SSH может быть отброшено, потому что система думает, что соединение неактивно и что хорошо для отбрасывания его. Это могло также быть установкой в Вашем модеме. Но я думаю, что traceroute даст Вам хорошую идею места ошибки. Если бы Вы никогда не ловите отказ с traceroute, я сказал бы, что, возможно, что-то - activly отбрасывание Вашего неактивного соединения. Изучите Активные настройки типа в своем Wi-Fi модем Router/DSL и т.д.
Но отправьте назад свои результаты, и позволяет, видят, можем ли мы помочь Вам понять эту вещь.
удачи.
Выполните сбор сетевых данных на своей машине, в то время как соединено с удаленной машиной. Когда разъединение происходит взгляд в получении для RST TCP (сброс) от удаленной машины. При нахождении его затем, проблема с удаленной машиной. Если Вы не делаете затем, проблема находится где-нибудь в соединении между двумя.
Со всем должным уважением я не подразумеваю, что tracert перестал работать каждый раз. Я подразумеваю, что, когда одному хосту в пути не удается ответить на tracert, это не означает, что тот хост является проблемой, и если Вы будете использовать tracert много, то Вы будете видеть, что неизменно там всегда, кажется, хост в пути, который не отвечает.
Проблема здесь с соединением, периодически отбрасывающим. Если бы это снизилось трудно, чем использование tracert и ping были бы хорошим выбором. Ping и tracert являются хорошими инструментами уровня медицинской сортировки, но они не собираются помогать обнаружить причину неустойчивых проблем. Tracert (поскольку это - имя, подразумевает) является инструментом для трассировки маршрута к удаленному хосту, и он - природа, может сказать Вам, если путь делает или не существует. Tracert не является инструментом диагностики, который может сказать Вам, почему хост не отвечает или отбрасывает пакеты. Единственный способ подобрать ту информацию состоит в том, чтобы выполнить сбор сетевых данных на обоих концах соединения, и идеально, если это возможно, на каждой ссылке в пути.
Если я выполняю постоянный ping и постоянный tracert к удаленному хосту, и я получаю неудавшийся ответ ping от удаленного хоста и одновременно вижу, что промежуточный хост в tracert прекращает отвечать, который означает, что тот промежуточный хост является проблемой? Нет это не делает и был бы теперь способ коррелировать два события, если я не выполнял сбор сетевых данных на каждой ссылке в пути и мог проанализировать данные на пакетном уровне.
Я просто предлагал запустить troubleshhoting с известных, измеримых компонентов, которые являются двумя хостами с обоих концов соединения.
Я знаю, что у всех есть их собственное мнение, и мое намерение не состоит в том, чтобы запустить войну, таким образом, мои извинения, если кто-либо обижается.
У Вас есть что-нибудь на месте, которое могло бы регулировать или ограничение уровня, поступающее соединения SSH на машине, такие как iptables (Linux) или inetd.conf (FreeBSD)? Что происходит, если Вы ожидаете 5 или 15 минут прежде, чем повторить соединение?