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 - 网络管理

相关推荐
通信小小昕6 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
CedarQR9 小时前
万字长文:从零在 RK3588 上部署 PaddleSpeech 中文 TTS 全流程(FastSpeech2 + HiFiGAN)
开发语言·c++·嵌入式硬件·ubuntu·json
雷工笔记11 小时前
Ubuntu迁移记录
笔记·ubuntu
一叶龙洲13 小时前
ubuntu26.04 xfce美化成mac
服务器·ubuntu·macos
一叶龙洲1 天前
wslg打开Ubuntu24.04默认打开图形界面
linux·服务器·数据库·ubuntu
敖行客 Allthinker1 天前
Parallels Ubuntu虚拟机项目如何让手机访问?完整解决方案
linux·运维·ubuntu
keyipatience1 天前
线程栈与TLS和线程互斥
java·linux·服务器·开发语言·ubuntu
观山岳五楼1 天前
Ubuntu 24 怎么使用Ubuntu 20 的镜像源
linux·运维·ubuntu
辰痕~1 天前
物理机装Linux操作系统(Ubuntu为例)
linux·ubuntu
Byron Loong2 天前
【Git】如何检查 Ubuntu 系统上 gitLab 是否开启
git·ubuntu·gitlab