签到成功

知道了

CNDBA社区CNDBA社区

Linux 7 中 /etc/sysctl.conf文件说明

2021-12-16 16:16 1552 0 原创 Linux
作者: hbhe0316

1.在Linux 系统中,我们通常把一些配置写到/etc/sysctl.conf文件,但在Linux 7中,这个规则稍微发生了变化。http://www.cndba.cn/hbhe0316/article/22832

http://www.cndba.cn/hbhe0316/article/22832
http://www.cndba.cn/hbhe0316/article/22832http://www.cndba.cn/hbhe0316/article/22832

[root@node02:/root]$ cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

[root@node02:/root]$ ll /etc/sysctl.d/99-sysctl.conf
lrwxrwxrwx. 1 root root 14 Aug 19 16:45 /etc/sysctl.d/99-sysctl.conf -> ../sysctl.conf

2.查看说明

http://www.cndba.cn/hbhe0316/article/22832
http://www.cndba.cn/hbhe0316/article/22832
http://www.cndba.cn/hbhe0316/article/22832
http://www.cndba.cn/hbhe0316/article/22832

SYSCTL.D(5)                                                                                     sysctl.d                                                                                     SYSCTL.D(5)

NAME
       sysctl.d - Configure kernel parameters at boot

SYNOPSIS
       /etc/sysctl.d/*.conf

       /run/sysctl.d/*.conf

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

DESCRIPTION
       At boot, systemd-sysctl.service(8) reads configuration files from the above directories to configure sysctl(8) kernel parameters.

CONFIGURATION FORMAT
       The configuration files contain a list of variable assignments, separated by newlines. Empty lines and lines whose first non-whitespace character is "#" or ";" are ignored.

       Note that either "/" or "."  may be used as separators within sysctl variable names. If the first separator is a slash, remaining slashes and dots are left intact. If the first separator is a
       dot, dots and slashes are interchanged.  "kernel.domainname=foo" and "kernel/domainname=foo" are equivalent and will cause "foo" to be written to /proc/sys/kernel/domainname. Either
       "net.ipv4.conf.enp3s0/200.forwarding" or "net/ipv4/conf/enp3s0.200/forwarding" may be used to refer to /proc/sys/net/ipv4/conf/enp3s0.200/forwarding.

       The settings configured with sysctl.d files will be applied early on boot. The network interface-specific options will also be applied individually for each network interface as it shows up in
       the system. (More specifically, net.ipv4.conf.*, net.ipv6.conf.*, net.ipv4.neigh.*  and net.ipv6.neigh.*).

       Many sysctl parameters only become available when certain kernel modules are loaded. Modules are usually loaded on demand, e.g. when certain hardware is plugged in or network brought up. This
       means that systemd-sysctl.service(8) which runs during early boot will not configure such parameters if they become available after it has run. To set such parameters, it is recommended to add
       an udev(7) rule to set those parameters when they become available. Alternatively, a slightly simpler and less efficient option is to add the module to modules-load.d(5), causing it to be
       loaded statically before sysctl settings are applied (see example below).

CONFIGURATION DIRECTORIES AND PRECEDENCE
       Configuration files are read from directories in /etc/, /run/, and /usr/lib/, in order of precedence. Each configuration file in these configuration directories shall be named in the style of
       filename.conf. Files in /etc/ override files with the same name in /run/ and /usr/lib/. Files in /run/ override files with the same name in /usr/lib/.

       Packages should install their configuration files in /usr/lib/. Files in /etc/ are reserved for the local administrator, who may use this logic to override the configuration files installed by
       vendor packages. All configuration files are sorted by their filename in lexicographic order, regardless of which of the directories they reside in. If multiple files specify the same option,
       the entry in the file with the lexicographically latest name will take precedence. It is recommended to prefix all filenames with a two-digit number and a dash, to simplify the ordering of the
       files.

       If the administrator wants to disable a configuration file supplied by the vendor, the recommended way is to place a symlink to /dev/null in the configuration directory in /etc/, with the same
       filename as the vendor configuration file.

EXAMPLES
       Example 1. Set kernel YP domain name

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

           kernel.domainname=example.com

       Example 2. Disable packet filter on bridged packets (method one)

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

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

3.查看/etc/sysctl.d/99-sysctl.conf只是一个软链接。http://www.cndba.cn/hbhe0316/article/22832

http://www.cndba.cn/hbhe0316/article/22832

版权声明:本文为博主原创文章,未经博主允许不得转载。

Linux

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
hbhe0316

hbhe0316

关注

1.只有承认无知,才能装下新的东西; 2.进步来自一点点滴滴的积累; 3.广博让你更优秀,而专业让你无法替代; 4.挫折和失败能够转换为一种财富。

  • 889
    原创
  • 1
    翻译
  • 13
    转载
  • 24
    评论
  • 访问:1039221次
  • 积分:1523
  • 等级:核心会员
  • 排名:第6名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ