[Sysadmins] iptables performance
Andrew Avramenko
=?iso-8859-1?q?liks_=CE=C1_altlinux=2Eru?=
Пн Апр 14 09:46:32 MSD 2008
Используйте цепочки. Сделайте минимальным путь правила, если это возможно.
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
Подробная информация о списке рассылки Sysadmins