W /proc
Mam dwa wpisy dla nf_conntrack_max:
/ proc / sys / net / netfilter / nf_conntrack_max / proc / sys / net / nf_conntrack_max
Wydaje się wskazywać na tę samą wartość, co zmiana jednej zmienia również drugą. Z obydwoma ustawionymi w /etc/sysctl.conf
:
net.netfilter.nf_conntrack_max = 65528 net.ipv4.netfilter.ip_conntrack_max = 65535
Wartość ta wynosi 32764 po ponownym uruchomieniu, więc zmiany nie działają. Czy ktoś już na to wpadł? Domyślam się, że te wartości są stosowane przed załadowaniem odpowiednich modułów, ale miałem nadzieję, że może ktoś już zna rozwiązanie.
linux
iptables
ubuntu-9.10
sysctl
Kyle Brandt
źródło
źródło
Odpowiedzi:
to dlatego, że
/proc/sys/net/nf_conntrack_max
polega na modulenf_conntrack
. ale ten moduł nie zostanie załadowany domyślnie po uruchomieniu systemu.ale jeśli uciekniesz
lub
ten moduł ładuje się automatycznie i ustawia maksymalną liczbę obsługiwaną przez system (maksymalna liczba to 65536, jeśli ram jest większy niż 4G, ale różni się w zależności od systemu). można ustawić większą liczbę (np. 6553600) w
/etc/sysctl.conf
) .Rozwiązanie :
dodaj jedną linię na końcu pliku
/etc/modules
:moduły te zostaną załadowane przy uruchomieniu systemu przed uruchomieniem
sysctl
.źródło
Ponieważ powinno to być:
A teraz możesz to ustawić bez ponownego uruchamiania za pomocą: sysctl -p /etc/sysctl.conf
źródło
Nie używam Ubuntu, ale myśląc o tym w moim umyśle CentOS, wpadłem na tę samą hipotezę, co ty - sysctl są stosowane zbyt wcześnie. Niektóre wyszukiwania wykazały, że jest to zgłoszony błąd od 2006 roku .
Wygląda na to, że umieszczenie kolejnego dowiązania symbolicznego z priorytetem> S40 w celu ponownego uruchomienia skryptu inicjującego procps prawdopodobnie zrobiłby to, czego potrzebujesz. Zgodnie z podsumowaniem błędu wygląda na to, że należy ponownie przebudować metodologię systemu Ubuntu sysctl (i, co zabawne, błąd został przypisany do kogoś, kto nie wiedział, że został przypisany i nie może mu pomóc).
źródło