Đâu là nơi chính xác để đặt net.netfilter.nf_conntrack_buckets?


12

Tôi hiện đang cố gắng đặt net.netfilter.nf_conntrack_buckets khi khởi động. Ban đầu tôi cho rằng điều này có thể được thực hiện thông qua sysctl.conf, nhưng net.netfilter.nf_conntrack_buckets (và các cấu hình net.netfilter khác) hoàn toàn không được áp dụng. Thêm sysctl -p vào rc.local cho phép tất cả các cấu hình net.netfilter được áp dụng ngoại trừ net.netfilter.nf_conntrack_buckets. Tôi cũng lưu ý rằng việc cố gắng thiết lập điều này từ thiết bị đầu cuối bằng cách sử dụng sysctl -w dẫn đến 'lỗi: quyền bị từ chối trên khóa' net.netfilter.nf_conntrack_buckets ''

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

Đâu là nơi chính xác để làm điều này?

Câu trả lời:


11

Tôi nghĩ rằng tham số sysctl chỉ để xem. Bạn sẽ muốn sử dụng /sys/module/nf_conntrack/parameters/hashsizegiao diện để thay đổi thời gian chạy và hashsizetùy chọn mô-đun để đặt giao diện đó trong khi tải mô-đun ban đầu.

Bạn muốn có một mục trong một /etc/modprobe.d/tệp trông giống như thế này:

options nf_conntrack hashsize=XXXXX


Tôi đã nhận thấy rằng nếu bạn đặt hashsize thông qua / sys / module / nf_conntrack / tham số / hashsize thì net.netfilter.nf_conntrack_buckets sysctl không được cập nhật, trong khi nếu bạn thực hiện nó thông qua modprobe thì nó sẽ được thay đổi. Điều đó có nghĩa là việc thay đổi giá trị thông qua phương thức đầu tiên không áp dụng hoàn toàn giá trị mới?
andresp

5

Hơn nữa với câu trả lời của Andrew B:

Vì một số lý do, tài liệu của RHEL khuyên bạn nên đặt một tập lệnh shell thực thi có tên như nf_conntrack_hashsize.modulesphần mở rộng /etc/sysconfig/modulesthay thế. Tôi không biết tại sao. Nội dung sẽ như sau:

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

Có vẻ như điều này là cần thiết nếu bạn muốn tải các mô-đun bổ sung mà sẽ không được tải khác. [quote] Bạn có thể chỉ định các mô-đun bổ sung sẽ được tải bằng cách tạo <file_name> .modules mới [/ quote]
hbogert

1

Bạn cần đặt một tệp có tên, ví dụ, localhost trong thư mục /etc/modprobe.d/.

Trong tệp này, thêm các dòng này (giá trị là một ví dụ):

options nf_conntrack hashsize=333333

Và bây giờ, giải pháp nhanh hơn là khởi động lại, tùy chọn khác là thử tải lại mô-đun hạt nhân nf_conntrack, điều này hơi khó khăn vì nó được liên kết với các mô-đun đang chạy khác.

Kiểm tra kết quả với:

cat /sys/module/nf_conntrack/parameters/hashsize
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.