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 小时前
Ubuntu 上安装 Conda
linux·ubuntu·conda
foo1st13 小时前
Tomcat Web应用(Ubuntu 18.04.6 LTS)部署笔记
ubuntu·tomcat
cosX+sinY16 小时前
ubuntu 20.04 编译运行lio-sam,并保存为pcd
linux·ubuntu·机器人
FREEDOM_X18 小时前
ubuntu20.04 远程桌面Xrdp方式
ubuntu·vmware
꧁坚持很酷꧂18 小时前
配置Ubuntu18.04中的Qt Creator为中文(图文详解)
开发语言·qt·ubuntu
Sapphire~19 小时前
Linux-06 ubuntu 系统截图软件使用简单记录
linux·运维·ubuntu
biter008819 小时前
ubuntu(28):ubuntu系统多版本conda和多版本cuda共存
linux·人工智能·ubuntu·conda
Hello.Reader21 小时前
在 Ubuntu 环境为 Elasticsearch 引入 `icu_tokenizer
ubuntu·elasticsearch·jenkins
foo1st1 天前
JDK(Ubuntu 18.04.6 LTS)安装笔记
java·笔记·ubuntu
maotou5262 天前
Ubuntu22学习记录
linux·ubuntu