Де правильне місце встановити net.netfilter.nf_conntrack_buckets?


12

На даний момент я намагаюся встановити net.netfilter.nf_conntrack_buckets під час завантаження. Я спочатку припускав, що це можна зробити за допомогою sysctl.conf, але net.netfilter.nf_conntrack_buckets (та інші конфігурації net.netfilter) взагалі не застосовувалися. Додавання sysctl -p до rc.local дозволило застосувати всі конфігурації net.netfilter за винятком net.netfilter.nf_conntrack_buckets. Я також зазначу, що спроба встановити це з терміналу за допомогою sysctl -w призводить до "помилки: дозволу відмовлено в ключі" net.netfilter.nf_conntrack_buckets ''

# This should be applied at boot
net.netfilter.nf_conntrack_max=1966080
net.netfilter.nf_conntrack_buckets=245760

Де правильне місце для цього?

Відповіді:


11

Я думаю, що параметр sysctl призначений лише для перегляду. Ви хочете використовувати /sys/module/nf_conntrack/parameters/hashsizeінтерфейс для зміни часу виконання та параметр hashsizeмодуля, щоб встановити його під час початкового завантаження модуля.

Ви хочете записати /etc/modprobe.d/файл, який виглядає приблизно так:

options nf_conntrack hashsize=XXXXX


Я помітив, що якщо ви встановите хешир через / sys / module / nf_conntrack / parametri / hashsize net.netfilter.nf_conntrack_buckets, sysctl не оновлюється, тоді як якщо ви це зробите через modprobe, а потім перезавантажте його, це буде змінено. Чи означає це, що зміна значення за допомогою першого методу не повністю застосовує нове значення?
andresp

5

Далі до відповіді Ендрю Б:

З якоїсь причини документація RHEL рекомендує замість цього вставити виконуваний скрипт оболонки з іменем типу nf_conntrack_hashsize.modulesрозширення /etc/sysconfig/modules. Я поняття не маю, чому. Зміст виглядатиме так:

#!/bin/sh
exec /sbin/modprobe nf_conntrack hashsize=262144

Схоже, це потрібно, якщо ви хочете завантажити додаткові модулі, які не були б завантажені інакше. [цитата] Ви можете вказати додаткові модулі для завантаження, створивши новий <file_name> .modules [/ quote]
hbogert

1

Вам потрібно помістити файл, який називається, наприклад, localhost всередині /etc/modprobe.d/ каталогу.

Всередині цього файлу додайте ці рядки (значення - приклад):

options nf_conntrack hashsize=333333

А тепер, швидше рішення - це перезавантаження, інший варіант - спробувати перезавантажити модуль ядра nf_conntrack, який трохи складніше, оскільки він пов'язаний з іншими запущеними модулями.

Перевірте результат за допомогою:

cat /sys/module/nf_conntrack/parameters/hashsize
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.