ubuntu 网络管理--NetworkManager

ubuntu 网络管理--NetworkManager

1 介绍

NetworkManager 是标准的 Linux 网络配置工具套件。它支持从桌面到服务器、移动设备等多种网络设置,并且与流行的桌面环境和服务器配置管理工具集成得很好。

Ubuntu 18.04开始,Ubuntu和Debian移除了以前的ifup/ifdown命令和/etc/network/interfaces配置文件,转而使用ip link set或者/etc/netplan/01-netcfg.yaml模板和sudo netplan apply命令实现网络管理。

ip link set为iproute2工具集命令,多用于临时配置,取代ifup和ifdown。

如果安装的是服务器版本,则默认使用networkd进行管理,并且不会安装NetworkManager和提供nmcli接口。

如果安装的是桌面版本,则默认使用NetworkManager进行管理。

2 NetworkManager 命令

  • 查看是否安装了NetworkManager
shell 复制代码
sen@ubuntu:~$ systemctl --type=service | grep Net
  NetworkManager-wait-online.service                       
  NetworkManager.service                                   
  systemd-resolved.service                                 
  systemd-timesyncd.service                               
sen@ubuntu:~$
  • 命令
shell 复制代码
systemctl status NetworkManager 查看NetworkManager状态
systemctl start NetworkManager 开启Net
systemctl restart NetworkManager 重新启动Net(PID值会发生变化)
systemctl reload NetworkManager 重新启动Net(PID值不会发生变化)
systemctl is-enabled NetworkManager 查看Net是否开机自启动
systemctl enable NetworkManager 设置Net开机自启动

2 nmcli 命令

NetworkManager 提供了两个非常好用的工具,nmcli(Network Manager Command line)和nmtui( Network Manager Text User Interface),从英文全称也可以看出来,前者是基于命令行,后者是基于光标的文本用户界面。

显示可用的wifi AP

复制代码
sen@ubuntu:~$ nmcli device wifi list
IN-USE  BSSID              SSID          MODE   CHAN  RATE        SIGNAL  BARS  SECURITY
*       10:C3:AB:9D:B0:73  Robot  Infra  149   260 Mbit/s  37      **    WPA1 WPA2
        10:C3:AB:9D:8E:73  Robot  Infra  165   260 Mbit/s  37      **    WPA1 WPA2
        10:C3:AB:9D:8F:93  Robot  Infra  157   260 Mbit/s  14      *     WPA1 WPA2
sen@ubuntu:~$

连接wifi

shell 复制代码
// 方法一
sudo nmcli device wifi connect "$SSID" password "$PASSWORD"

eg:
sudo nmcli device wifi connect "worth" password "1234567890"

// 方法二
sudo nmcli --ask device wifi connect "$SSID"
然后输入密码

检查网络连接 ?? 如何删除

shell 复制代码
sen@ubuntu:~$ nmcli con show
NAME                UUID                                  TYPE      DEVICE
docker0             b1c2dfd3-9e0c-44bf-8231-7700afd6b4ce  bridge    docker0
senLab-Robot        a6ce0039-85db-455c-b015-1c1f0565bf68  wifi      --
Wired connection 1  626af501-19ef-3bf7-b6ba-caecd7046979  ethernet  --
Wired connection 2  78640d99-496e-3e82-a4e3-6e8dc3dcc0cd  ethernet  --
sen                 dffecc96-c6cf-4973-ab5f-9253830d19ee  wifi      --
sen@ubuntu:~$

删除网络连接

shell 复制代码
sudo nmcli con del "$UUID"

查看设备状态

shell 复制代码
sen@ubuntu:~$ nmcli device status
DEVICE         TYPE      STATE         CONNECTION
wlan0          wifi      connected     sen
docker0        bridge    connected     docker0
p2p-dev-wlan0  wifi-p2p  disconnected  --
eth0           ethernet  unavailable   --
eth1           ethernet  unavailable   --
can0           can       unmanaged     --
can1           can       unmanaged     --
dummy0         dummy     unmanaged     --
lo             loopback  unmanaged     --
sen@ubuntu:~$

添加一个新的以太网连接

使用 nmcli 来添加一个新的以太网连接。确保你有一个空闲的网络接口,通常是 eth0、eth1 等。

shell 复制代码
sudo nmcli con add con-name bot-eth0 type ethernet ifname eth0

设置静态 IP 地址

为这个新连接分配一个静态 IP 地址、子网掩码、默认网关以及 DNS 服务器:

shell 复制代码
// eth0
sudo nmcli c m bot-eth0 ipv4.addresses "192.168.1.7/24"
sudo nmcli c m bot-eth0 ipv4.gateway "192.168.1.1"
sudo nmcli c m bot-eth0 ipv4.dns "8.8.8.8, 8.8.4.4"
sudo nmcli c m bot-eth0 ipv4.method 'manual'

启用并测试连接

shell 复制代码
sudo nmcli c up bot-eth0
ping 192.168.1.7

添加新的wifi连接

shell 复制代码
nmcli device wifi connect "TP-LINK" password "<PASSWORD>" ifname wlan0

3 其他命令

shell 复制代码
sen@ubuntu:~$ ip link show eth0
5: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 \
qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
    link/ether b2:a2:7b:2b:8d:d7 brd ff:ff:ff:ff:ff:ff
    altname enP4p65s0
sen@ubuntu:~$ ip link show eth1
6: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 \
qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
    link/ether de:89:41:6c:a9:c1 brd ff:ff:ff:ff:ff:ff
    altname enP2p33s0
sen@ubuntu:~$

参考

1、wiki--NetworkManager

2、networkmanager.dev

3、archlinux--NetworkManager

4、掌握 nmcli 命令,轻松管理网络连接

5、Netplan介绍

6、Linux 系统中如何使用 nmcli 配置网络连接 ?

7、Linux - 网络管理

相关推荐
玖剹8 小时前
Linux文件系统:从内核到缓冲区的奥秘
linux·c语言·c++·笔记·ubuntu
跑不了的你9 小时前
Ubuntu 开启wifi 5G 热点
服务器·5g·ubuntu
~狂想家~21 小时前
Ubuntu20.04安装和配置Samba实现Win11下共享文件夹
linux·ubuntu·samba
ansondroider21 小时前
Ubuntu 抽取系统制作便于chroot的镜像文件
linux·ubuntu·chroot
努力一点9481 天前
ubuntu22.04系统入门 linux入门 简单命令基础复习 实现以及实践
linux·运维·服务器·ubuntu·gpu算力
笑稀了的野生俊1 天前
Ubuntu 下配置 NVIDIA 驱动与 CUDA 环境(适配 RTX 4060Ti)
linux·ubuntu·cuda·nvidia driver
没有余地 EliasJie1 天前
Ubuntu/Debian 搭建 Nginx RTMP 服务器全攻略
服务器·ubuntu·debian
三雷科技1 天前
window中qemu使用(安装ubuntu系统)
linux·运维·ubuntu
一匹电信狗1 天前
【Linux我做主】进程优先级
linux·运维·服务器·c++·ubuntu·小程序·unix
leafpipi2 天前
【机器学习】pycharm使用SSH SFTP 远程连接 ubuntu服务器 进行开发+调试+数据训练
服务器·学习·算法·ubuntu·pycharm·ssh