Centos6
設置 net.netfilter.nf_conntrack_buckets 的正確位置在哪裡?
我目前正在嘗試在啟動時設置 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
執行此操作的正確位置在哪裡?
我認為 sysctl 參數僅供查看。您需要使用該
/sys/module/nf_conntrack/parameters/hashsize
介面進行執行時更改,並使用hashsize
模組選項在初始模組載入期間對其進行設置。您希望
/etc/modprobe.d/
文件中的條目如下所示:
options nf_conntrack hashsize=XXXXX
繼 Andrew B 的回答之後:
出於某種原因,RHEL 文件建議將具有類似
nf_conntrack_hashsize.modules
副檔名的可執行 shell 腳本放入其中/etc/sysconfig/modules
。我不知道為什麼。內容如下所示:#!/bin/sh exec /sbin/modprobe nf_conntrack hashsize=262144