ALT Linux sysadmins discussion
 help / color / mirror / Atom feed
* [Sysadmins] Борьба с synflood
@ 2012-12-11 22:33 Michael A. Kangin
  2012-12-12  7:20 ` Viacheslav Dubrovskyi
                   ` (3 more replies)
  0 siblings, 4 replies; 21+ messages in thread
From: Michael A. Kangin @ 2012-12-11 22:33 UTC (permalink / raw)
  To: ALT Linux sysadmins' discussion

Добрый день.

хочется запинать систему, которая бы выдерживала как можно большее PPS 
синфлуда без вреда для предоставляемых сервисов.

Есть тестовый сервер с двумя ксеончиками, и сетевухой Intel Corporation 
82580 Gigabit Network Connection (драйвер igb).

Запускаем на нём в качестве жертвы апача с тестовым cgi, который 
рассказывает текущее время - так проверяем отзывчивость сервиса.

атакуем так с другого сервера:
hping3 <ip> -p 80 -S --rand-source --flood
Это даёт нам порядка 380K pps исходящего.

А атакуемый сервер (p6, std-def) принимает только порядка 75K, остальное 
дропает. Ну и сервис отвечает более-менее уверенно только до 150K.

Если поставить 3.4.21-un-def-alt0.M60P.1, число принимаемых пакетов 
немного увеличивается, до 110К. Причём, количество принимаемых пакетов 
снижается с ростом нагрузки - так, при атаке под 500К принимается уже 
только 90K.

Немного лучше себя ведёт Centos6 - она вполне принимает до 140K, и 
сохраняет отзывчивость сервиса до 200К с атакующей стороны.

На атакуемой машинке в htop'е светятся красным все ядра, отданные под 
прерывания сетевухи и довольно высокий LA.


Интриги добавляет тот факт, что Линупс сосёт.

Если на этот сервер поставить FreeBSD9, то она принимает под 450К без 
всякого ухудшения сервиса. И живёт со скрипом вплоть до 750К с атакующей 
машины, больше я с неё не смог выжать.

Собственно, что сделать можно под Линуксом?
Все настройки в целом по умолчанию (кроме раскидывания прерываний по 
ядрам процессора). Я пробовал много шаманств - и всякие там sysсtl 
крутить, и длины очередей в ifconfig и ethtool, и параметры igb. Все 
бесполезно (да и раскидывание прерываний, подозреваю, тоже).

Была идея, что 2-4 сетевухи в бондинге будут лучше справляться. Авотфиг. 
Хуже.

-- 
Michael A. Kangin


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2013-01-06 12:04 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-11 22:33 [Sysadmins] Борьба с synflood Michael A. Kangin
2012-12-12  7:20 ` Viacheslav Dubrovskyi
2012-12-12  8:31   ` Anton Gorlov
2012-12-12  9:54     ` Viacheslav Dubrovskyi
2012-12-12 10:12       ` Anton Gorlov
2012-12-13  7:47     ` Sergey
2012-12-12  9:40   ` Michael A. Kangin
2012-12-14 12:17   ` Sergey Alembekov
2012-12-12  8:39 ` Anton Gorlov
2012-12-12  9:42   ` Michael A. Kangin
2012-12-12  9:58     ` Viacheslav Dubrovskyi
2012-12-12 10:20       ` Alexei Takaseev
2012-12-12 10:34         ` Viacheslav Dubrovskyi
2012-12-12 10:44       ` Michael A. Kangin
2012-12-12 10:40   ` Michael A. Kangin
2012-12-12 10:46   ` Michael A. Kangin
2012-12-12 10:51 ` Viacheslav Dubrovskyi
2012-12-12 11:10   ` Michael A. Kangin
2012-12-20  6:20 ` Dubrovskiy Viacheslav
2012-12-20 18:15   ` Michael A. Kangin
2013-01-06 12:04     ` Dubrovskiy Viacheslav

ALT Linux sysadmins discussion

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sysadmins/0 sysadmins/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 sysadmins sysadmins/ http://lore.altlinux.org/sysadmins \
		sysadmins@lists.altlinux.org sysadmins@lists.altlinux.ru sysadmins@lists.altlinux.com
	public-inbox-index sysadmins

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sysadmins


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git