当前位置: 首页 > news >正文

NetworkManager介绍与用法

文章目录

    • 1. NetworkManager 的核心组成
      • **(1)服务进程(NetworkManager.service)**
      • **(2)命令行工具(`nmcli`)**
      • **(3)图形化工具**
      • **(4)配置文件**
    • 2. NetworkManager 的主要功能
      • **(1)自动网络管理**
      • **(2)多网络配置管理**
      • **(3)DNS 与路由管理**
      • **(4)设备状态管理**
    • 3. 常用 `nmcli` 命令
      • **(1)查看网络状态**
      • **(2)配置静态 IP**
      • **(3)配置 DHCP**
      • **(4)管理 Wi-Fi**
      • **(5)临时修改配置**
    • 4. 高级配置
      • **(1)禁用 NetworkManager 管理特定设备**
      • **(2)日志调试**
      • **(3)插件管理**
    • 5. 与传统网络管理的区别
    • 6. 常见问题
      • **(1)`/etc/resolv.conf` 被覆盖**
      • **(2)NetworkManager 与 `network.service` 冲突**
    • 总结

NetworkManager 是 Linux 系统上用于管理网络连接的核心服务,支持有线、无线、VPN、移动宽带等多种网络类型,并提供自动化配置、动态切换和统一管理功能。以下是其核心组成及用法的全面介绍:


1. NetworkManager 的核心组成

NetworkManager 主要由以下几个部分组成:

(1)服务进程(NetworkManager.service)

  • 负责检测网络设备、管理连接状态、自动切换最佳网络。
  • systemd 管理,支持开机自启、日志监控等。
  • 默认存储连接配置在 /etc/NetworkManager/system-connections/

(2)命令行工具(nmcli

  • 提供完整的网络管理功能,支持脚本化操作。
  • 主要管理两类对象:
    • connection(连接配置):相当于网络配置文件,如静态 IP、DHCP、Wi-Fi 等。
    • device(物理/虚拟网卡):如 eth0wlan0

(3)图形化工具

  • nmtui:基于终端的交互式配置界面。
  • nm-connection-editor:GNOME 环境下的图形配置工具。
  • 桌面小程序(如 nm-applet:提供托盘图标,方便用户切换网络。

(4)配置文件

  • 主配置文件/etc/NetworkManager/NetworkManager.conf,控制全局行为(如 DNS 管理、插件加载)。
  • 连接配置文件:存储在 /etc/NetworkManager/system-connections/,每个连接对应一个 .nmconnection 文件。

2. NetworkManager 的主要功能

(1)自动网络管理

  • 自动检测可用网络(有线、Wi-Fi、移动热点等)。
  • 支持 DHCP 和静态 IP 配置。
  • 当网络断开时,自动尝试其他可用连接。

(2)多网络配置管理

  • 支持 VPN(OpenVPN、WireGuard)、网桥VLAN 等高级配置。
  • 允许为同一设备配置多个连接,但同一时间仅一个生效。

(3)DNS 与路由管理

  • 默认管理 /etc/resolv.conf,但可通过配置禁用:
    [main]
    dns=none
    
    然后手动修改 DNS。

(4)设备状态管理

  • connected:设备已连接并激活。
  • disconnected:设备未连接但可管理。
  • unmanaged:NetworkManager 不管理该设备(如手动配置的网卡)。

3. 常用 nmcli 命令

(1)查看网络状态

nmcli device status       # 查看设备状态
nmcli connection show    # 查看所有连接
nmcli general status     # 检查 NetworkManager 运行状态

(2)配置静态 IP

nmcli con add type ethernet con-name "my-eth" ifname eth0 ipv4.method manual ipv4.addr "192.168.1.100/24" ipv4.gateway "192.168.1.1" ipv4.dns "8.8.8.8"
nmcli con up "my-eth"    # 激活连接

(3)配置 DHCP

nmcli con add type ethernet con-name "dhcp-eth" ifname eth0 ipv4.method auto
nmcli con up "dhcp-eth"

(4)管理 Wi-Fi

nmcli device wifi list                  # 扫描可用 Wi-Fi
nmcli device wifi connect "SSID" password "PASSWORD"  # 连接 Wi-Fi
nmcli connection delete "SSID"          # 删除 Wi-Fi 配置

(5)临时修改配置

nmcli connection modify "my-eth" ipv4.addr "192.168.1.200/24"  # 修改 IP
nmcli connection up "my-eth"            # 立即生效

4. 高级配置

(1)禁用 NetworkManager 管理特定设备

/etc/NetworkManager/conf.d/unmanaged.conf 中添加:

[keyfile]
unmanaged-devices=interface-name:eth1

然后重启服务:

systemctl restart NetworkManager

(2)日志调试

/etc/NetworkManager/conf.d/logging.conf 中设置:

[logging]
level=DEBUG
domains=ALL

查看日志:

journalctl -u NetworkManager

(3)插件管理

默认使用 keyfile 插件,但可切换为 ifcfg-rh(RHEL 风格):

[main]
plugins=ifcfg-rh,keyfile

5. 与传统网络管理的区别

工具适用场景特点
NetworkManager动态网络(Wi-Fi、VPN、移动热点)自动化管理,支持 GUI/CLI
systemd-networkd服务器/嵌入式设备轻量级,适合静态 IP 配置
ifupdown(networking)旧版 Linux(如 Debian 9 之前)手动配置 /etc/network/interfaces

6. 常见问题

(1)/etc/resolv.conf 被覆盖

  • 解决方法
    • 使用 nmcli 修改 DNS:
      nmcli con mod "my-eth" ipv4.dns "8.8.8.8"
      nmcli con up "my-eth"
      
    • 或禁用 NetworkManager 的 DNS 管理:
      [main]
      dns=none
      

(2)NetworkManager 与 network.service 冲突

  • 在 RHEL/CentOS 8+ 中,network.service 已废弃,仅支持 NetworkManager。

总结

NetworkManager 是 Linux 上最强大的网络管理工具之一,适用于桌面和服务器环境,支持动态网络切换、VPN、DNS 管理等。通过 nmclinmtui 或 GUI 工具,用户可以灵活配置网络,而高级用户可通过配置文件进一步定制行为。

相关文章:

  • linux路由
  • 2025-05-05-80x86汇编语言环境配置
  • 【职场算法】如何在合群与独立间找到最优解?
  • [接口-ihrm]
  • 图像特征检测算法SIFT
  • P2066 机器分配
  • 华为OD机试-MELON的难题-DFS(JAVA 2025A卷)
  • IntersectionObserver API应用场景示例代码详解
  • Netty PoolChunk依赖的自定义数据结构:IntPriorityQueue和LongLongHashMap
  • 计算机网络:(五)信道复用技术,数字传输系统,宽带接入技术
  • C++中所有数据类型
  • CppCon 2017 学习:folly::Function A Non-copyable Alternative to std::function
  • 目标检测之YOLOV11自定义数据使用OBB训练与验证
  • Apache ECharts-01.介绍
  • Arduino Nano 33 BLE Sense Rev 2开发板使用指南之【外设开发】
  • 响应式数据框架性能深度分析报告(@type-dom/signals)
  • EchoEar(喵伴):乐鑫发布与火山引擎扣子联名 AI 智能体开发板
  • 20250619在Ubuntu20.04.6下编译Rockchip瑞芯微原厂的RK3576的Buildroot系统
  • SSH服务与rsync服务配置实战
  • 内网运行控制四百来个海康威视硬件物联网定员管控软件(华为平板电脑版)
  • 肥城网站建设公司/广告软文范例200字
  • 湖南的商城网站建设/宁波seo网络推广咨询价格
  • 德兴网站建设公司/网络推广方法怎么做
  • 织梦做仿站时 为何会发生本地地址跳转网站地址/北京网站seo服务
  • 网站建设广州市/网推获客平台
  • 兰州网站建设科技公司/超级外链在线发布