Назад | Перейти на главную страницу

FreeBSD 8.0 «Watchdog Timeout» разрывает соединение Ethernet

Недавно в мой ящик FreeBSD 8.0 (GENERIC) поступило большое количество запросов с IP-адреса в Тайване, пытающихся угадать пароли и все такое. Короче говоря, в какой-то момент я заметил, что не могу подключиться по ssh. После входа в систему я заметил огромный количество угаданных паролей и сообщение msk0: watchdog timeout. msk0 относится к моему проводному Ethernet-соединению.

Я восстановил интерфейс с ifconfig msk0 up, и успешно смог пропинговать адрес этого интерфейса. Однако при попытке проверить связь с моим основным маршрутизатором, к которому устройство напрямую подключено, он завис. Попытка проверить связь с моим внешним IP-адресом вернула целую кучу sendto: no buffer space available.

Проблема была решена перезагрузкой, но, очевидно, это не лучший способ решения этой проблемы. Если что-то подобное произойдет снова, какие шаги мне следует предпринять для восстановления подключения? Я читал, что иногда это можно предотвратить с помощью watchdog -t 0, но я не уверен, что хочу пойти по этому проспекту.

Когда дело доходит до профилактики, есть ли способ отказаться от подключения с IP-адресов, которые имеют определенное количество неудачных попыток входа в систему в течение определенного периода времени? Например, 15 неудачных попыток входа в систему приведут к отказу в подключении в течение следующих двенадцати часов?

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

Я использую и настоятельно рекомендую всем, у кого есть общедоступный сервер * nix: Fail2Ban

Он находится в дереве портов в разделе security / py-fail2ban, так что начать работу легко.
После того, как он будет открыт /usr/local/etc/fail2ban/jails.local в вашем любимом редакторе. Вот быстрое начало, если вы используете IPFW. Если вы используете pf, это будет немного иначе.

[DEFAULT]
maxretry = 10

[auth-bsd-ipfw]
enabled  = true
filter   = bsd-sshd
action   = bsd-ipfw
logpath  = /var/log/auth.log

Включите службу echo 'fail2ban_enable="YES"' >> /etc/rc.conf и начни это /usr/local/etc/rc.d/fail2ban start

Некоторое время следите за содержимым таблицы 1 в IPFW, чтобы убедиться, что вы не собираетесь заблокировать себя с помощью ipfw table 1 list. Как только он заработает должным образом, добавьте правило брандмауэра для блокировки IP-адресов в таблице 1: ipfw add 00030 deny ip from "table(1)" to me. Обязательно добавьте это в свой набор правил запуска, чтобы он загружался при перезагрузке.

Fail2Ban можно использовать для мониторинга практически любого файла журнала. Большинство сервисов уже регистрируют неудачные попытки входа в систему в файл журнала, и большинство других можно сделать; и есть много примеров, найденных через Google (или спрашивающих здесь).

Я не знаю, какие микросхемы поддерживает msk0; но я видел похожие проблемы на многих других картах / чипах / драйверах. В 99,9% случаев это ошибочная реализация прошивки (обычно из-за дешевого производства), которая неправильно обрабатывает сторожевой таймер (ы).

Кроме того, это чип Marvel, а Marvel не поддерживает открытый исходный код; это может быть проблема с самим драйвером. В любом случае лучше всего начать с нижней части Страница справочника по поиску и устранению неисправностей сетевых адаптеров.

У меня была своя доля подобных проблем; Я нашел самое простое решение - перейти на более дорогие сетевые адаптеры (хотя вы можете найти более старые на eBay почти за бесценок; мой лучший выбор для домашнего оборудования).

Если устранение неполадок не помогло устранить проблему, обратитесь к специалистам по устранению неполадок на Форумы FreeBSD слишком.