首页 > 编程知识 正文

nmcli配置网络,nmcli配置网卡

时间:2023-05-05 03:17:43 阅读:285826 作者:3767

nmcli — 用于控制 NetworkManager 的命令行工具

概要

nmcli [选项…]{ | | | | | | | } [命令] [参数…]helpgeneralnetworkingradioconnectiondeviceagentmonitor

描述

nmcli是一个命令行工具,用于控制 NetworkManager 和报告网络状态。它可以用作nm 小程序或其他图形客户端的替代品。 nmcli用于创建、显示、编辑、删除、激活和停用网络连接,以及控制和显示网络设备状态。

nmcli使用方法,最常用的2个
1、nmcli connection
连接,可理解为配置文件,相当于ifcfg-ethX。可以简写为nmcli c
2、nmcli device
这里注意一点:ethernet是设备类型,eth0是设备名称。不要混了,设备类型可以是ethernet代表以太网,还可以是loopback代表环回口等等。

设备,可理解为实际存在的网卡(包括物理网卡和虚拟网卡)。可以简写为nmcli d

在NM里,有2个层级:连接(connection)和设备(device),连接的配置记录在(对于ubuntu为/etc/NetworkManager/system-connections/内),通常NM的管理是以连接为单位的,在连接的配置文件里指明设备名,所以我们在NM的所有配置目录里找不到针对设备的配置文件,只有针对连接的配置文件,就像你的手机wifi可以记住多个无线连接一样,多个连接可以使用同一个设备,但同一时刻,一个设备只能有一个连接活跃。意思就是你的手机wifi在一个时刻只能连接一个wifi。可以通过 nmcli connetion up<连接> 来切换连接。

对于一个device有4种常见状态:
connected:已被NM托管,并且当前有活跃的connection
disconnected:已被NM托管,但是当前没有活跃的connection
unmanaged:未被NM托管,就是不让NM动这个设备相关的任何操作
unavailable:不可用,NM无法托管,通常出现于网卡link为down的时候(比如ip link set ethX down)

对于任意设备上的任一connection通常有2种状态:
活跃(带颜色字体):表示当前该connection是正在使用的。
非活跃(正常字体):表示当前该connection没有连接。

nmcli常用命令

1、 查看ip(类似于ifconfig、ip addr)

nmcli

2、查看connection列表

nmcli connection show


第一列是connection名字,简称con-name(注意con-name不是网卡名)
第二列是connection的UUID
最后一列才是网卡名(标准说法叫device名)

3、设置IP地址获取方式是手动或者DHCP

#手动设置IPv4地址,如果原本是DHCP获取地址,改手动后,如果后面不接IP地址,可能会报错sudo nmcli connection modify ware-net1 ipv4.method manual ipv4.addresses 172.16.81.145/16#设置IP地址为DHCPsudo nmcli connection modify ware-net1 ipv4.method auto实际修改的是网卡配置文件BOOTPROTO,BOOTPROTO=none 表示手动;BOOTPROTO=dhcp 表示dhcp

4、修改IP地址
sudo nmcli connection modify ware-net1 ipv4.addresses 172.16.81.145/16
实际修改的是网卡配置文件
IPADDR=172.16.81.145
PREFIX=16

5、修改网关
sudo nmcli connection modify ware-net1 ipv4.gateway 172.16.81.254
实际修改的是网卡配置文件
GATEWAY=172.16.81.254

6、添加第二个IP
nmcli connection modify ware-net1 +ipv4.addresses 172.16.81.145/16
实际修改的是网卡配置文件
IPADDR1=172.16.81.145
PREFIX1=16

7、添加DNS
sudo nmcli connection modify ware-net1 ipv4.dns 114.114.114.114
实际修改的是网卡配置文件
DNS1=114.114.114.114

8、添加第二个DNS
sudo nmcli connection modify ware-net1 +ipv4.dns 211.137.160.5
实际修改的是网卡配置文件
DNS2=211.137.160.5

9、删除第二个DNS
nmcli connection modify ware-net1 -ipv4.dns 211.137.160.5

10、添加网卡
nmcli connection modify add type ethernet ifname ens8 con-name ens8

11、重载所有ifcfg或route到connection(不会立即生效)
nmcli c reload

12、立即生效connection,有3种方法
nmcli c up ware-net1
nmcli d reapply enp2s0
nmcli d connect enp2s0

参考网站
https://developer-old.gnome.org/NetworkManager/stable/nmcli.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。