Всем привет. На предприятии стоит скада система с gateway сервером на centos. Внезапно на новогодних праздниках 4 января возникла проблема - каждые 2-5 минут пропадает связь с разными устройствами в сети (чаще всего с ИБП, которые опрашиваются по SNMP, snmp тоже на gateway сервере) и появляется спустя 2 минуты. В момент потери соединения, устройство не пингуется на gateway, но пингуется на компьютерах. Ранее такая проблема уже возникала полгода назад и при попытке пинга на gateway сервере возникало сообщение “недостаточно буферного пространства”. Решилась тогда данная проблема вводом команды:
Похоже на переполнение очереди буфера сетевого интерфейса. Возможно этот интерфейс попросту перегружен, возможно большие очереди сообщений на / с устройств на этот интерфейс.
Можно попробовать посмотреть что происходит в логах или при помощи dmesg
Так же попробовать поиграть с параметрами sysctl, как пример:
Сколько устройств в вашей сети ( в одном l2 домене)? Если вы прошлый раз лечили подобное увеличением размера ARP таблицы, а врядли в вашей сети несколько тысяч устройств в одном сегменте, то могу предположить, что что-то флудит на уровне arp. Смотрите arp таблицу на количество записей и соответствие ее реальности. Посмотрите снифером что творится у вас в сети. Статистику интерфейса тоже посмотрите, может просто сетевая полусдохла или с линком что-то случилось.
Спасибо за ответы, но gc_thresh уже пробовал корректировать, результата нет. В arp таблице около 1300 записей всегда (что примерно соответствует кол-ву устройств в сети) и буквально 2-3 incomplete записи.
Найди то, что флудит… Твоя проблема похоже на флуд, возможно не преднамеренный. У машины тупо нет возможности обработать запросы, так как интерфейс ими забит “по уши”
Пояснение по устройству сети. Есть много электрических подстанций с разными устройствами в разных подсетях с айпи 172.21.x.x (172.21.15.x для ИБП, 172.21.10.x для измерительных приборов и т.д.) с маской 255.255.0.0 и шлюзом 172.21.0.211 (gateway сервер с firewall). Есть в сети обычные компьютеры с айпи 172.21.0.x с той же маской и шлюзом. На подстанции стоит L2 свитч, в который приходят все устройства. Есть серверная в которой стоят несколько опросных свитчей и 2 головных свитча, и gateway сервер в качестве шлюза. В момент отвала в скада системе, устройство (чаще всего ИБП, опрашиваемый по SNMP) перестает на 20-30 секунд пинговаться на gateway сервере, но продолжает пинговаться на компьютерах и даже доступ в веб-морду есть. Заметил, что если SNMP скрипт включать, то становится хуже и устройства (даже не опрашиваемые по SNMP) начинают чаще отваливаться. Возможно в этом есть какая-то логика.
Возможно я не понимаю всей глубины вашей архитектуры и пока не вник глубоко в ваш конфиг, но что заметил. На гейте маска сети /24 а не /16, как вы описали. Куча роутов на какой-то 172.21.0.212. Если на клиентах адрес действительно с /16 маской, то получается трафик ходит кругом - от клиентов напрямую к гейту, а от гейта клиентам через 172.21.0.212 (что это и где это?).
UPD… 0.212 это и есть ваш гейт, видимо в сообщении вы ошиблись написав, что он 0.211 @around , я не совсем уверен, но если в качестве гейта указан ip самого роутера, это же он воспринимает как роут через интерфейс? В микроте такие роуты бродкастом рассылаются. Т.е. если это оно, то гейт отвечает всем бродкастом получается?
Вобщем я бы начал с того, что выписал бы гейту адрес /16 и убрал эти статик роуты.
172.20.x.x сеть это старая сеть, теперь все устройства стали 172.21.x.x. Нужно удалить все настройки связанные с 20 зоной, но проблема думаю не в этом =)
Судя по Wireshark bond3 gateway действительно гуляют броадкаст пакеты от gateway к клиентам и наоборот. На устройствах маска 255.255.0.0, а на gateway сервере для например подсети ИБП 172.21.15.x маска уже 255.255.255.0. Если указать на устройстве маску 255.255.255.0 , то в скаду данные перестают приходить. У gateway на bond3 как бы два интерфейса получается.
Перемудрили с адресацией. И да, я нашел картинку, которую вы на другом форуме выкладывали, подключение к двум разным коммутаторам, как мне сказали, через bond не делается (только если у вас коммутаторы стекируемые)