Мой сервер работает нормально.
Что-то происходит ...
Внезапно мой сервер стал недоступен по ssh и http. (Единственные открытые порты в брандмауэре.)
Вся конфигурация eth0 статическая, без DHCP.
Все настроено правильно в / etc / network / interfaces.
ethtool настроен на принудительный полный дуплекс 100baseT, как и шлюз - autoneg выключен.
ifconfig показывает ноль ошибок, ноль отброшенных пакетов, ноль переполнений и ноль конфликтов.
Мой сервер отвечает на эхо-запросы, отправленные из других сетей. (Что должно пройти через шлюз?)
route показывает, что все настроено правильно.
Мой сервер не получает ответа на эхо-запросы, отправленные на шлюз.
Мой сервер получает ответы от других машин в локальной сети.
После получения ответов ping от других локальных машин он может получить ответ от шлюза, http работает правильно, а также ssh. Я никак не перезагружал и не перенастраивал сеть, использовались только команды ifconfig
, ethtool
, route
и ping
(в указанном выше порядке), чтобы восстановить доступ к серверу.
Видеть этот вопрос для получения дополнительной справочной информации. (Я реализовал предложенное решение, но безрезультатно.)
Любые идеи? Эта проблема продолжается уже несколько недель, и я в полной растерянности ...
Вы не говорите, какой у вас шлюз, но я считаю, что это проблема маршрутизатора / шлюза.
Скорее всего, запись arp на gw истекает по таймауту и не обновляется, или в сети есть другое устройство, отвечающее на arps для IP-адреса вашего сервера, или оно безвозмездно передает адрес вашего сервера.
Когда вы проверяете связь с шлюзом, он просматривает свою таблицу arp, находит (неверную запись) и отвечает не тому хосту. Когда вы пингуетесь с другими хостами, они arp, и ваш сервер отвечает, а затем все таблицы arp обновляются с правильной информацией, и все снова работает. Прямо как по волшебству.