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

【Linux基础知识系列:第一百五十三篇】现代网络管理:NetworkManager与nmcli

在现代的Linux发行版中,网络管理是一个不可或缺的功能。无论是家庭用户、企业用户还是移动设备用户,都需要一个强大且易于使用的网络管理工具来配置和管理网络连接。NetworkManager是一个广泛使用的网络管理工具,它提供了图形界面和命令行界面(nmcli),使得用户可以轻松地创建、管理和切换网络连接,包括Wi-Fi和有线网络。通过使用NetworkManager和nmcli,你可以快速配置网络连接,自动连接到可用的网络,并在不同的网络之间进行切换。本文将详细介绍NetworkManager的基本概念、nmcli的使用方法以及一些实用的操作技巧,帮助你在Linux系统中高效地管理网络连接。

核心概念

NetworkManager

NetworkManager是一个网络管理工具,用于配置和管理网络连接。它支持多种网络类型,包括有线网络、Wi-Fi网络、移动宽带等。NetworkManager的主要功能包括:

  • 自动连接:自动连接到可用的网络。

  • 网络配置:配置网络连接的参数,如IP地址、DNS服务器等。

  • 网络切换:在不同的网络之间进行切换。

  • 网络监控:监控网络状态,提供网络连接信息。

nmcli

nmcli是NetworkManager的命令行界面,用于在命令行中管理网络连接。nmcli提供了丰富的命令和选项,使得用户可以轻松地创建、管理和切换网络连接。nmcli的主要功能包括:

  • 创建网络连接:创建新的网络连接。

  • 修改网络连接:修改现有网络连接的参数。

  • 删除网络连接:删除不再需要的网络连接。

  • 切换网络连接:在不同的网络连接之间进行切换。

  • 显示网络状态:显示当前的网络状态和连接信息。

网络连接(Network Connection)

网络连接是NetworkManager管理的基本单位,它包含了网络连接的所有参数,如网络类型、IP地址、DNS服务器等。NetworkManager支持多种类型的网络连接,包括有线网络、Wi-Fi网络、移动宽带等。

网络设备(Network Device)

网络设备是系统中的物理或虚拟网络接口,如以太网卡、Wi-Fi卡等。NetworkManager通过管理网络设备来实现网络连接。

命令与示例

安装NetworkManager

在大多数现代Linux发行版中,NetworkManager已经预装。如果没有安装,可以通过以下命令安装:

基于Debian的系统
sudo apt-get update
sudo apt-get install network-manager
基于RPM的系统
sudo yum install NetworkManager

启动和停止NetworkManager

启动NetworkManager服务:

sudo systemctl start NetworkManager

停止NetworkManager服务:

sudo systemctl stop NetworkManager

启用NetworkManager服务,使其在系统启动时自动启动:

sudo systemctl enable NetworkManager

禁用NetworkManager服务,使其在系统启动时不自动启动:

sudo systemctl disable NetworkManager

查看网络状态

查看当前的网络状态和连接信息:

nmcli general

查看所有网络设备的状态:

nmcli device status

创建有线网络连接

创建一个新的有线网络连接,命名为my-ethernet,并自动连接:

nmcli connection add type ethernet con-name my-ethernet ifname eth0 ip4 192.168.1.100/24 gw4 192.168.1.1
  • type ethernet:指定网络类型为有线网络。

  • con-name my-ethernet:指定连接名称为my-ethernet

  • ifname eth0:指定网络接口名称为eth0

  • ip4 192.168.1.100/24:指定IP地址为192.168.1.100,子网掩码为24

  • gw4 192.168.1.1:指定默认网关为192.168.1.1

创建Wi-Fi网络连接

创建一个新的Wi-Fi网络连接,命名为my-wifi,并自动连接:

nmcli connection add type wifi con-name my-wifi ifname wlan0 ssid my_wifi_network
  • type wifi:指定网络类型为Wi-Fi网络。

  • con-name my-wifi:指定连接名称为my-wifi

  • ifname wlan0:指定网络接口名称为wlan0

  • ssid my_wifi_network:指定Wi-Fi网络的SSID为my_wifi_network

如果需要连接到受保护的Wi-Fi网络,可以使用以下命令:

nmcli connection add type wifi con-name my-wifi ifname wlan0 ssid my_wifi_network wifi-sec.key-mgmt wpa-psk wifi-sec.psk my_wifi_password
  • wifi-sec.key-mgmt wpa-psk:指定安全类型为WPA-PSK。

  • wifi-sec.psk my_wifi_password:指定Wi-Fi网络的密码为my_wifi_password

修改网络连接

修改现有网络连接的参数。例如,修改my-ethernet连接的IP地址为192.168.1.101

nmcli connection modify my-ethernet ipv4.addresses 192.168.1.101/24

删除网络连接

删除不再需要的网络连接。例如,删除my-ethernet连接:

nmcli connection delete my-ethernet

切换网络连接

切换到另一个网络连接。例如,切换到my-wifi连接:

nmcli connection up my-wifi

显示网络连接信息

显示所有网络连接的详细信息:

nmcli connection show

显示特定网络连接的详细信息。例如,显示my-ethernet连接的详细信息:

nmcli connection show my-ethernet

启用和禁用网络连接

启用网络连接。例如,启用my-ethernet连接:

nmcli connection up my-ethernet

禁用网络连接。例如,禁用my-ethernet连接:

nmcli connection down my-ethernet

常见问题

如何查看NetworkManager的日志?

可以使用以下命令查看NetworkManager的日志:

journalctl -u NetworkManager

如何重启NetworkManager服务?

可以使用以下命令重启NetworkManager服务:

sudo systemctl restart NetworkManager

如何查看网络设备的详细信息?

可以使用以下命令查看网络设备的详细信息

nmcli device show

如何查看特定网络设备的详细信息?

可以使用以下命令查看特定网络设备的详细信息。例如,查看eth0设备的详细信息:

nmcli device show eth0

如何查看网络连接的详细信息?

可以使用以下命令查看网络连接的详细信息。例如,查看my-ethernet连接的详细信息

nmcli connection show my-ethernet

如何修改网络连接的DNS服务器?

可以使用以下命令修改网络连接的DNS服务器。例如,修改my-ethernet连接的DNS服务器为8.8.8.88.8.4.4

nmcli connection modify my-ethernet ipv4.dns "8.8.8.8 8.8.4.4"

如何保存网络连接的修改?

修改网络连接的参数后,需要保存修改并重新加载配置。可以使用以下命令保存修改并重新加载配置:

nmcli connection up my-ethernet

如何删除所有网络连接?

可以使用以下命令删除所有网络连接:

nmcli connection delete all

实践建议

使用图形界面配置网络连接

虽然nmcli是一个强大的命令行工具,但NetworkManager也提供了图形界面,使得配置网络连接更加直观。你可以通过系统设置中的网络管理工具来配置网络连接。

自动连接到网络

为了方便使用,建议将常用的网络连接设置为自动连接。可以使用以下命令将my-ethernet连接设置为自动连接:

nmcli connection modify my-ethernet connection.autoconnect yes

使用DHCP自动获取IP地址

在大多数情况下,建议使用DHCP自动获取IP地址,而不是手动配置IP地址。可以使用以下命令将my-ethernet连接设置为使用DHCP自动获取IP地址:

nmcli connection modify my-ethernet ipv4.method auto

配置多个DNS服务器

为了提高网络的可靠性和性能,建议配置多个DNS服务器。可以使用以下命令将my-ethernet连接的DNS服务器设置为8.8.8.88.8.4.4

nmcli connection modify my-ethernet ipv4.dns "8.8.8.8 8.8.4.4"

使用nmcli脚本自动化网络配置

如果你需要在多个系统上配置相同的网络连接,可以使用nmcli脚本自动化网络配置。例如,创建一个名为setup-network.sh的脚本:

#!/bin/bash# 创建有线网络连接
nmcli connection add type ethernet con-name my-ethernet ifname eth0 ip4 192.168.1.100/24 gw4 192.168.1.1# 创建Wi-Fi网络连接
nmcli connection add type wifi con-name my-wifi ifname wlan0 ssid my_wifi_network wifi-sec.key-mgmt wpa-psk wifi-sec.psk my_wifi_password# 启用自动连接
nmcli connection modify my-ethernet connection.autoconnect yes
nmcli connection modify my-wifi connection.autoconnect yes# 设置DNS服务器
nmcli connection modify my-ethernet ipv4.dns "8.8.8.8 8.8.4.4"
nmcli connection modify my-wifi ipv4.dns "8.8.8.8 8.8.4.4"

运行脚本:

sudo ./setup-network.sh

定期检查网络配置

定期检查网络配置,确保网络连接正常。可以使用以下命令查看网络状态和连接信息:

nmcli general
nmcli device status
nmcli connection show

总结

通过本文的介绍,你已经掌握了NetworkManager的基本概念、nmcli的使用方法以及一些实用的操作技巧。NetworkManager是一个功能强大的网络管理工具,通过其命令行界面nmcli,你可以轻松地创建、管理和切换网络连接,包括有线网络和Wi-Fi网络。在实际应用中,建议使用图形界面配置网络连接、自动连接到网络、使用DHCP自动获取IP地址、配置多个DNS服务器、使用nmcli脚本自动化网络配置,并定期检查网络配置。这些实践建议将帮助你更好地管理网络连接,提升网络管理的效率和可靠性。总之,NetworkManager和nmcli是每个Linux用户都应该掌握的重要工具之一,它们极大地简化了网络管理的流程,提高了工作效率。

http://www.dtcms.com/a/519983.html

相关文章:

  • D028 vue+django知识图谱可视化系统|AI 相关
  • 秒杀系统设计:打造高并发、高可用架构的实战指南
  • 当无符号与有符号整数相遇:C++中的隐式类型转换陷阱
  • Maya Python入门:创建球体polySphere、创建工具架、编辑工具架、查看命令的长名称
  • 邯郸市做网站的公司广州手机网站建设报价
  • 数据结构3:复杂度
  • 记录一下c中数据元素 值传递和地址传递
  • springboot高校网上订餐平台的设计与实现(代码+数据库+LW)
  • Datawhale人工智能的数学基础 202510第4次作业
  • 公司网站建立费用太原seo团队
  • 做视频网站的备案要求平面设计兼职接单
  • HarmonyOS分布式Kit:解锁跨设备协同开发的无限可能
  • 南京制作网站优化绵阳专业网站建设
  • perplexity的comet AI浏览器无法下载,一直是等待网络连接
  • 【Day 82】虚拟化-虚拟网络
  • 哈尔滨口碑好的建站公司佛山招收网站设计
  • 【Linux基础知识系列:第一百五十一篇】启动加载器GRUB配置
  • 2025 前端框架决战:Vue 与 React 分析优缺点及使用场景!
  • 频繁读写文件,page cache不及时释放的后果
  • 网站不同网站建设归工商局管还是工信局管
  • Java 虚拟线程(Virtual Threads)正式落地!Spring Boot 如何拥抱 Project Loom?
  • 石家庄网站开发工程师招聘网优秀包装设计案例
  • iOS 混淆工具链实战 多工具组合完成 IPA 混淆与加固 无源码混淆
  • win10桌面windows bing图标如何删除
  • Gin笔记一之项目建立与运行
  • JSON 核心知识点
  • precompilation-headers 以及在cmake中的实现
  • php做的网站用什么后台ui设计是怎么实现的
  • 怎么建设宣传网站网页制作公司兼职
  • llama.cpp批处理选择不同模型启动