内核 /proc ipv6 设置优先级

Ban*_*uin 5 proc ipv6 linux-kernel

我即将将我们的网络连接到 IPv6 Internet,并且需要控制在 下找到的内核 ipv6 设置/proc。我知道每个接口都有配置,all接口和default配置。我的问题是:如果各个值相互矛盾,哪些设置会获胜?虽然我能够找到有关各个设置的良好文档,但我不知道设置优先级...

有一个关于 IPv4相关问题,但主要讲的是 的区别alldefault以及各个接口。从中我收集到具体的设置总是以某种方式在逻辑上结合起来。但是,对我来说最重要的字段(请参阅以下示例)并未涵盖,而且 IPv6 的实现方式似乎有所不同,因此参考答案中引用的内核源文件对我的 IPv6 问题和以下示例没有帮助。

几个例子:

cat /proc/sys/net/ipv6/conf/all/accept_ra
0
cat /proc/sys/net/ipv6/conf/eth1/accept_ra
1
Run Code Online (Sandbox Code Playgroud)

eth1 会接受路由器广告吗?

cat /proc/sys/net/ipv6/conf/all/forwarding
1
cat /proc/sys/net/ipv6/conf/eth1/forwarding
0
cat /proc/sys/net/ipv6/conf/eth1/accept_ra
1
Run Code Online (Sandbox Code Playgroud)

eth1 会接受路由器广告吗?

cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1
cat /proc/sys/net/ipv6/conf/all/accept_ra
1
cat /proc/sys/net/ipv6/conf/eth1/disable_ipv6
0
cat /proc/sys/net/ipv6/conf/all/accept_ra
0
Run Code Online (Sandbox Code Playgroud)

eth1 会接受路由器广告吗?

cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1
cat /proc/sys/net/ipv6/conf/all/fowarding
1
cat /proc/sys/net/ipv6/conf/eth1/disable_ipv6
0
cat /proc/sys/net/ipv6/conf/all/accept_ra
1
Run Code Online (Sandbox Code Playgroud)

eth1 会接受路由器广告吗?

cou*_*ode 2

  1. 是的
  2. 是的
  3. 依靠
  4. 依靠

“默认”条目是默认的。当一个接口出现时,它会继承那里的参数。

“all”条目用于一次性为所有接口分配参数。这并不意味着每个接口都被锁定到该参数。例如,考虑

echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra
echo 1 > /proc/sys/net/ipv6/conf/enp2s1/accept_ra
Run Code Online (Sandbox Code Playgroud)

然后

cat /proc/sys/net/ipv6/conf/all/accept_ra
0
cat /proc/sys/net/ipv6/conf/enp2s1/accept_ra
1
cat /proc/sys/net/ipv6/conf/wlp2s0/accept_ra
0
Run Code Online (Sandbox Code Playgroud)

所以“all”并不代表任何一种状态,它只是用于集体赋值。