内核设置中的 all 和 default 有什么区别?

Que*_*low 8 kernel configuration sysctl

我想启用反向路径过滤以防止我的服务器上的源 ip 欺骗。我注意到我目前有以下设置:

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

设置 inall和 one indefault不一样。我的/etc/sysctl.conf文件没有明确的设置。我想知道设置之间对其余配置有什么影响

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

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

我必须设置两者还是只设置其中之一?

slm*_*slm 4

根据这篇标题为:/proc/sys/net/ipv4/conf 中的所有与默认值的帖子 [message #3139]

当您更改 /proc/sys/net/ipv4/conf/all 目录中的变量时,所有接口的变量和默认值也会更改。当您更改 /proc/sys/net/ipv4/conf/default 中的变量时,所有未来的接口都将具有您指定的值。这应该只影响可以在运行时添加接口的机器,例如带有 PCMCIA 卡的笔记本电脑,或者通过 VPN 或 PPP 创建新接口的机器。

参考

  • 是的,我在谷歌搜索时也看到了那个帖子。但实际上,当我尝试运行“sysctl -w net.ipv4.conf.all.rp_filter=1”时,没有任何更改接受 all 选项,默认情况下也是如此。 (3认同)