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

相关推荐
想唱rap5 分钟前
MYSQL在ubuntu下的安装
linux·数据库·mysql·ubuntu
zhyf1191 小时前
零刻AI Max395(Ubuntu 24.04)AMD 显卡监控工具(amdgpu_top)部署手册
linux·运维·ubuntu
敬往事一杯酒哈3 小时前
Ubuntu 20.04 安装Anacada
linux·运维·ubuntu
oMcLin3 小时前
如何在Ubuntu 22.04 LTS上优化PostgreSQL 14集群,提升大数据查询的响应速度与稳定性?
大数据·ubuntu·postgresql
陈让然3 小时前
VS Code新版本无法连接WSL ubuntu18.04
linux·运维·ubuntu
知识分享小能手3 小时前
Ubuntu入门学习教程,从入门到精通,Ubuntu 22.04中的人工智能—— 知识点详解 (25)
人工智能·学习·ubuntu
oMcLin3 小时前
如何在Ubuntu 22.10上通过配置K3s轻量级Kubernetes集群,提升边缘计算环境的资源管理能力?
ubuntu·kubernetes·边缘计算
Bin Watson4 小时前
Ubuntu安装Docker记录(基于阿里云)
ubuntu·阿里云·docker
洛克大航海4 小时前
Python 在系统 Windows 和 Ubuntu 中创建虚拟环境
windows·python·ubuntu·虚拟环境
__雨夜星辰__4 小时前
VScode免密远程连接到Ubuntu(VMware17环境)虚拟机
ide·vscode·ubuntu