Di mana tempat yang tepat untuk mengatur net.netfilter.nf_conntrack_buckets?

12

Saat ini saya mencoba mengatur net.netfilter.nf_conntrack_buckets saat boot. Awalnya saya berasumsi bahwa ini bisa dilakukan melalui sysctl.conf, tetapi net.netfilter.nf_conntrack_buckets (dan konfigurasi net.netfilter lainnya) tidak diterapkan sama sekali. Menambahkan sysctl -p ke rc.local memungkinkan semua konfigurasi net.netfilter diterapkan kecuali net.netfilter.nf_conntrack_buckets. Saya juga akan mencatat bahwa mencoba untuk mengatur ini dari terminal menggunakan sysctl -w mengakibatkan 'kesalahan: izin ditolak pada kunci' net.netfilter.nf_conntrack_buckets ''

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

Di mana tempat yang tepat untuk melakukan ini?

KelchM
sumber

Jawaban:

11

Saya pikir parameter sysctl hanya untuk dilihat. Anda akan ingin menggunakan /sys/module/nf_conntrack/parameters/hashsizeantarmuka untuk perubahan runtime, dan hashsizeopsi modul untuk mengaturnya saat memuat modul awal.

Anda ingin entri dalam /etc/modprobe.d/file yang terlihat seperti ini:

options nf_conntrack hashsize=XXXXX

Andrew B
sumber
Saya perhatikan bahwa jika Anda mengatur hashsize via / sys / module / nf_conntrack / parameter / hashsize net.netfilter.nf_conntrack_buckets sysctl tidak diperbarui, sementara jika Anda melakukannya melalui modprobe dan kemudian reboot diubah. Apakah itu berarti bahwa mengubah nilai melalui metode pertama tidak sepenuhnya menerapkan nilai baru?
andresp
5

Lebih lanjut untuk jawaban Andrew B:

Untuk beberapa alasan, dokumentasi RHEL merekomendasikan untuk memasukkan skrip shell yang dapat dieksekusi dengan nama seperti nf_conntrack_hashsize.modulesekstensi /etc/sysconfig/modules. Saya tidak tahu kenapa. Isi akan terlihat seperti:

#!/bin/sh
exec /sbin/modprobe nf_conntrack hashsize=262144
Richard Barrell
sumber
Sepertinya ini diperlukan jika Anda ingin memuat modul tambahan yang tidak akan dimuat sebaliknya. [quote] Anda dapat menentukan modul tambahan yang akan dimuat dengan membuat <file_name> .modules baru [/ quote]
hbogert
1

Anda perlu meletakkan file bernama, misalnya, localhost di dalam direktori /etc/modprobe.d/.

Di dalam file ini, tambahkan baris ini (nilai adalah contoh):

options nf_conntrack hashsize=333333

Dan sekarang, solusi yang lebih cepat adalah restart, opsi lainnya adalah mencoba memuat ulang modul kernel nf_conntrack, yang agak sulit karena terkait dengan yang lain menjalankan modul.

Periksa hasilnya dengan:

cat /sys/module/nf_conntrack/parameters/hashsize
Ricardo Fraile
sumber