找出与 sysctl.conf 和 sysctl.d 相关的内核选项的值

Des*_*ume 29 linux ubuntu configuration sysctl linux-kernel

在我的 Ubuntu 机器上,在/etc/sysctl.conf文件中,我默认注释掉了反向路径过滤选项,如下所示:

#net.ipv4.conf.default.rp_filter=1
#net.ipv4.conf.all.rp_filter=1
Run Code Online (Sandbox Code Playgroud)

但在/etc/sysctl.d/10-network-security.conf它们中(同样,默认情况下)没有注释掉:

net.ipv4.conf.default.rp_filter=1
net.ipv4.conf.all.rp_filter=1
Run Code Online (Sandbox Code Playgroud)

那么是否启用了反向路径过滤?哪个配置位置优先?如何检查这些和其他内核选项的当前值?

Des*_*ume 48

检查 sysctl 变量的值就像

sysctl <variable name>
Run Code Online (Sandbox Code Playgroud)

而且,顺便说一句,设置 sysctl 变量就像

sudo sysctl -w <variable name>=<value>
Run Code Online (Sandbox Code Playgroud)

但以这种方式进行的更改可能只会持续到下一次重新启动。

至于哪个配置位置/etc/sysctl.conf/etc/sysctl.d/,优先,这里是什么/etc/sysctl.d/README文件说:

最终用户可以使用 60-*.conf 及更高版本,或者 直接使用/etc/sysctl.conf它会覆盖此目录中的任何内容

在两个位置中的任何一个编辑配置后,可以应用更改

sudo sysctl -p
Run Code Online (Sandbox Code Playgroud)