重启 Debian 后忽略 sysctl.conf 值

重启 Debian 后忽略 sysctl.conf 值

sysctl 重新定义值的正确位置在哪里?

我有:

> uname -a
Linux note 3.1.0-1-amd64 #1 SMP Tue Jan 10 05:01:58 UTC 2012 x86_64 GNU/Linux

> cat /etc/debian_version 
wheezy/sid


> tail -n 2 /etc/sysctl.conf   
#
net.ipv6.bindv6only=0

但每次重启后 net.ipv6.bindv6only 仍然为 1

答案1

检查 /etc/sysctl.d 中是否有包含您的参数的文件。这些文件将覆盖 /etc/sysctl.conf 文件...

答案2

https://bugs.launchpad.net/ubuntu/+source/procps/+bug/50093

/etc/init.d/procps.sh在启动过程中出现得太早,无法应用大量 sysctl。由于它在加载网络模块和挂载文件系统之前运行,因此有很多常用的 sysctl 在启动时被忽略,并在控制台上产生错误。

网络上所有涉及更改 /etc/sysctl.conf 中的某些设置的文档对于net.ipv4.netfilter.ip_conntrack_maxUbuntu 和 Debian 来说都是错误的。

最后,“在我看来这是一个 Debian Squeeze 错误,请参阅此处的示例和解决方法: http://wiki.debian.org/BridgeNetworkConnections

在后一种情况下,procps init 脚本应该负责在启动期间加载它们。然而,在 Squeeze 上它没有,你需要从 /etc/rc.local(或类似)重新启动它:

# /etc/rc.local

# Load kernel variables from /etc/sysctl.d
/etc/init.d/procps restart

exit 0

答案3

如果你使用联邦快递/etc/ufw/sysctl.conf(简单的防火墙)你确实需要更改此处配置中的值覆盖 /etc/sysctl.conf one

答案4

这是由 procps init 脚本设置的。确保此 init 脚本已启用update-rc.d procps enable。如果已启用,您应该会收到从 /etc/rcS.d 中的文件到 /etc/init.d/procps 的链接。如果此 init 脚本正常运行,则手动运行/etc/init.d/procps restart应进行设置。

相关内容