Man page - sysctl.d(5)

Packages contains this manual

Available languages:

en zh_TW zh_CN de

Manual

SYSCTL.D

NAME
SYNOPSIS
描 述
配 置 檔 案 格 式
配 置 目 錄 及 其 優 先 順 序
例 子
參 見
NOTES


NAME

sysctl.d - 在 啟 動 時 配 置 核 心 引 數

SYNOPSIS

/etc/sysctl.d/*.conf

/run/sysctl.d/*.conf

/usr/lib/sysctl.d/*.conf

描 述

在 系 統 啟 動 時 , systemd-sysctl.service (8) 根 據 上 面 列 出 的 配 置 檔 案 設 定 sysctl(8) [1] 核 心 引 數 。

配 置 檔 案 格 式

配 置 檔 案 的 格 式 是 一 系 列 "KEY=VALUE"行 (每 行 一 對 )。 空 行 以 及 以 "#" 或 ";" 開 頭 的 行 都 將 被 忽 略 。

注 意 , 在 KEY內 部 , 可 以 使 用 "/" 或 "." 作 為 分 隔 符 。 如 果 第 一 個 分 隔 符 是 "/" , 那 麼 其 餘 的 分 隔 符 將 保 持 原 樣 ; 如 果 第 一 個 分 隔 符 是 "." , 那 麼 互 換 所 有 的 "/" 與 "." ; 例 如 , "kernel.domainname=foo" 等 價 於 "kernel/domainname=foo" , 都 會 將 "foo" 寫 入 /proc/sys/kernel/domainname 引 數 中 。 同 樣 的 , "net.ipv4.conf.enp3s0/200.forwarding" 等 價 於 "net/ipv4/conf/enp3s0.200/forwarding" , 都 是 指 /proc/sys/net/ipv4/conf/enp3s0.200/forwarding 引 數 。

sysctl.d/ 中 的 設 定 將 在 系 統 啟 動 的 早 期 被 應 用 。 針 對 網 路 介 面 的 配 置 , 則 會 在 對 應 的 網 路 接 口 出 現 的 時 候 被 應 用 , 具 體 說 來 就 是 net.ipv4.conf.*, net.ipv6.conf.*, net.ipv4.neigh.*, net.ipv6.neigh.* 引 數 。

許 多 sysctl 引 數 僅 在 載 入 相 應 的 核 心 模 組 之 後 才 可 用 。 因 為 核 心 模 組 是 按 需 動 態 載 入 的 (例 如 在 插 入 新 硬 體 或 啟 動 網 路 時 ), 所 以 在 系 統 啟 動 早 期 執 行 的 systemd-sysctl.service (8) 無 法 設 定 那 些 依 賴 於 特 定 核 心 模 組 的 引 數 。 對 於 這 些 引 數 , 首 選 的 方 法 是 透 過 udev (7) 規 則 來 設 定 , 次 選 的 方 法 是 將 這 些 模 組 新 增 到 modules-load.d (5) 中 , 因 為 modules-load.d (5) 中 的 模 組 會 在 執 行 systemd-sysctl.service (8) 前 被 無 條 件 的 靜 態 載 入 (參 見 "例 子 "小 節 )。

配 置 目 錄 及 其 優 先 順 序

配 置 檔 案 依 次 從 /etc/, /run/, /usr/lib/ 目 錄 中 讀 取 。 配 置 檔 案 的 名 稱 必 須 符 合 filename .conf 格 式 。 對 於 不 同 目 錄 下 的 同 名 配 置 檔 案 , 僅 以 優 先 順 序 最 高 的 目 錄 中 的 那 一 個 為 準 。 具 體 說 來 就 是 : /etc/ 的 優 先 順 序 最 高 、 /run/ 的 優 先 順 序 居 中 、 /usr/lib/ 的 優 先 順 序 最 低 。

軟 體 包 應 該 將 自 帶 的 配 置 檔 案 安 裝 在 /usr/lib/ 目 錄 中 。 /etc/ 目 錄 僅 供 系 統 管 理 員 使 用 。 所 有 的 配 置 檔 案 (無 論 位 於 哪 個 目 錄 中 ), 統 一 按 照 檔 名 的 字 典 順 序 處 理 。 如 果 在 多 個 配 置 檔 案 中 設 定 了 同 一 個 選 項 , 那 麼 僅 以 檔 名 最 靠 後 (字 典 順 序 )的 那 一 個 為 準 。 為 了 便 於 排 序 , 建 議 給 所 有 配 置 檔 案 都 加 上 兩 位 十 進 位 制 數 字 的 檔 名 字 首 。

如 果 系 統 管 理 員 想 要 遮 蔽 /usr/lib/ 目 錄 中 的 某 個 配 置 檔 案 , 那 麼 最 佳 做 法 是 在 /etc/ 目 錄 中 建 立 一 個 指 向 /dev/null 的 同 名 符 號 連 結 , 即 可 徹 底 遮 蔽 /usr/lib/ 目 錄 中 的 同 名 檔 案 。 如 果 軟 體 包 自 帶 的 某 個 配 置 檔 案 位 於 initrd 映 象 中 , 那 麼 還 必 須 重 新 生 成 initrd 映 象 。

例 子

Example 1. 設 定 核 心 YP域 名

/etc/sysctl.d/domain-name.conf:

kernel.domainname=example.com

Example 2. 利 用 udev規 則 設 定 動 態 核 心 模 組 的 引 數 (方 法 一 )

/etc/udev/rules.d/99-bridge.rules:

ACTION=="add", SUBSYSTEM=="module", KERNEL=="br_netfilter", \
RUN+="/usr/lib/systemd/systemd-sysctl --prefix=/net/bridge"

/etc/sysctl.d/bridge.conf:

net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

因 為 此 方 法 在 載 入 模 組 的 同 時 設 定 模 組 的 引 數 , 所 以 僅 在 載 入 br_netfilter 模 組 之 後 才 能 過 濾 橋 接 包 , 若 不 想 過 濾 橋 接 包 , 只 要 不 載 入 br_netfilter 模 組 即 可 。

Example 3. 利 用 modules-load.d 目 錄 設 定 動 態 核 心 模 組 的 引 數 (方 法 二 )

/etc/modules-load.d/bridge.conf:

br_netfilter

/etc/sysctl.d/bridge.conf:

net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

因 為 此 方 法 總 是 無 條 件 的 載 入 br_netfilter 模 組 , 並 且 總 是 無 條 件 的 設 定 模 組 的 引 數 , 所 以 總 是 無 條 件 的 過 濾 橋 接 包 , 若 不 想 過 濾 橋 接 包 , 必 須 主 動 解 除 安 裝 br_netfilter 模 組 。

參 見

systemd (1), systemd-sysctl.service (8), systemd-delta (1), sysctl(8) [1] , sysctl.conf (5), modprobe (8)

NOTES

1.

sysctl(8)

[set $man.base.url.for.relative.links]//man/sysctl.html

本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。

翻 譯 人 員 : 金 步 國
金 步 國 作 品 集 : http://www.jinbuguo.com
中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh