TGViewer
NetworkAdmin.ru NetworkAdmin.ru @networkadminru · 4.7K subscribers
Post #459 2.87K
🔼 Тюнинг сетевого стека Linux

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

▪️ Полезные параметры sysctl

📍 Максимум осиротевших сокетов (TCP orphans). Каждый такой сокет съедает ~64 КБ памяти. Увеличиваем лимит, если сервер мощный:


net.ipv4.tcp_max_orphans = 65536


📍 Сокращаем FIN-WAIT-2. Позволяет быстрее очищать соединения, которые "зависли":


net.ipv4.tcp_fin_timeout = 10


📍 Настройка KeepAlive-проверок. Полезно для "выметания" неактивных соединений:


net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 5


📍 Диапазон локальных портов. Расширяем диапазон для исходящих соединений:


net.ipv4.ip_local_port_range = 10240 65535


📍 Увеличиваем очередь входящих соединений. Особенно важно на серверах с высокой нагрузкой:


net.core.somaxconn = 16384


📍 Буферы по умолчанию. Прокачиваем rmem и wmem для эффективной работы сокетов:


net.core.rmem_default = 851968
net.core.wmem_default = 851968
net.core.rmem_max = 12582912
net.core.wmem_max = 12582912


📍 Конфигурация TCP Congestion Control. Выбираем алгоритм, подходящий под вашу нагрузку. По умолчанию:


net.ipv4.tcp_congestion_control = cubic


📍 Отключаем TCP syncookies. Если нет необходимости в защите от SYN-флудов, можно отключить:


net.ipv4.tcp_syncookies = 0


📍 Включаем защиту от TIME_WAIT атак. Обязательно при большом количестве соединений:


net.ipv4.tcp_rfc1337 = 1


📍 Безопасность ICMP и redirect’ов. Для серверов, которые не являются маршрутизаторами:


net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.all.send_redirects = 0


Дополнительно - игнорировать ICMP echo-запросы (ping):


net.ipv4.icmp_echo_ignore_all = 1


❗️ Стоит учитывать

Параметры вроде tcp_mem, tcp_rmem, tcp_wmem зависят от объема оперативной памяти и автоматически настраиваются при загрузке. Их можно регулировать вручную при необходимости, но в большинстве случаев дефолтных значений достаточно.


#linux #sysctl #TCP

🧑‍💻 NetworkAdmin
  • 👍 17
  • 🔥 6
  • ❤ 4
More from @networkadminru
  1. Oct 1, 2026✨ Systemd-команды, которые быстро дают информацию о системе У systemd есть несколько коман…
  2. Sep 30, 2026🖥 Get-ADUser: полезные примеры для работы с пользователями Active Directory Get-ADUser -…
  3. Sep 29, 2026🥱 Как быстро разобраться с дисками и маунтами Когда на сервере несколько дисков, LVM, отд…
  4. Sep 28, 2026🔎 TCP keepalive: как находить мертвые соединения до того, как они создадут проблему Иногд…
  5. Sep 25, 2026🤩 Как расшифровать код ошибки Windows через certutil При установке обновлений Windows ран…
  6. Sep 23, 2026💻 Как жестко перезагрузить linux, когда обычный reboot уже не помогает Иногда сервер зави…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →