From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00 autolearn=ham version=3.2.3 X-Virus-Scanned: amavisd-new at kds.com.ua Message-ID: <47FF3CD7.5070504@khavr.com> Date: Fri, 11 Apr 2008 13:26:31 +0300 From: Andriy Khavryuchenko User-Agent: Thunderbird 2.0.0.12 (X11/20080304) MIME-Version: 1.0 To: ALT Linux sysadmin discuss X-Enigmail-Version: 0.95.6 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: [Sysadmins] iptables performance X-BeenThere: sysadmins@lists.altlinux.org X-Mailman-Version: 2.1.10b3 Precedence: list Reply-To: ALT Linux sysadmin discuss List-Id: ALT Linux sysadmin discuss List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Apr 2008 10:25:31 -0000 Archived-At: List-Archive: Подскажите тёмному какие ручки в ядре нужно дёргать, чтобы через 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