Solusi 1:
itu karena /proc/sys/net/nf_conntrack_max
bergantung pada modul nf_conntrack
. tetapi modul ini tidak akan dimuat secara default saat sistem dimulai.
tetapi jika Anda menjalankan
iptables -t nat -L
atau
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
modul ini akan dimuat secara otomatis dan disetel ke nomor maksimum yang didukung sistem Anda (nomor maksimumnya adalah 65536 jika Anda menggunakan ram> 4G, tetapi bervariasi di sistem yang berbeda.) Anda dapat mengaturnya ke nomor yang lebih besar (seperti 6553600) di /etc/sysctl.conf
).
Solusi :
tambahkan satu baris di akhir file /etc/modules
:
nf_conntrack
modul ini akan dimuat saat sistem dimulai sebelum sysctl
dieksekusi.
Solusi 2:
Karena seharusnya:
net.netfilter.nf_conntrack_max = 65535
Dan sekarang Anda dapat menyetel ini tanpa memulai ulang dengan:sysctl -p /etc/sysctl.conf
Solusi 3:
Saya tidak menggunakan Ubuntu, tetapi memikirkan hal ini dalam kerangka pikiran CentOS saya, saya datang dengan hipotesis yang sama seperti yang Anda lakukan - sysctl diterapkan terlalu dini. Beberapa penelusuran mengungkapkan bahwa ini adalah bug yang dilaporkan sejak 2006.
Sepertinya menempatkan symlink lain di prioritas> S40 untuk menjalankan skrip procps init lagi mungkin akan melakukan apa yang Anda butuhkan. Per ringkasan bug, sepertinya beberapa arsitektur ulang metodologi sysctl Ubuntu sudah beres (dan, lucunya, bug tersebut ditugaskan ke seseorang yang tidak tahu itu ditugaskan dan tidak bisa membantu dengan itu).