ГлавнаяРегистрацияВходВ закладки

Главная » Статьи » CentOS » Оптимизация
Настройка sysctl эффективный тюнинг
sysctl — BSD и Linux - программа, предназначенная для управления отдельными параметрами ядра, безопасности, сетевой подсистемы. Позволяет определить и установить такие параметры, как размер общих предел сегмента памяти на количество запущенных процессов, а также включает такие функции, как маршрутизация.

Таково краткое описание Sysctl.

В этой очень информационной статье я описываю настройку Sysctl под веб-сервер Apache - будет укреплять безопасность и увеличить производительность.

Так приступим к редактированию Sysctl конфигурационный файлик. Взятые в качестве основы для ОС SentOS, этот параметр также относится к FreeBSD и Ubuntu / Debian.

1. Просмотр текущих настроек sysctl:

[-hide-]# sysctl -a

2. Приступим к редактированию конфигурационного файлика:

# vi /etc/sysctl.conf

## Включаем защиту от IP спуфинга, и проверку маршрута от источника

net.ipv4.conf.all.rp_filter = 1

net.ipv4.conf.lo.rp_filter = 1

net.ipv4.conf.eth0.rp_filter = 1

net.ipv4.conf.default.rp_filter = 1

## Отключаем маршрутизацию TCP пакетов от источника

net.ipv4.conf.all.accept_source_route = 0

net.ipv4.conf.lo.accept_source_route = 0

net.ipv4.conf.eth0.accept_source_route = 0

net.ipv4.conf.default.accept_source_route = 0

##Рекомендуется увеличить размер backlog до 1000 или выше (для 10Gb линка можно поставить 30000)

net.core.netdev_max_backlog = 10000

##Увеличиваем число входящих соединений, которые могут стоять в очереди, прежде чем будут отброшены

net.core.somaxconn = 262144

##Переменная определяет максимальное время хранения SYN-запросов в памяти до момента получения третьего, завершающего установление соединения, пакета

net.ipv4.tcp_max_syn_backlog = 1024

##Максимальное число сокетов, находящихся в состоянии TIME-WAIT одновременно. При превышении этого порога «лишний» сокет разрушается и пишется сообщение в системный журнал. Цель этой переменной – предотвращение простейших разновидностей DoS-атак.

net.ipv4.tcp_max_tw_buckets = 720000

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_fin_timeout = 30

net.ipv4.tcp_keepalive_time = 1800

net.ipv4.tcp_keepalive_probes = 7

net.ipv4.tcp_keepalive_intvl = 30

##Размер буферов по умолчанию для приема и отправки данных через сокеты

net.core.wmem_default = 4194394

net.core.rmem_default = 8388608

##Увеличиваем максимальный размер памяти отводимой для TCP буферов

net.core.wmem_max = 33554432

net.core.rmem_max = 33554432

##Тюнинг буферов для TCP и UDP соединений (min, default, max bytes)

net.ipv4.tcp_rmem = 4096 8388608 16777216

net.ipv4.tcp_wmem = 4096 4194394 16777216

##Отключаем перенаправление пакетов с одного сетевого интерфейса на другой.

net.ipv4.ip_forward = 0

##Фильтр обратного пути, защита от спуфинга (подмены адресов)

net.ipv4.conf.default.rp_filter = 1

# Controls whether core dumps will append the PID to the core filename
# Useful for debugging multi-threaded applications

kernel.core_uses_pid = 1

##Защита от TCP SYN Cookie

net.ipv4.tcp_syncookies = 1

##Controls the maximum size of a message, in bytes

kernel.msgmnb = 65536

##Controls the default maxmimum size of a mesage queue

kernel.msgmax = 65536

##Controls the maximum shared segment size, in bytes

kernel.shmmax = 68719476736

##Controls the maximum number of shared memory segments, in pages

kernel.shmall = 4294967296

3. После редактирования, сохраняем файлик и применяем сделанные изменения с помощью команды:

# sysctl -p
[-hide-]
Просмотров: 7972
Дата: 2011-07-15 22:48:18
Комментариев: 0
Источник: