ตำแหน่งที่ถูกต้องในการตั้งค่า 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


ฉันสังเกตว่าถ้าคุณตั้งค่า hashsize ผ่าน / sys / module / nf_conntrack / พารามิเตอร์ / hashsize net.netfilter.nf_conntrack_buckets sysctl จะไม่ได้รับการปรับปรุงในขณะที่ถ้าคุณทำผ่าน modprobe หมายความว่าการเปลี่ยนค่าด้วยวิธีแรกไม่ได้ใช้ค่าใหม่ทั้งหมดหรือไม่
andresp

5

เพิ่มเติมจากคำตอบของ Andrew B:

ด้วยเหตุผลบางอย่างเอกสาร RHELแนะนำให้ใส่เชลล์สคริปต์ที่เรียกใช้งานได้ด้วยชื่อเช่นnf_conntrack_hashsize.modulesส่วนขยายเข้ามา/etc/sysconfig/modulesแทน ฉันมีความคิดว่าทำไมไม่มี. เนื้อหาจะมีลักษณะดังนี้:

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

ดูเหมือนว่าเป็นสิ่งจำเป็นหากคุณต้องการโหลดโมดูลเพิ่มเติมซึ่งจะไม่ถูกโหลดอย่างอื่น [quote] คุณสามารถระบุโมดูลเพิ่มเติมที่จะโหลดได้โดยสร้าง <file_name>. โมดูลใหม่ [/ quote]
hbogert

1

คุณต้องใส่ไฟล์ที่เรียกว่าเช่น localhost ภายในไดเรกทอรี /etc/modprobe.d/

ภายในไฟล์นี้เพิ่มบรรทัดเหล่านี้ (ค่าเป็นตัวอย่าง):

options nf_conntrack hashsize=333333

และตอนนี้ทางออกที่รวดเร็วยิ่งขึ้นก็คือการรีสตาร์ทตัวเลือกอื่นคือลองโหลดโมดูลเคอร์เนล nf_conntrack ใหม่ซึ่งค่อนข้างยากเพราะเชื่อมโยงกับโมดูลที่ทำงานอยู่อื่น ๆ

ตรวจสอบผลลัพธ์ด้วย:

cat /sys/module/nf_conntrack/parameters/hashsize
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.