删除conf文件并重新启动后,sysctl更改仍然存在

删除conf文件并重新启动后,sysctl更改仍然存在

我有一个安装 sysctl 配置文件的软件包/etc/sysctl.d为了“调整”一些默认设置。例如,有些是

net.ipv4.tcp_congestion_control = agilesd
net.ipv4.tcp_fin_timeout = 20
net.ipv4.tcp_sack = 0

这些的默认值是cubic601(分别)。

我有一个需要,我必须暂时“禁用”它们。只需将它们设置为默认值即可完成。然而,我的实验导致我将文件/etc/sysctl.d/99-my_ip_changes.conf从该目录移动到/root并重新启动。在安装此软件包的 CentOS 7.6 系统之一上,重新启动后,事情实际上会恢复到默认状态。然而,在另外两个方面,他们却没有。重启后,TCP拥塞算法仍为agilesd示例。

我已尽我所能验证,没有其他 sysctl conf 文件将这些内容设置为此配置文件中设置的相同值。谁能帮助我理解为什么会发生这种情况?

答案1

首先,我认为您在 sysctl 字段名称中存在错误,因为它们应该以“net”开头而不是“sys”开头,如下所示:

net.ipv4.tcp_congestion_control = agilesd
net.ipv4.tcp_fin_timeout = 20
net.ipv4.tcp_sack = 0

除此之外,据我所知,文件“/etc/sysctl.d/99-sysctl.conf”实际上是“/etc/sysctl.conf”的符号链接:

$ll /etc/sysctl.d/99-sysctl.conf
lrwxrwxrwx. 1 root root 14 Dec 31 17:03 /etc/sysctl.d/99-sysctl.conf -> ../sysctl.conf

所以我的猜测是,在没有恢复更改的系统上,原始文件已更改,甚至在将文件('/etc/sysctl.d/99-my_ip_changes.conf')移动到'/root'原始文件之后“/etc/sysctl.conf”仍然保留“调整”值。

如果您仍然遇到此问题,请查看此内容。如果没有,也许这会对将来的其他人有所帮助。

希望这可以帮助。

相关内容