ยืนยัน nf_conntrack_max ข้ามการรีบูต


10

ใน/procฉันมีสองรายการสำหรับ nf_conntrack_max:

proc / sys / / net / netfilter / nf_conntrack_max
proc / sys / / net / nf_conntrack_max

ดูเหมือนว่าจะชี้ไปที่ค่าเดียวกับการเปลี่ยนหนึ่งยังเปลี่ยนอีก ด้วยชุดทั้งสองนี้ใน/etc/sysctl.conf:

net.netfilter.nf_conntrack_max = 65528
net.ipv4.netfilter.ip_conntrack_max = 65535

ค่าจะยังคงอยู่ 32764 หลังจากรีบูตเพื่อให้การเปลี่ยนแปลงไม่ทำงาน มีใครเคยใช้มาก่อนหรือไม่ ฉันเดาว่าค่าเหล่านี้จะถูกนำไปใช้ก่อนที่จะโหลดโมดูลที่เกี่ยวข้อง แต่หวังว่าอาจมีคนรู้วิธีแก้ปัญหาอยู่แล้ว


คุณเคยพบวิธีแก้ปัญหานี้หรือไม่?
Stu Thompson

@Stu: ไม่ฉันเพิ่งขี้เกียจและเขียนงาน cron เพื่อตั้งค่าเหล่านี้ :-P
Kyle Brandt

คำตอบ:


11

มันเป็นเพราะมีที่พึ่งพาโมดูล/proc/sys/net/nf_conntrack_max nf_conntrackแต่โมดูลนี้จะไม่โหลดตามค่าเริ่มต้นเมื่อระบบเริ่มต้น

แต่ถ้าคุณวิ่ง

iptables -t nat -L

หรือ

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

โมดูลนี้จะโหลดโดยอัตโนมัติและตั้งค่าเป็นจำนวนสูงสุดที่ระบบของคุณรองรับ (จำนวนสูงสุดคือ 65536 ถ้าคุณ ram เป็น> 4G แต่มันแตกต่างกันในระบบที่แตกต่างกัน) คุณสามารถตั้งค่าเป็นจำนวนที่มากขึ้น (เช่น 6553600 /etc/sysctl.conf) .

วิธีแก้ไข :

เพิ่มหนึ่งบรรทัดที่ท้ายไฟล์/etc/modules:

nf_conntrack

โมดูลนี้จะโหลดเมื่อเริ่มต้นระบบก่อนsysctlดำเนินการ


ขอบคุณ :) - แม้ว่าฉันยังมีการตั้งค่าที่ไม่ดีซึ่งหยุดโหลด
Christian

3

เพราะมันควรจะเป็น:

net.netfilter.nf_conntrack_max = 65535

และตอนนี้คุณสามารถตั้งค่านี้ได้โดยไม่ต้องรีสตาร์ทด้วย: sysctl -p /etc/sysctl.conf


2

ฉันไม่ได้ใช้ Ubuntu แต่คิดเกี่ยวกับเรื่องนี้ในกรอบความคิด CentOS ของฉันฉันมาพร้อมกับสมมติฐานเดียวกับที่คุณทำ - sysctls ถูกนำไปใช้เร็วเกินไป บางค้นหาเปิดเผยว่านี้ได้รับข้อผิดพลาดที่ยื่นตั้งแต่ปี 2006

ดูเหมือนว่าการใส่ symlink อื่นตามลำดับความสำคัญ> S40 เพื่อเรียกใช้สคริปต์ init procps อีกครั้งอาจจะทำสิ่งที่คุณต้องการ จากการสรุปข้อผิดพลาดดูเหมือนว่าจะมีการปรับโครงสร้างของ Ubuntu sysctl ใหม่ให้เป็นระเบียบ (และโดยปกติแล้วข้อผิดพลาดนั้นถูกมอบหมายให้กับคนที่ไม่ทราบว่าได้รับมอบหมายและไม่สามารถช่วยเหลือได้)

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