all/default/interface 配置如何相互影響?
在以下核心配置路徑上:
/proc/sys/net/ipv6/conf/
我們可以通過以下方式配置每個網路介面:
- 我們可以指定
all
介面遵循什麼配置- 我們可以
default
為任何新介面提供配置- 或者我們可以配置一個
interface
特定的配置。我不明白的是,當在界面(例如
eth0
)default
和all
級別上以不同方式配置相同的設置時會發生什麼。例如,如果我們將
accept_dad
參數配置為1
oneth0
、2
onall
和0
ondefault
,那麼 OS 最終會使用哪個值?查看核心文件,他們只說:
conf/default/*
:更改介面特定的預設設置。
conf/all/*
:更改所有特定於介面的設置。
XXX:轉發以外的其他特殊功能?]
conf/interface/*
:更改每個界面的特殊設置。
根據是否啟用本地轉發,某些設置的功能行為會有所不同。
但是,如果在每個級別配置相同的設置,他們沒有提及規則是什麼。
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
。已經引用的核心文件可能會更清楚地說明何時使用哪些設置。