[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