Jump to content
Калькуляторы

Аномалия CentOS+iptables

Доброе время суток

 

Есть проблема. Возможно кто-то уже сталкивался с чем-то подобным или знает как продиагностировать.

 

Сервер, работает под CentOS 6, NAT - iptables.

Обслуживает 1-1.5к клиентов,

максимальная загрузка процессора была (до недавнего времени) - 18%,

количество сессий - до 92к.

И вот, в один момент, сессий становится 524к, процессор пригружается до 31% (но, вскоре, возвращается в норму),

Трафик на интерфейсах до 700M-rx/100M-tx почти не изменился.

а количество сессий остается на уровне 524к

 

Что это может быть и как найти причину аномалии?

post-128258-052601600 1434743058_thumb.jpg

Edited by entwine

Share this post


Link to post
Share on other sites

Ставьте Mandrake Linux 7, современное ядро 2.2.17 идеально подходит под Вашу задачу.

Share this post


Link to post
Share on other sites

А если серьезно - вас не удивляет кол-во сессий? Не наводит на мысли о флуде из сети?

Share this post


Link to post
Share on other sites

При появлении флуда возрос бы трафик на интерфейсе.

И Flow-control настроен на порту каждого клиент, так-что маловероятно.

 

Понятно, что какой-то хост мог создать такое количество малоактивных сессий,

но инструмента, который мог бы его выявить, я пока не нашел.

post-128258-084772200 1434781034_thumb.jpg

Edited by entwine

Share this post


Link to post
Share on other sites

При появлении флуда возрос бы трафик на интерфейсе.

И Flow-control настроен на порту каждого клиент, так-что маловероятно.

 

Понятно, что какой-то хост мог создать такое количество малоактивных сессий,

но инструмента, который мог бы его выявить, я пока не нашел.

 

 

egrep -i established /proc/net/ip_conntrack

Share this post


Link to post
Share on other sites

egrep -i established /proc/net/ip_conntrack

 

conntrack -L лучше. Еще можно netflow глянуть в момент когда нагрузка возрастает (если есть).

Share this post


Link to post
Share on other sites

Спасибо за подсказки, буду копать.

 

В ipnat была полезная команда:

ipnat -l | awk '{print $2}' | sort | uniq -c | sort -r | grep "10.0." | less

которая показывала топ клиентов, у который максимальное колличество активных сессий.

 

Возможно в iptabes есть чтото подобное?

Тогда можно было бы найти IP, который создал "лишние" 500к сессий.

Share this post


Link to post
Share on other sites

Вам уже подсказали "conntrack -L", а дальше грепайте.

Share this post


Link to post
Share on other sites

При появлении флуда возрос бы трафик на интерфейсе.

 

Не верно, наоборот бы упал. Выросло бы PPS.

 

И Flow-control настроен на порту каждого клиент, так-что маловероятно.

 

От unicast dos оно никак не спасет, не тешьте себя мнимой надеждой.

 

Понятно, что какой-то хост мог создать такое количество малоактивных сессий,

 

Мог, вполне мог. Вы статистику не ведете? netflow не собираете?

Share this post


Link to post
Share on other sites

Всем спасибо, помогло:

conntrack -L |awk '{if ($5 ~ /src/) print $5; else if ($4 ~ /src/) print $4}' | sed "s/src=/ /g" | sort | uniq -c | sort -n | tail -n15

 

Вопрос закрыт.

Share this post


Link to post
Share on other sites

К сожалению активные сессии уже вернулись к норме (30-80к).

Загадка))

Edited by entwine

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this