NetworkManager能够自动检测并管理系统中可用的网络连接,包括有线网络、无线网络(Wi-Fi)、蓝牙网络等。除了自动连接管理外,NetworkManager还支持多种网络类型的配置,如以太网、Wi-Fi、VPN等。用户可以通过图形化界面或命令行工具轻松配置各种网络参数,如IP地址、子网掩码、DNS服务器等。这种灵活性使得NetworkManager能够适应各种复杂的网络环境,满足用户的不同需求。
、d_bus_API)提供管理。
nmtui:NetworkManager基于文本界面的图形界面(TUI)、通过键盘操作,无需鼠标。
GUI(control-center,nm-connection-editor):GNOME Shell 提供的图形用户界面工具,可供桌面用户使用。它整合了网络设置工具。
d_bus_API:方便应用程序进行二次开发管理。
- NetworkManager daemon, 管理连接和监听并报告网络变化
- 用户界面管理工具, (GUI、nmtui、nmcli、d_bus_API)
NetworkManager daemon 依赖于 D-Bus, 实现了管理连接的接口,底层使用 netlink 跟 linux 内核交互,获得设备信息,配置连接(比如修改 ipv4 的地址等)。nmcli 跟 D-Bus 交互连接 NetworkManager daemon,获得信息以及配置网络。
D-Bus (“ Desktop Bus ”的缩写)是一种面向消息的中间件机制,允许在同一台机器上并发运行的多个进程之间进行通信。D-Bus 是作为freedesktop.org项目的一部分而开发的,该项目由GNOME开发人员Havoc Pennington发起,旨在标准化Linux 桌面环境(例如GNOME和KDE)提供的服务。
freedesktop.org 项目还开发了一个名为 libdbus 的免费开源软件库,作为该规范的参考实现。该库不应与 D-Bus 本身混淆,因为 D-Bus 规范的其他实现也存在,例如 GDBus (GNOME)、QtDBus ( Qt /KDE)、dbus-java 和 sd-bus (systemd的一部分)。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 接口相关配置
/etc/sysconfig/network-scripts/
- VPN、移动宽带和PPPoE连接的信息
/etc/NetworkManager/system-connections/
- NetworkManager服务本身配置文件
/etc/NetworkManager/NetworkManager.conf
NetworkManager.conf的自定义配置,可以在/etc/NetworkManager/conf.d文件夹内新增或修改自定义配置文件。
当手动配置/etc/sysconfig/network-scripts/目录下的ifcfg开头的文件时,无论是添加配置还是修改配置,NetworkManager都不会自动识别修改后的配置,需要使用如下命令使NetworkManager识别,任选其一即可:
nmcli connection reload #全局生效
nmcli con load /etc/sysconfig/network-scripts/ifcfg-[ifname] 针对指定接口生效
通过nmcli配置IP、路由等配置后无需进行重载,up一下网络接口即可使生效,命令如下:
nmcli connection up [eth0 filename help id path uuid] #[]内的任选其一即可
nmcli con show
nmcli con add con-name [cust-name] ifname [interface-name] ipv4.addresses [xxx.xxx.xxx.xxx/xx] ipv4.gateway [xxx.xxx.xxx.xxx] autoconnect yes
nmcli con modify con-name [con-name] ifname [interface-name] ipv4.addresses [xxx.xxx.xxx.xxx/xx] ipv4.gateway [xxx.xxx.xxx.xxx] autoconnect yes
nmcli con add type bond ifname [bond--name] mode [active-backup]
nmcli con add type ethernet ifname [interface-name] master mybond0
nmcli con add type ethernet ifname [interface-name] master mybond0
nmcli connection modify ifname +ipv4.routes [dest/netmask] gateway
nmcli connection modify ifname +ipv4.routes [dest/netmask] gateway
原文始发于微信公众号(EBCloud):Linux NetworkManager:网络连接的瑞士军刀
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论