* [Sysadmins] iptables performance
@ 2008-04-11 10:26 Andriy Khavryuchenko
2008-04-11 12:10 ` Konstantin A. Lepikhov
` (2 more replies)
0 siblings, 3 replies; 25+ messages in thread
From: Andriy Khavryuchenko @ 2008-04-11 10:26 UTC (permalink / raw)
To: ALT Linux sysadmin discuss
Подскажите тёмному какие ручки в ядре нужно дёргать, чтобы через
iptables можно было прогонять поток syn-flood-а в 20-40Mbps? Правил
фильтрации где-то от сорока тысяч.
Сейчас при превышении потоком определённой границы (1-2Mbps кажется),
начинается дикая потеря пакетов, 100%-я загрузка одного из ядер оптерона
hardware и software interrupts и следующие сообщения в логах:
TCP: too many of orphaned sockets
Out of socket memory
Openvz ядро.
По результатам гугленья, ручки tcp сейчас подкручены следующим образом:
echo "20" > /proc/sys/net/ipv4/tcp_fin_timeout
echo "2048" > /proc/sys/net/core/netdev_max_backlog
echo "2048" > /proc/sys/net/core/somaxconn
echo "300" > /proc/sys/net/ipv4/tcp_keepalive_time
echo "15" > /proc/sys/net/ipv4/tcp_keepalive_intvl
echo "2" > /proc/sys/net/ipv4/tcp_keepalive_probes
echo "1" > /proc/sys/net/ipv4/tcp_syncookies
echo "2" > /proc/sys/net/ipv4/tcp_synack_retries
echo "2" > /proc/sys/net/ipv4/tcp_syn_retries
echo "28000" > /proc/sys/net/ipv4/tcp_max_syn_backlog
echo "10" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_syn_recv
echo "40" > /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_syn_sent
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
echo "220000" > /proc/sys/net/ipv4/ip_conntrack_max
echo "1" > /proc/sys/net/ipv4/tcp_window_scaling
echo "0" > /proc/sys/net/ipv4/tcp_sack
echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo "1" > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
echo 0 > /proc/sys/net/ipv4/tcp_abort_on_overflow
sysctl -w net.core.rmem_default=2097152
sysctl -w net.core.rmem_max=2097152
sysctl -w net.core.wmem_max=2097152
sysctl -w net.core.wmem_default=2097152
sysctl -w "net.ipv4.tcp_mem= 786432 1048576 1572864"
sysctl -w net.ipv4.tcp_max_orphans = 30000
Где узкое место и что крутить?
--
Это задействует левый ALT (кнопка такая, а не характеристика
дистрибутива $)
-- genix in #8201
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [Sysadmins] iptables performance
2008-04-11 10:26 [Sysadmins] iptables performance Andriy Khavryuchenko
@ 2008-04-11 12:10 ` Konstantin A. Lepikhov
2008-04-11 12:23 ` Andriy Khavryuchenko
2008-04-14 5:46 ` Andrew Avramenko
2 siblings, 1 reply; 25+ messages in thread
From: Konstantin A. Lepikhov @ 2008-04-11 12:10 UTC (permalink / raw)
To: ALT Linux sysadmin discuss
Hi Andriy!
Friday 11, at 01:26:31 PM you wrote:
> Подскажите тёмному какие ручки в ядре нужно дёргать, чтобы через iptables
> можно было прогонять поток syn-flood-а в 20-40Mbps? Правил фильтрации
> где-то от сорока тысяч.
>
> Сейчас при превышении потоком определённой границы (1-2Mbps кажется),
> начинается дикая потеря пакетов, 100%-я загрузка одного из ядер оптерона
> hardware и software interrupts и следующие сообщения в логах:
>
> TCP: too many of orphaned sockets
> Out of socket memory
>
> Openvz ядро.
>
> По результатам гугленья, ручки tcp сейчас подкручены следующим образом:
>
версия ovz ядра какая?
--
WBR et al.
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [Sysadmins] iptables performance
2008-04-11 12:10 ` Konstantin A. Lepikhov
@ 2008-04-11 12:23 ` Andriy Khavryuchenko
0 siblings, 0 replies; 25+ messages in thread
From: Andriy Khavryuchenko @ 2008-04-11 12:23 UTC (permalink / raw)
To: ALT Linux sysadmin discuss
Konstantin A. Lepikhov написав:
> Friday 11, at 01:26:31 PM you wrote:
>> Сейчас при превышении потоком определённой границы (1-2Mbps кажется),
>> начинается дикая потеря пакетов, 100%-я загрузка одного из ядер оптерона
>> hardware и software interrupts и следующие сообщения в логах:
>>
>> TCP: too many of orphaned sockets
>> Out of socket memory
>>
>> Openvz ядро.
>>
>> По результатам гугленья, ручки tcp сейчас подкручены следующим образом:
>>
> версия ovz ядра какая?
Извините, там не альт в HN :(
Там debian 2.6.18.dfsg.1-18etch1
--
Стас, надо как-то раскрасить диалоги.
-- rider in #7335
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [Sysadmins] iptables performance
2008-04-11 10:26 [Sysadmins] iptables performance Andriy Khavryuchenko
2008-04-11 12:10 ` Konstantin A. Lepikhov
@ 2008-04-14 5:46 ` Andrew Avramenko
2 siblings, 0 replies; 25+ messages in thread
From: Andrew Avramenko @ 2008-04-14 5:46 UTC (permalink / raw)
To: ALT Linux sysadmin discuss
Используйте цепочки. Сделайте минимальным путь правила, если это возможно.
11.04.08, Andriy Khavryuchenko<akhavr@khavr.com> написал(а):
> Подскажите тёмному какие ручки в ядре нужно дёргать, чтобы через iptables
> можно было прогонять поток syn-flood-а в 20-40Mbps? Правил фильтрации
> где-то от сорока тысяч.
>
> Сейчас при превышении потоком определённой границы (1-2Mbps кажется),
> начинается дикая потеря пакетов, 100%-я загрузка одного из ядер оптерона
> hardware и software interrupts и следующие сообщения в логах:
>
> TCP: too many of orphaned sockets
> Out of socket memory
>
> Openvz ядро.
>
> По результатам гугленья, ручки tcp сейчас подкручены следующим образом:
>
> echo "20" > /proc/sys/net/ipv4/tcp_fin_timeout
> echo "2048" > /proc/sys/net/core/netdev_max_backlog
> echo "2048" > /proc/sys/net/core/somaxconn
> echo "300" > /proc/sys/net/ipv4/tcp_keepalive_time
> echo "15" > /proc/sys/net/ipv4/tcp_keepalive_intvl
> echo "2" > /proc/sys/net/ipv4/tcp_keepalive_probes
> echo "1" > /proc/sys/net/ipv4/tcp_syncookies
> echo "2" > /proc/sys/net/ipv4/tcp_synack_retries
> echo "2" > /proc/sys/net/ipv4/tcp_syn_retries
> echo "28000" > /proc/sys/net/ipv4/tcp_max_syn_backlog
> echo "10" >
> /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_syn_recv
> echo "40" >
> /proc/sys/net/ipv4/netfilter/ip_conntrack_tcp_timeout_syn_sent
> echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
> echo "220000" > /proc/sys/net/ipv4/ip_conntrack_max
> echo "1" > /proc/sys/net/ipv4/tcp_window_scaling
> echo "0" > /proc/sys/net/ipv4/tcp_sack
> echo "0" > /proc/sys/net/ipv4/conf/all/accept_source_route
> echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
> echo "1" >
> /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses
> echo 0 > /proc/sys/net/ipv4/tcp_abort_on_overflow
> sysctl -w net.core.rmem_default=2097152
> sysctl -w net.core.rmem_max=2097152
> sysctl -w net.core.wmem_max=2097152
> sysctl -w net.core.wmem_default=2097152
> sysctl -w "net.ipv4.tcp_mem= 786432 1048576 1572864"
> sysctl -w net.ipv4.tcp_max_orphans = 30000
>
> Где узкое место и что крутить?
>
> --
> Это задействует левый ALT (кнопка такая, а не характеристика
> дистрибутива $)
> -- genix in #8201
> _______________________________________________
> Sysadmins mailing list
> Sysadmins@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/sysadmins
>
--
With best regards,
Andrew
^ permalink raw reply [flat|nested] 25+ messages in thread
[parent not found: <1208146218.1113.26.camel@admin.konstanta.local>]
* Re: [Sysadmins] iptables performance
@ 2008-04-14 8:09 ` Sergey
2008-04-14 11:09 ` Andriy Khavryuchenko
1 sibling, 1 reply; 25+ messages in thread
From: Sergey @ 2008-04-14 8:09 UTC (permalink / raw)
To: ALT Linux sysadmin discuss
On Monday 14 April 2008, User Dima wrote:
> Мне почему-то кажется, что вы именно пытаетесь осадить крепость. Подумайте
> над изменением алгоритма фильтарции. 40000 правил фильтрации - такое даже
> в голове не укладывается.
Например, 4000 пользователей, по 10 персональных правил...
--
С уважением, Сергей
a_s_y@sama.ru
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [Sysadmins] iptables performance
2008-04-14 8:09 ` Sergey
@ 2008-04-14 11:09 ` Andriy Khavryuchenko
2008-04-14 11:18 ` Andrew Avramenko
1 sibling, 1 reply; 25+ messages in thread
From: Andriy Khavryuchenko @ 2008-04-14 11:09 UTC (permalink / raw)
To: transfer, ALT Linux sysadmin discuss
User Dima написав(ла):
> Подумайте над изменением алгоритма фильтарции. 40000 правил фильтрации -
> такое даже в голове не укладывается.
Вводная. У вас ресурс со средней посещаемостью. Его ddos-ят http get
flood-ом.
Задача. Нужно обеспечить баланс между скоростью ответа сервера и
доступностью его для пользователей.
Граничные условия. Ставить 100 серверов или банить сразу AS недопустимо.
Предложите решение лучше чем фильтрация по атакующему ip.
--
Sincerely,
Andrey Khavryuchenko http://a.khavr.com/
KDS Software Group http://www.kds.com.ua/
Software Solutions Company
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [Sysadmins] iptables performance
2008-04-14 11:09 ` Andriy Khavryuchenko
@ 2008-04-14 11:18 ` Andrew Avramenko
2008-04-14 11:39 ` Andriy Khavryuchenko
0 siblings, 1 reply; 25+ messages in thread
From: Andrew Avramenko @ 2008-04-14 11:18 UTC (permalink / raw)
To: ALT Linux sysadmin discuss
В этом случае имхо эффективнее не просто блочить, а, например,
использовать TARPIT из PoM.
14.04.08, Andriy Khavryuchenko<akhavr@khavr.com> написал(а):
> User Dima написав(ла):
>
> > Подумайте над изменением алгоритма фильтарции. 40000 правил фильтрации -
> > такое даже в голове не укладывается.
> >
>
> Вводная. У вас ресурс со средней посещаемостью. Его ddos-ят http get
> flood-ом.
>
> Задача. Нужно обеспечить баланс между скоростью ответа сервера и
> доступностью его для пользователей.
>
> Граничные условия. Ставить 100 серверов или банить сразу AS недопустимо.
>
> Предложите решение лучше чем фильтрация по атакующему ip.
>
> --
> Sincerely,
>
> Andrey Khavryuchenko http://a.khavr.com/
> KDS Software Group http://www.kds.com.ua/
> Software Solutions Company
>
> _______________________________________________
> Sysadmins mailing list
> Sysadmins@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/sysadmins
>
--
With best regards,
Andrew
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [Sysadmins] iptables performance
2008-04-14 11:18 ` Andrew Avramenko
@ 2008-04-14 11:39 ` Andriy Khavryuchenko
2008-04-14 11:51 ` Денис Смирнов
0 siblings, 1 reply; 25+ messages in thread
From: Andriy Khavryuchenko @ 2008-04-14 11:39 UTC (permalink / raw)
To: ALT Linux sysadmin discuss
Andrew Avramenko написав:
> В этом случае имхо эффективнее не просто блочить, а, например,
> использовать TARPIT из PoM.
Разница несущественная, т.к. *размер* атакующего ботнета больше, чем
"просто так" переваривает iptables. Вне зависимости от того, куда этот
ботнет -j
--
Тестировать мне это негде, но поскольку сломать нерабочий код нельзя,
будем считать что хуже не стало.
-- ldv in #7399
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [Sysadmins] iptables performance
2008-04-14 11:39 ` Andriy Khavryuchenko
@ 2008-04-14 11:51 ` Денис Смирнов
2008-04-14 11:57 ` Andriy Khavryuchenko
0 siblings, 1 reply; 25+ messages in thread
From: Денис Смирнов @ 2008-04-14 11:51 UTC (permalink / raw)
To: ALT Linux sysadmin discuss
[-- Attachment #1: Type: text/plain, Size: 693 bytes --]
On Mon, Apr 14, 2008 at 02:39:16PM +0300, Andriy Khavryuchenko wrote:
>> В этом случае имхо эффективнее не просто блочить, а, например,
>> использовать TARPIT из PoM.
AK> Разница несущественная, т.к. *размер* атакующего ботнета больше, чем
AK> "просто так" переваривает iptables. Вне зависимости от того, куда этот
AK> ботнет -j
Можно написать свой генератор правил для iptables, который будет помнить
про такую замечательную вещь как "двоичное деление". За счет этого можно
даже при очень больших таблицах обойтись ну никак не тысячами сравнений.
--
С уважением, Денис
http://freesource.info
----------------------------------------------------------------------------
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 197 bytes --]
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [Sysadmins] iptables performance
2008-04-14 11:51 ` Денис Смирнов
@ 2008-04-14 11:57 ` Andriy Khavryuchenko
2008-04-14 12:19 ` Денис Смирнов
0 siblings, 1 reply; 25+ messages in thread
From: Andriy Khavryuchenko @ 2008-04-14 11:57 UTC (permalink / raw)
To: ALT Linux sysadmin discuss
Денис Смирнов написав(ла):
> On Mon, Apr 14, 2008 at 02:39:16PM +0300, Andriy Khavryuchenko wrote:
>>> В этом случае имхо эффективнее не просто блочить, а, например,
>>> использовать TARPIT из PoM.
> AK> Разница несущественная, т.к. *размер* атакующего ботнета больше, чем
> AK> "просто так" переваривает iptables. Вне зависимости от того, куда этот
> AK> ботнет -j
>
> Можно написать свой генератор правил для iptables, который будет помнить
> про такую замечательную вещь как "двоичное деление". За счет этого можно
> даже при очень больших таблицах обойтись ну никак не тысячами сравнений.
Ммм.. Не понял. Разложить этот (достаточно случайный) набор ip адресов
в binary tree правил iptables? Это ж сколько цепочек будет :)
--
> > We have System/XFree86 group but not XFree86 itself. A bug?
> еще какой. должно быть System/X
заменить нельзя добавить?
-- ldv in #5372
^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2008-04-17 18:30 UTC | newest]
Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-04-11 10:26 [Sysadmins] iptables performance Andriy Khavryuchenko
2008-04-11 12:10 ` Konstantin A. Lepikhov
2008-04-11 12:23 ` Andriy Khavryuchenko
2008-04-14 5:46 ` Andrew Avramenko
2008-04-14 8:09 ` Sergey
2008-04-14 9:48 ` Konstantin A. Lepikhov
2008-04-14 11:13 ` Andriy Khavryuchenko
2008-04-14 20:16 ` Andriy Khavryuchenko
2008-04-14 20:50 ` Konstantin A. Lepikhov
2008-04-17 13:35 ` Andriy Khavryuchenko
2008-04-17 13:59 ` Andriy Khavryuchenko
2008-04-17 14:31 ` Konstantin A. Lepikhov
2008-04-17 14:36 ` Andriy Khavryuchenko
2008-04-17 14:57 ` Konstantin A. Lepikhov
2008-04-17 15:01 ` Andriy Khavryuchenko
2008-04-17 15:28 ` Konstantin A. Lepikhov
2008-04-17 16:09 ` Andriy Khavryuchenko
2008-04-17 18:30 ` Konstantin A. Lepikhov
2008-04-14 13:52 ` Sergey
2008-04-14 11:09 ` Andriy Khavryuchenko
2008-04-14 11:18 ` Andrew Avramenko
2008-04-14 11:39 ` Andriy Khavryuchenko
2008-04-14 11:51 ` Денис Смирнов
2008-04-14 11:57 ` Andriy Khavryuchenko
2008-04-14 12:19 ` Денис Смирнов
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