我有一个安装 sysctl 配置文件的软件包/etc/sysctl.d为了“调整”一些默认设置。例如,有些是
net.ipv4.tcp_congestion_control = agilesd
net.ipv4.tcp_fin_timeout = 20
net.ipv4.tcp_sack = 0
这些的默认值是cubic
、60
和1
(分别)。
我有一个需要,我必须暂时“禁用”它们。只需将它们设置为默认值即可完成。然而,我的实验导致我将文件/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”仍然保留“调整”值。
如果您仍然遇到此问题,请查看此内容。如果没有,也许这会对将来的其他人有所帮助。
希望这可以帮助。