接之前写的一篇文章Linux网络管理服务简介分享过主流Linux版本使用的网络管理服务介绍,本文重点分享其中的NetworkManager。
NetworkManager是什么?
NetworkManager是 Linux 系统中用于管理网络配置的核心服务,提供命令行、图形界面、文本交互界面等多种配置工具,满足不同场景(服务器、桌面、远程管理)的配置需求。
哪些Linux版本安装了NetworkManager?
采用Systemd初始化系统服务的主流发行版本Ubuntu 16.04+、CentOS 7+、Debian 9+以及Gentoo、arch Linux、SuSe Linux均默认安装有NetworkManager服务。
哪些工具可以配置NetworkManager?
1.命令行工具:nmcli(NetworkManager Command Line Interface)是服务器和无桌面环境首选。配置功能最全面,支持所有NetworkManager 服务的配置操作,适合脚本自动化和远程管理。
使用方法示例
查看网卡设备状态:nmcli device status
查看网卡连接配置:nmcli connection show
配置网卡静态IP :nmcli connection add type ethernet con-name eth0 ifname eth0. ipv4.addresses 10.10.10.1/24 ipv4.gateway 10.10.10.254 ipv4.dns 8.8.8.8 ipv4.method manual
配置网卡自动获取IP:nmcli connection add type ethernet con-name eth0 ifname eth0 ipv4.method auto
2.文本交互界面nmtui(NetworkManager Text User Interface),基于 curses 的交互式文本界面,操作直观,适合不熟悉纯命令行语法的用户。
使用方法示例
直接在终端输入nmtui命令即可进入交互界面,随后通过菜单导航即可进行网络连接创建、修改、激活等操作,无需记忆复杂命令参数,在服务器端无图形界面时非常实用。
GNOME桌面环境
在GNOME 桌面环境,通过右上角系统托盘的网络图标进入,或在设置中找到网络选项;可视化配置有线、无线、VPN、桥接等连接;支持 IP 地址、DNS、代理等参数的图形化设置。
KDE桌面环境
KDE Plasma 桌面环境,通过系统托盘的网络图标,或通过系统设置中的网络连接进入。
NetworkManager的配置文件主要有两种方式,一种是现代主流的配置文件在/etc/NetworkManager/system-connections/,每个连接对应一个.nmconnection文件,采用INI 格式,包含[connection]、[ipv4]、[ipv6]等段落,可直接用文本编辑器(如 vim、nano)编辑修改;另外一种是出于过渡版本的方式或者叫兼容传统network方式,文件在/etc/sysconfig/network-scripts/目录下,配置文件仍然是传统ifcfg-eth0格式,这种方式主要是RHEL7、Centos7。
Nmconnection配置文件格式示例:
[connection]
id=eth0
type=ethernet
interface-name=eth0
[ipv4]
method=manual
addresses=10.10.10.1/24
gateway=10.10.10.254
dns=8.8.8.8
ifcfg-eth0传统配置文件格式示例:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
NAME="eth0"
DEVICE="eth0"
ONBOOT="yes"
IPADDR="10.10.10.1"
PREFIX="24"
GATEWAY="10.10.10.254"
请注意:修改后需重启 NetworkManager 服务生效:systemctl restart NetworkManager
另外,NetworkManager本身的服务配置文件/etc/NetworkManager/NetworkManager.conf,用于配置 NetworkManager 全局行为(如是否管理所有网络接口、DNS 处理方式等);全局级别的配置,如设置dns=none可禁用 NetworkManager 管理 DNS,改用/etc/resolv.conf手动配置。
nm-connection-editor,独立的图形界面连接编辑器,可在 GNOME/KDE 桌面中直接启动,提供比系统设置更详细的高级配置选项(如 MAC 地址克隆、MTU 设置、VPN 高级参数)。
使用示例
在终端输入nm-connection-editor即可启动编辑器。
6.总结
服务器生产环境或者需要自动化脚本配置的场景,建议使用nmcli命令行方式;
服务器生产环境也可以使用nmtui文本交互方式,但效率偏低。
桌面环境配置GNOME/KDE使用简单。
需要手动编辑配置文件方式,主要是在需要灵活配置或者一些其他特殊场景。