/etc/NetworkManager 下文件的解释?

/etc/NetworkManager 下文件的解释?

/etc/NetworkManager是 NetworkManager 保存其配置的重要目录。我想要一份每个文件用途的完整列表。

我的笔记本电脑上此目录下的所有文件

$ tree
.
├── conf.d
├── dispatcher.d
│   ├── no-wait.d
│   ├── pre-down.d
│   └── pre-up.d
├── dnsmasq.d
├── dnsmasq-shared.d
├── NetworkManager.conf
└── system-connections
    ├── Family 2.nmconnection
    ├── Starbucks.nmconnection
    ├── StudentOffice.nmconnection
    └── SunYouran.nmconnection

我相信通过回答这个问题,我可以更好地理解 Ubuntu 中的网络是如何工作的。

答案1

文档/etc/NetworkManager/NetworkManager.conf 可以在这里找到:

https://networkmanager.dev/docs/api/latest/NetworkManager.conf.html

还有一个手册页,在网站上我必须关闭 css 才能阅读它:

⏵ man NetworkManager.conf

https://manpages.ubuntu.com/manpages/latest/en/man5/NetworkManager.conf.5.html

答案2

@vanadium 提供了一种调查文件使用情况的通用方法。

  1. 对于您关注的每个文件,dpkg -S filename显示哪个包提供了该文件。目录也可以输入到 中filename,但需要目录的完整路径。
  2. 对于上面列出的每个包,dpkg -Lpackage 将显示该包安装的所有文件。

因此对于文件/etc/NetworkManager

  • dispatcher.d

    NetworkManager 将按字母顺序执行此目录或其子目录中的所有执行脚本,以响应网络事件。每个脚本都会收到两个参数,第一个是刚刚发生操作的设备的接口名称,第二个是操作。例如,以下脚本禁用临时网络适配器的卸载功能

    #!/bin/bash
    # file: /etc/NetworkManager/dispatcher.d/80-disable-offload.sh
    # usage: diable offload when eno1/enp0s31f6 is up
    interface=$1
    event=$2
    if [[ $interface == "eno1" || $interface == "enp0s31f6" ]] && [[ $event == "up" ]]; then
      TOE_OPTIONS="rx tx sg tso ufo gso gro lro rxvlan txvlan rxhash"
      for TOE_OPTION in $TOE_OPTIONS; do
          /sbin/ethtool --offload $interface $TOE_OPTION off
      done
    fi
    exit 0
    
  • NetworkManager.conf

    我的机器上的默认内容是

    [main]
    plugins=ifupdown,keyfile
    dns=default
    
    [ifupdown]
    managed=false
    
    [device]
    wifi.scan-rand-mac-address=no
    

    在哪里

    • ifupdown是 Debian 和 Ubuntu 发行版上使用的插件,从 /etc/network/interfaces 读取以太网和 Wi-Fi 连接。
    • keyfile是支持 NetworkManager 拥有的所有连接类型和功能的通用插件。它以 .ini 样式的格式写入文件/etc/NetworkManager/system-connections
    • [ifupdown] manage设置false为默认值。如果设置为 false,则 NetworkManager 将忽略 /etc/network/interfaces 中列出的任何接口。(我的问题是:如果设置为 ,network-manager 如何管理网络false?)
  • conf.d

    用户可以向此目录添加其他 .conf 文件,因为它们NetworkManager.conf可能会被软件更新删除。

  • system-connections存储有关连接(如 wifi)的信息。它由keyfile插件管理,如上所述。这些是可以在 中编辑的连接nmtui

  • dnsmasq.ddnsmasq-shared.d

    当 dnsmasq 插件启用时,这两个文件夹中的文件控制其行为。有关如何启用它的示例和简单配置,请参阅使用 NetworkManager 的 DNSMasq 插件

相关内容