Столкнулся с проблемой у одного из клиентов. Сервер работает под Федорой нормально часов так 6-10, а потом ни с того ни с сего падает в кору, при чем время работы разное. По-скольку я приходящий админ, то в консоли посмотреть, что происходит не мог. Туда сыпался всякий мусор, который не имел отношения к факту падения. Вернее инфа о падении убегала с экрана раньше, чем я доезжал. Ковыряние в логах ничего не дало, там все чисто было.
И все таки я дождался момента, когда сервак начал дико глючить и увидел заветную надпись “Neighbour table overflow“. Ковыряние Гугла показало, что проблема с размером таблиц кеша ARP. Увеличение ее до 10000 ничего не дало. Кстати, увеличивается таким макаром:
echo 10000 > /proc/sys/net/ipv4/neigh/default/gc_thresh1
echo 10000 > /proc/sys/net/ipv4/neigh/default/gc_thresh2
echo 10000 > /proc/sys/net/ipv4/neigh/default/gc_thresh3
Дальнейшее ковыряние Гугла навело на мысль о том, что сервак находится под атакой вирусняка из внутренней сети. Послушав tcpdump’ом поочереди внутренние интерфейсы выявил нехорошую активность. Но, что самое странное, эта активность была связана с сетью 169.254.0.0/16, т.е. с сетью, которая в принципе у меня не должна быть. При чем сервак сам упорно опрашивал по ARP все IP в этой подсети, т.е. фактически сам себе устроил arpflood и DoS в одном лице.
Таблица роутнига указала на один из внутренних VLANов, где и был обнаружен этот флуд. В принципе все уже было понятно, кроме одного: откуда эта сетка взялась? Оказывается в RedHat-like ОСях это фича ядра. Т.е. этот маршрут удалить нельзя через ip route. Был найден другой путь – во всех конфигах интерфейсов была добавлена строчка:
NOZEROCONF=yes
После рестарта сети маршрут с сетью 169.254.0.0 удалился и флуд закончился. Сервер продолжил работать как часы, оставив после этой проблемы вопросы:
- Нафига принудительно пихать мне сеть, которая мне 300 лет не нужна?
- Почему до определенного момента все работало и флуда не было?
Сейчас вот проверил на своем серваке. В Убунте нет такого маршрута. В очередной раз убедился, что не зря перелез на нее с Федоры.
а вот вопросик можно? У вас время после поста указано. Это московское? Просто есть блог с очень похожим постом… расхождение во времени пару часов… Заранее спасибо!
В сузе тоже включён по умолчанию. Zeroconf или APIPA “позволяет необученным пользователям соединять компьютеры, сетевые принтеры и другие устройства вместе и получать работающую сеть” … “без настройки DHCP и DNS” (c) wikipedia. Фича сомнительная, ни разу не видел чтобы его использовали
Спасибо за дополнение. Пост писал уже сонный и сильно уставший. Не стал пояснять, что это за подсеть и зачем она нужна.
А фича действительно весьма сомнительная. В винде еще понятно, а вот в Линухе зачем оно надо – ХЗ.
много раз видел как это используют. просто люди не знают таких слов. сетевое окружение есть, компы видятся и ладно.
и в убунте есть пакет avahi и его можно невзначай поставить и он будет делать то же самое что и винда.
но вот зачем это засунули в ядро (а точно засунули ли ?) непонятно.
https://kubuntu.ru/node/364
😉
https://ipesin.linux.kiev.ua/translations/rhm/tipstricks10.htm
https://www.zeroconf.org/
Катринка, время указано по Киеву.
Юрий, Спасибо за ссылки. 🙂