[Решено] Параметры 99-sysctl.conf

Заметил, что некоторые параметры, которые я прописал в этом файле, не применяются после перезагрузки, что весьма странно. Во всех мануалах пишется, что пользовательские настройки должны быть прописаны именно в этом файле, т.к. он загружается последним (99) и переопределяет дефолтные значения.
В частности, не применяются настройки
net.nf_conntrack_max
net.netfilter.nf_conntrack_max
net.netfilter.nf_conntrack_generic_timeout
net.netfilter.nf_conntrack_tcp_timeout_established
net.netfilter.nf_conntrack_tcp_timeout_max_retrans
net.netfilter.nf_conntrack_tcp_timeout_unacknowledged
net.netfilter.nf_conntrack_udp_timeout_stream
Что за WTF?
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
К чему применять?

# lsmod | grep conntrack
?
lsmod | grep conntrack
nf_conntrack_ipv4      16384  7
nf_defrag_ipv4         16384  1 nf_conntrack_ipv4
xt_conntrack           16384  7
nf_conntrack          110592  2 nf_conntrack_ipv4,xt_conntrack
x_tables               28672  6 ip_tables,iptable_filter,xt_tcpudp,xt_limit,xt_recent,xt_conntrack
Только при чём тут это?
В sysctl есть параметры net.nf_conntrack_max и net.netfilter.nf_conntrack_max, которые имеют дефолтное значение 262144. Вот его я и хочу изменить. Однако указанное мною в 99-sysctl.conf значение не применяется при рестарте системы - команды sysctl net.nf_conntrack_max и sysctl net.netfilter.nf_conntrack_max возвращают мне дефолтное 262144.
Если вручную выполнить sysctl --system или sysctl -p /etc/sysctl.d/99-sysctl.conf, то всё нормально, устанавливается то, что я хочу.
Тоже самое и с таймаутами - они изменяются только при ручном вводе команды. Такое ощущение, что их что-то "перебивает", если так можно сказать. Я имею в виду, что после применения они вновь переписываются на дефолтные значения.
Вот я и пытаюсь выяснить, что, когда и зачем их переписывает, если конечно мои предположения верны.
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
У меня этого ничего нет. conntrack модули не загружаются
посмотрите здесь LOR
+
Kernel
Ключевая фраза - sysctl выполняется при инициализации пространства net.
Кое что я нащупал в журнале - похоже, что при старте эти значения задаются раньше, чем создаются соответствующие файлы в /proc/sys/
jctlb g sysctl
Май 09 12:49:27 arch systemd-sysctl[193]: Couldn't write '1' to 'net/ipv6/conf/enp3s0/disable_ipv6', ignoring: No such file or directory
Май 09 12:49:27 arch systemd-sysctl[193]: Couldn't write '1' to 'net/ipv4/conf/enp3s0/rp_filter', ignoring: No such file or directory
Май 09 12:49:27 arch systemd-sysctl[193]: Couldn't write '0' to 'net/ipv4/conf/enp3s0/accept_source_route', ignoring: No such file or directory
Май 09 12:49:27 arch systemd-sysctl[193]: Couldn't write '524288' to 'net/netfilter/nf_conntrack_max', ignoring: No such file or directory
Май 09 12:49:27 arch systemd-sysctl[193]: Couldn't write '524288' to 'net/nf_conntrack_max', ignoring: No such file or directory
Май 09 12:49:27 arch systemd-sysctl[193]: Couldn't write '120' to 'net/netfilter/nf_conntrack_generic_timeout', ignoring: No such file or directory
Май 09 12:49:27 arch systemd-sysctl[193]: Couldn't write '120' to 'net/netfilter/nf_conntrack_tcp_timeout_established', ignoring: No such file or directory
Май 09 12:49:27 arch systemd-sysctl[193]: Couldn't write '120' to 'net/netfilter/nf_conntrack_tcp_timeout_max_retrans', ignoring: No such file or directory
Май 09 12:49:27 arch systemd-sysctl[193]: Couldn't write '120' to 'net/netfilter/nf_conntrack_tcp_timeout_unacknowledged', ignoring: No such file or directory
Май 09 12:49:27 arch systemd-sysctl[193]: Couldn't write '60' to 'net/netfilter/nf_conntrack_udp_timeout_stream', ignoring: No such file or directory
Вот такая вот петрушка.
Слепил простой скриптик
#!/bin/sh
sleep 10 && sysctl --system
exit 0
и прописал его в рутовый крон
@reboot /usr/bin/sysctlreload
Всё заработало.
Костыль, конечно, но как временная мера пойдёт. Буду разбираться.
Можно считать вопрос решённым, однако остаётся непонимание - почему же так происходит?
По идее, всё, что прописано в /etc/sysctl.d/99-sysctl.conf должно применяться, когда в /proc/sys/ уже всё в наличии с дефолтными значениями. Однако, как видим на этом примере, реальность не соответствует предположениям.
Попробую поискать ответы.
Отмечаю вопрос решённым.
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
corner, спасибо за ссылки, почитаю.
Gnome 2 >> Unity >> KDE 4 >> Openbox >> Awesome >> Xmonad
GitHub , BitBuket
 
Зарегистрироваться или войдите чтобы оставить сообщение.