Sys-Admin Forum

Centos gateway пропадают устройства

Всем привет. На предприятии стоит скада система с gateway сервером на centos. Внезапно на новогодних праздниках 4 января возникла проблема - каждые 2-5 минут пропадает связь с разными устройствами в сети (чаще всего с ИБП, которые опрашиваются по SNMP, snmp тоже на gateway сервере) и появляется спустя 2 минуты. В момент потери соединения, устройство не пингуется на gateway, но пингуется на компьютерах. Ранее такая проблема уже возникала полгода назад и при попытке пинга на gateway сервере возникало сообщение “недостаточно буферного пространства”. Решилась тогда данная проблема вводом команды:

echo 8192 > /proc/sys/net/ipv4/neigh/default/gc_thresh3 

Но теперь это не помогает и устройство поочередно отваливаются и снова появляются. Прошу помощи.

Увеличил время опроса в утилите опроса SNMP - не помогло.

Похоже на переполнение очереди буфера сетевого интерфейса. Возможно этот интерфейс попросту перегружен, возможно большие очереди сообщений на / с устройств на этот интерфейс.

Можно попробовать посмотреть что происходит в логах или при помощи dmesg

Так же попробовать поиграть с параметрами sysctl, как пример:

net.ipv4.neigh.default.gc_thresh1 = 80000
net.ipv4.neigh.default.gc_thresh2 = 90000
net.ipv4.neigh.default.gc_thresh3 = 100000

@around @Pantryk FYI

Сколько устройств в вашей сети ( в одном l2 домене)? Если вы прошлый раз лечили подобное увеличением размера ARP таблицы, а врядли в вашей сети несколько тысяч устройств в одном сегменте, то могу предположить, что что-то флудит на уровне arp. Смотрите arp таблицу на количество записей и соответствие ее реальности. Посмотрите снифером что творится у вас в сети. Статистику интерфейса тоже посмотрите, может просто сетевая полусдохла или с линком что-то случилось.

Спасибо за ответы, но gc_thresh уже пробовал корректировать, результата нет. В arp таблице около 1300 записей всегда (что примерно соответствует кол-ву устройств в сети) и буквально 2-3 incomplete записи.

Сорри ща оффтоп, но пастебин ушел в даун :grinning:

image

Перезагрузка коммутаторов - не помогла. Прошу помощи.

Проблема все еще не решена. Может кто еще что подскажет.

Найди то, что флудит… Твоя проблема похоже на флуд, возможно не преднамеренный. У машины тупо нет возможности обработать запросы, так как интерфейс ими забит “по уши”

И все еще нет решения.

А что вы предприняли и какие результаты?

Пояснение по устройству сети. Есть много электрических подстанций с разными устройствами в разных подсетях с айпи 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 и убрал эти статик роуты.

Сразу не заметил, у вас в том же l2 домене еще и 172.20.0.0/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 как бы два интерфейса получается.
IMG_20200122_163318

ip route print покажите
и откуда конфигурится 2 адрес на интерфейсах?

gateway сервере для например подсети ИБП 172.21.15.x маска уже 255.255.255.0

На гейте у вас нет адреса для 172.21.15.0/24 сети. Есть маршрут до нее через 172.21.0.212

Перемудрили с адресацией. И да, я нашел картинку, которую вы на другом форуме выкладывали, подключение к двум разным коммутаторам, как мне сказали, через bond не делается (только если у вас коммутаторы стекируемые)

Вот нарисовал очень схематичную и не очень подробную схему сети. Подстанций по типу РП-010 много, приходят в разные опросные свитчи.Схема сети_схематичная

Посмотрел pcap. Откровенного бродкаста все же нет. Не смотря на маршрут через интерфейс пакеты отправляются уникастом. В каком месте трафик ловили?