- systemd.index 中文手册
- systemd.directives 中文手册
- binfmt.d 中文手册
- bootctl 中文手册
- bootup 中文手册
- busctl 中文手册
- coredump.conf 中文手册
- coredumpctl 中文手册
- crypttab 中文手册
- daemon 中文手册
- dnssec-trust-anchors.d 中文手册
- environment.d 中文手册
- file-hierarchy 中文手册
- halt 中文手册
- hostname 中文手册
- hostnamectl 中文手册
- hwdb 中文手册
- journal-remote.conf 中文手册
- journal-upload.conf 中文手册
- journalctl 中文手册
- journald.conf 中文手册
- kernel-command-line 中文手册
- kernel-install 中文手册
- loader.conf 中文手册
- locale.conf 中文手册
- localectl 中文手册
- localtime 中文手册
- loginctl 中文手册
- logind.conf 中文手册
- machine-id 中文手册
- machine-info 中文手册
- machinectl 中文手册
- modules-load.d 中文手册
- networkctl 中文手册
- networkd.conf 中文手册
- nss-myhostname 中文手册
- nss-mymachines 中文手册
- nss-resolve 中文手册
- nss-systemd 中文手册
- os-release 中文手册
- pam_systemd 中文手册
- portablectl 中文手册
- resolvectl 中文手册
- resolved.conf 中文手册
- shutdown 中文手册
- sysctl.d 中文手册
- systemctl 中文手册
- systemd 中文手册
- systemd-analyze 中文手册
- systemd-ask-password 中文手册
- systemd-ask-password-console.service 中文手册
- systemd-backlight@.service 中文手册
- systemd-binfmt.service 中文手册
- systemd-bless-boot-generator 中文手册
- systemd-bless-boot.service 中文手册
- systemd-boot 中文手册
- systemd-boot-check-no-failures.service 中文手册
- systemd-cat 中文手册
- systemd-cgls 中文手册
- systemd-cgtop 中文手册
- systemd-coredump 中文手册
- systemd-cryptsetup-generator 中文手册
- systemd-cryptsetup@.service 中文手册
- systemd-debug-generator 中文手册
- systemd-delta 中文手册
- systemd-detect-virt 中文手册
- systemd-environment-d-generator 中文手册
- systemd-escape 中文手册
- systemd-firstboot 中文手册
- systemd-fsck@.service 中文手册
- systemd-fstab-generator 中文手册
- systemd-getty-generator 中文手册
- systemd-gpt-auto-generator 中文手册
- systemd-halt.service 中文手册
- systemd-hibernate-resume-generator 中文手册
- systemd-hibernate-resume@.service 中文手册
- systemd-hostnamed.service 中文手册
- systemd-hwdb 中文手册
- systemd-id128 中文手册
- systemd-importd.service 中文手册
- systemd-inhibit 中文手册
- systemd-initctl.service 中文手册
- systemd-journal-gatewayd.service 中文手册
- systemd-journal-remote.service 中文手册
- systemd-journal-upload.service 中文手册
- systemd-journald.service 中文手册
- systemd-localed.service 中文手册
- systemd-logind.service 中文手册
- systemd-machine-id-commit.service 中文手册
- systemd-machine-id-setup 中文手册
- systemd-machined.service 中文手册
- systemd-makefs@.service 中文手册
- systemd-modules-load.service 中文手册
- systemd-mount 中文手册
- systemd-networkd-wait-online.service 中文手册
- systemd-networkd.service 中文手册
- systemd-notify 中文手册
- systemd-nspawn 中文手册
- systemd-path 中文手册
- systemd-portabled.service 中文手册
- systemd-quotacheck.service 中文手册
- systemd-random-seed.service 中文手册
- systemd-rc-local-generator 中文手册
- systemd-remount-fs.service 中文手册
- systemd-resolved.service 中文手册
- systemd-rfkill.service 中文手册
- systemd-run 中文手册
- systemd-run-generator 中文手册
- systemd-sleep.conf 中文手册
- systemd-socket-activate 中文手册
- systemd-socket-proxyd 中文手册
- systemd-suspend.service 中文手册
- systemd-sysctl.service 中文手册
- systemd-system-update-generator 中文手册
- systemd-system.conf 中文手册
- systemd-sysusers 中文手册
- systemd-sysv-generator 中文手册
- systemd-time-wait-sync.service 中文手册
- systemd-timedated.service 中文手册
- systemd-timesyncd.service 中文手册
- systemd-tmpfiles 中文手册
- systemd-tty-ask-password-agent 中文手册
- systemd-udevd.service 中文手册
- systemd-update-done.service 中文手册
- systemd-update-utmp.service 中文手册
- systemd-user-sessions.service 中文手册
- systemd-vconsole-setup.service 中文手册
- systemd-veritysetup-generator 中文手册
- systemd-veritysetup@.service 中文手册
- systemd-volatile-root.service 中文手册
- systemd.automount 中文手册
- systemd.device 中文手册
- systemd.dnssd 中文手册
- systemd.environment-generator 中文手册
- systemd.exec 中文手册
- systemd.generator 中文手册
- systemd.journal-fields 中文手册
- systemd.kill 中文手册
- systemd.link 中文手册
- systemd.mount 中文手册
- systemd.netdev 中文手册
- systemd.network 中文手册
- systemd.nspawn 中文手册
- systemd.offline-updates 中文手册
- systemd.path 中文手册
- systemd.preset 中文手册
- systemd.resource-control 中文手册
- systemd.scope 中文手册
- systemd.service 中文手册
- systemd.slice 中文手册
- systemd.socket 中文手册
- systemd.special 中文手册
- systemd.swap 中文手册
- systemd.syntax 中文手册
- systemd.target 中文手册
- systemd.time 中文手册
- systemd.timer 中文手册
- systemd.unit 中文手册
- sysusers.d 中文手册
- timedatectl 中文手册
- timesyncd.conf 中文手册
- tmpfiles.d 中文手册
- udev 中文手册
- udev.conf 中文手册
- udevadm 中文手册
- user@.service 中文手册
- vconsole.conf 中文手册
sysctl.d 中文手册
名称
sysctl.d — 在启动时配置内核参数
大纲
/etc/sysctl.d/*.conf
/run/sysctl.d/*.conf
/usr/lib/sysctl.d/*.conf
描述
在系统启动时,systemd-sysctl.service(8)根据上面列出的配置文件设置sysctl(8)内核参数。
配置文件格式
配置文件的格式是一系列"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 镜像。
例子
例 1. 设置内核YP域名
/etc/sysctl.d/domain-name.conf
:
kernel.domainname=example.com
例 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
模块即可。
例 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),sysctl.conf(5),modprobe(8)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论