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

相关推荐
bing_feilong4 小时前
Windows上SSH连接Ubuntu失败
windows·ubuntu·ssh
爬呀爬的水滴4 小时前
解决Ubuntu24.04版本,右键没有共享选项的问题
linux·服务器·ubuntu·samba·共享文件夹
Clownseven7 小时前
Ubuntu 24.04 LTS 长期支持版发布:对服务器用户意味着什么?新特性、升级建议与性能影响初探
linux·服务器·ubuntu
Smile_Gently8 小时前
基于服务器使用 apt 安装、配置 Nginx
nginx·ubuntu·debian
无脑学c++11 小时前
Ubuntu下挂载NTFS格式磁盘
linux·运维·ubuntu
蟑螂恶霸11 小时前
github.com 链接127.0.0.1
linux·运维·ubuntu
字节高级特工15 小时前
【Linux篇】细品环境变量与地址空间
linux·运维·服务器·c语言·c++·ubuntu·centos
段帅龙呀18 小时前
Ubuntu系统复制(U盘-电脑硬盘)
linux·ubuntu
{⌐■_■}19 小时前
【ubuntu】虚拟机安装配置,sh脚本自动化,包含 apt+时间同步+docker+mysql+redis+pgsql
ubuntu·docker·自动化
bubiyoushang8881 天前
Windows11 WSL2 Ubuntu编译安装perf工具
linux·运维·ubuntu