使用早于 5.1 的内核时,如果用户创建网络命名空间,它会从默认的 sysctl 值开始。即使根命名空间使用 sysctl 更改了这些值,新的网络命名空间仍将使用默认值。例如,proc/sys/net/ipv6/conf/all/forwarding
始终为 0,因为这是默认值。
如果我理解正确,这些是内核设置的默认值,我想知道是否可以通过 GRUB_CMDLINE_LINUX 或任何其他方式更改这些值。请注意,我不想访问网络命名空间并通过 sysctl(或 echo /proc/sys/net....)更改参数,我想更改默认值
您正在寻找的功能仅从内核 5.8 开始可用,如本 UL SE Q/A 中所述:如何使用内核命令行参数设置 sysctl?:
因此结合
devconf_inherit_init_net
OP在之前的 Q/A 中找到的,从内核 5.8 开始,但不是在之前,因此也不是在 5.1 之前,通过 GRUB 添加这两个内核参数:将达到预期的目标。