在以下内核配置路径上:
/proc/sys/net/ipv6/conf/
我们可以按照以下方式配置每个网络接口:
all
我们可以指定接口要遵循什么配置- 我们可以
default
为任何新接口提供配置 - 或者我们可以配置一个
interface
特定的配置。
我不明白的是,当相同的设置在界面(例如eth0
)default
和all
级别上以不同的方式配置时会发生什么。
例如,如果我们将accept_dad
参数配置为1
on the eth0
、2
onall
和0
on default
,那么操作系统最终会使用哪个值?
看着内核文档他们只说:
conf/default/*
:
更改接口特定的默认设置。
conf/all/*
:
更改所有接口特定的设置。XXX
:除了转发之外还有其他特殊功能吗?]
conf/interface/*
:
更改每个接口的特殊设置。
某些设置的功能行为会根据是否启用本地转发而有所不同。
但是他们没有提及如果在每个级别配置相同的设置,规则是什么。
答案1
A number of other directories exist within the /proc/sys/net/ipv4/ directory and each covers a different aspect of the network stack. The /proc/sys/net/ipv4/conf/ directory allows each system interface to be configured in different ways, including the use of default settings for unconfigured devices (in the /proc/sys/net/ipv4/conf/default/ subdirectory) and settings that override all special configurations (in the /proc/sys/net/ipv4/conf/all/ subdirectory).
Other directories within the /proc/sys/net/ipv4/ directory cover different aspects of the network stack: /proc/sys/net/ipv4/conf/ - alows you to configure each system interface in different ways, including the use of default settings for unconfigured devices and settings that override all special configurations
这些是我在 RHEL 6 和 7 文档中找到的与问题相关的部分。我认为它们有助于更好地理解这些目录的使用情况。
看起来,这default
仅用于新初始化的接口,all
覆盖所有接口的设置,并interface
提供未覆盖/设置的接口设置all
。
已经引用的内核文档可能会更清楚地说明何时使用哪些设置。