nmcli  用法

nmcli 管理的对象

===>>>        

主要管理的对象 :

我们主要讲的是  ===>>

                connection (  连接  )                                 device  ( 设备--主要是指 网卡  )

  :

在NM里,有2个维度:连接(connection)和设备(device),想给某个网卡配 ip,首

先NM要能纳管这个网卡。

设备里存在的网卡(即 nmcli d 可以看到的),就是NM纳管的。接 着,可以为一个设备

配置多个连接(即 nmcli c 可以看到的),每个连接可以理解为一个ifcfg配置文 件。同

一时刻,一个设备只能有一个连接活跃。可以通过 nmcli c up 切换连接。

nmcli   connection  :

官方 :  译作连接,可理解为配置文件,相当于ifcfg-ethX。可以简写为nmcli c

 #      connection 的两种状态

上示展示的就是  活跃的连接( 真正生效的连接) -- 绿色的部分 。

其实,展示的内容中应该是还要展示 未生效的连接的( 但由于我们配置的连接太少并

且,配置的两条连接都是生效的,所以展示的就都是生效的,看起来就只有一种颜

色,其实,按道理是 生效的和未生效的都是罗列出来的,并且颜色是有区分的!)

:  那我们前面说过一个网卡上面可以有多个连接,但网卡运行的时候只有一个连接生

效,那为啥上面生效的有两条呢???

  ===>>>

你看那两条的 NAME 是不一样的(  NAME 就是代表的是连接名 ),而

NAME 最后面的 DEVICE 才是 网卡名,展示的是不同的网卡两个网卡

各自配置并生效一条连接!!!

按道理来说,连接名和网卡名一般是不一样的,只不过我们这里默认了

两个名称一样 !!

活跃 ( 连接生效 )

非活跃 ( 连接未生效,连接配置着呢,但是没生效 )

#     connection 下可执行的操作命令 

这是 nmcli connection 按了 TAB 键展示的   其操作命令!!

add    : 增加连接              help : 帮助              show : 展示连接 delete ; 删除连接             load : 加载配置文件       clone :  复制edit : 编辑连接                monitor : 观察           down : 连接失效export ; 导出                 import : 导入            modify : 修改 reload : 重新加载              up  ;  生效连接 

nmcli    device

译作设备,可理解为实际存在的网卡(包括物理网卡和虚拟网卡)

简写  :  nmcli     d    

          

   device  的 四种 状态 

connected:    已被NM纳管,并且当前有活跃的connection

disconnected:已被NM纳管,但是当前没有活跃的connection

unmanaged:   未被NM纳管

unavailable:   不可用,NM无法纳管,通常出现于网卡link为down的时候(比如ip link

set  ethX down)

nmcli  常用命令

添加连接

nmcli c  add  ( 添加 )

nmcli connection add  或者 nmcli c add

增加的内容 :

===>>> 

type :   网络类型 con-name :   连接的名称 ifname :     网卡名称  ( 连接是建立在 网卡之上的)连接的配置  :  ipv4 的地址、   网关、Dns 、 静态ip 或者动态 ip  、 是否自动连接

*   如果是动态 IP 就不需要( IP地址、网关、DNS了,动态人家 DHCP 自动获取)

*   自动连接的意思就跟 和 Wiondows 一样,就像我们常给 校园网设置自动连接,那就是

每次打开 WIFI 你不用管都会自动连接上(也可理解为优先连接) 校园网 !!

放在我们 虚拟机里,就是每次启动虚拟机都会自动连接那个网卡 !!

*   增加连接的时候,设置连接类型,连接名,依赖那个网卡以及具体配置(ip,网关,

DNS 等)

 示例 :

 #    新建连接(  静态连接 )

命令展示

===>>>

[root@bogon ~]# nmcli connection add type ethernet con-name staticip ifname ens160
ipv4.addresses 192.168.153.160/24 ipv4.gateway 192.168.153.2 ipv4.dns 8.8.8.8
ipv4.method manual autoconnect yes 

命令剖析

上示这么一长串代码,谁能知道这是啥意思呀,所以我们解剖看看 :

首先是 : nmcli connection add   (  表示 现在要添加 一个 连接 )

 type ethernet ( 表示 网络类型 是 : ethernet  --- 以太网 )

网络类型 还有好多 :

===>>>

我们主要选择的网络类型就是 ethernet  --- 以太网

 con-name   staticip  :  连接名称 ( 你自己起名为 staticip )

当时起的名字是  static-ip  ( 但是报错了,好像是因为中间的 - 报错 )

ifname  ens160   :   依赖网卡的名称 ( 我们选择的是 ens160 网卡 )

关于依赖网卡强调以下几点 :

===>>>

 *  首先,依赖网卡的选择,不是唯一的,就是你想选那个网卡就选哪个

网卡,当然首先是 这个网卡肯定要在你这个设备上存在呀!!

2   你可以通过我们学过的命令查看,设备上都有哪些网卡,然后决定

自己选择依赖哪一个网卡 ( 查看命令 : ifconfig 或 numcli d)

ifconfig

===>>>

底下的 lo 是虚拟网卡,目前这台设备上主要的是 ens160网卡

nmcli d

 ===>>>

上面的 DEVICE 就是指的是   网卡

* 3   关于 网卡这里还需要额外补充的一点是 :

我们除了 使用 那两个命令查看此时此刻 虚拟机上的网卡之外,其实

我们还是可以给 虚拟机上添加网卡的!!

 ===>>>

在你此时正使用的虚拟机上,右键设置 。

然后点击添加 ,选择网络适配器 ,完成即可 !!

当你完成添加后,如果还是没有生效,那就关掉虚拟机,然后再启动

其实,命令执行到这里的时候,就只剩下 连接的具体信息了

IPV4.address 192.168.153.160/24 

                       * 1    现在不仅有 IPV4 也有 IPV6 ,所以关于 IPV 也是有很多适配的内容的

===>>>

系统给我们提供了 关于 IPV4 ,IPV6 的所有适配项!!

* 2  我们给连接添加的 IPV4 地址就是 192.168.153.160 / 24

为什么是 192.168.153.160 包括掩码为什么是 24 ,我们和下面 的 网关一块讲

 IPV4.gateway 192.168.153.2 

                          * 1   你这网关是咋查出来的 ?

===>>>

还是在 VMware 里查看

我们当时在搭建环境的时候就选择的是 NAT 模式,所以我们还是选择

NAT 模式来查看 !

在上图也就解释了,子网 和 子网掩码 就解释了我们为什么对 IPV4 地

址的配置为什么是 192.168.153.160 其子网掩码为 24 !!!

这个 VMnet8 给我们提供了好些设置

在 NAT 设置里就提供了我们 网关的数据

===>>>

在这里就可以看到 其 网关为 192.168.153.2

还提供了 DHCP 配置 !!

 *  2      需要强调的是 :

                                       我们上示的 VMnet8 其实和 windows 上的 VMnet8 不是一个东西!!

上示的 VMnet8 可理解为 是一个路由器上面安装了 NAT软件并且提供了

DHCP 的功能 !!

而 Windows 上的 VMnet8 就只是一个 虚拟网卡而已 !!!

 IPV4.dns 8.8.8.8 :  给连接设置一个 DNS 地址 8.8.8.8

: 当上示命令敲到这里,连接的主要配置也已经配置完了,但是由于我们要配置的是

静态连接,所以,还需要几句代码做以补充 !!!

 IPV4.method      用这句代码来指定连接是否是 动静态连接

 ===>>>

manual 即为 静态连接

auto   :       为动态连接

  :

对应  ifcfg  文件内容的  BOOTPROTO,ipv4.method默认为auto,

对应为 BOOTPROTO=dhcp,

这种时候 如果指定ip,就可能导致网卡同时有dhcp分配的ip和静态ip。

设置为manual表示BOOTPROTO=none, 即只有静态ip。

autoconnect yes  :  autoconnect 就是我们所说的 自动连接 

 Yes  : 就是 要自动连接

NO  :  就是不要自动连接

至此,那一长串代码,全部解刨完毕,分析完毕!! 

执行那一长串代码 :

 ===>>>

那么,执行长串代码,出现 成功添加后,那就是说 : 我们添加连接成功了!!!

但是,记住 : 只是添加成功了!!意味着什么??

===>>>

你成功添加连接并不代表 该连接就可以立即生效!!!

                我们使用 numcli c 查看下 :

                ===>>>      

显然,展示了我们刚才配置的 连接,连接名都显示出来了 ( staticip

也可以根据我们讲过的知识 : nmcli c 显示的连接是否生效来判断 ( 颜色就可以判断)

我们刚才所配的连接并未生效 !!!

  :   在配置过程中需要注意的是

 ===>>>

*  操作用户 : 一开始我是使用的普通用户,结果全部代码敲完后,

发现权限不允许,最后使用 root 用户才执行成功,因

此一定是要在 root 用户下 添加连接 !!

 *  2  关于 网卡的选择及添加 ( 添加前面也讲过了,想要使用自己添加

的网卡就自己添加给虚拟机就行)

*  3   当时在敲长串代码的时候,我给 连接名称配了 static-ip ,没有想到

的是;其中的 - 报错了,因此,对连接的名称不要加 - !!

*  4   在配置时,注意 IP地址 网关地址 ( 提前查看好!!)

 那现在,问题就来了,我们现在添加连接成功了,我们怎么生效呢???

连接生效

我们在前面讲 nmcli 的操作命令的时候,列举了好些内容里面有 add delete 等等

其中里面还有一个配置就是 up ------  它就是用来 生效连接的!!!

 ===>>>

[root@bogon ~]# nmcli c up staticip

其实,连接生效其命令没有什么讲的,就一个 up 就行!!

问题是当我们执行了这条代码实际上就会卡住!

需要讲到的点是 :

当我们执行了上示的代码会意味什么 ??

 ===>>>

先来看看我们使用的远程连接 XSHELL 连接的是哪个IP ?       

再没执行 生效命令前,我们的 XSHELL 使用的是 192.168.153.133 的IP

那我们一旦执行了 生效命令 那就意味着 :

我们刚才配置的 连接里的命令就会生效,连接命令里的 IP 就会生效

也就是 192.168.153.160 就会被生效 !

那么,也就是 IP 发生了变化,从 本身的 153.133 变为了 153.160 !!

因此,当命令刚一被执行 就会卡住!! 卡一会儿就断开了

 ===>>>

因此,我们改变下刚才的 153.133 变为 153.160

 ===>>>

执行完上示操作后即可 :

 ===>>>

我们使用 ifconfig 查看,此时的 IP 已经是我们配置的内容了 192.168.153.160 !

    至此,整个 静态配置的连接 从配置到生效 已经全部介绍完毕!!!

#  新建连接 ( 动态链接 )

命令展示

[root@localhost ~]# nmcli connection add type ethernet con-name dtlijie ifname ens160 ipv4.method auto 

命令剖析

#   上示命令我们没有配置 自动连接 (autoconnect yes),这个不重要!

前面我们已经学习了 静态连接的配置,我们明显可以看到,配置动态链接的命令明

显要少于静态连接的命令; 并且,前部分的 命令 几乎和 静态的没啥区别!!

 ===>>>

整个前大部分的命令是和 静态一模一样的,除了 ,我们指定的 连接名不一样,我

们同样也选择了 ens160 这个网卡 。

与静态连接不同的地方恰恰就是 动态连接的特点 :

因为,我们清楚,动态连接是不需要我们去手动指定的,动态连接是通过

DHCP 分配的,所以,关于动态连接的具体配置( IP,网关,掩码等等)是不

需要我们再配置的!!

因此,配置动态连接时只需要指出我们这条连接是动态连接即可 :

ipv4.method auto 

这就是动态连接的配置(  指出该连接为 动态连接 )

上示即是 动态连接的所有配置 !!

   配置成功后,我们使用命令再查看下 :

显然,配置成功后,显示时还是未生效的!!

通过静态连接配置时,我们就清楚,连接只配置是不作用的,还需要去激活连接从

而生效连接 !!

连接生效 

命令展示

 ===>>>

[root@localhost ~]# nmcli c up dtlijie 

当我们生效了连接,同理,此时的连接会断开,因为 IP 发生了变化( 和静态是一样的道理)

解决办法和静态大致上是一样的 :

最大的区别就是由于我们是动态连接,所以当,连接生效后,其实,我们也不知道 动态

连接的IP 是多少,因为是 DHCP 随机分配的呀,我们并没有指定 IP,所以,我们不会知道

IP 是多少了!

因此,我们需要在 虚拟机那里查出 动态连接的 IP

===>>>

在虚拟机上查到了,IP 为 192.168.153.133  因此,我们便得到了 IP

恢复连接(  远程上的连接 )  :

这是我们生效 动态连接前的 IP 地址,现在把它改为 我们刚才查出来的 IP ( 153.133)

随后连接恢复 ( 远程连接) !!!

可以看到,此时,连接已经生效 !!!

Linux 管理联网 nmcli用法 新建动静连接相关推荐

  1. Linux 管理联网 nmcli常用命令

    修改 IP  #   修改连接的IP 有两种方式,一种是直接命令行式直接执行,一种是 交互式 ! #   所谓  修改 IP , 其实,不单单只指 IPV4 地址的IP ,前面展示了 ,IPV 下的所 ...

  2. Linux 管理联网 设置主机名( nmtui图形化 和 hostnamectl命令 )

    设置主机名 #   常用的有两种方式,一种是 nmtui 图形化界面的方式来设置, 一种是 hostnamectl 命令的方式来设置. nmtui 直接在命令行 输入 nmtui 便进入 图形化界面 ...

  3. Linux如何访问网络 - 管理Linux的联网

    文章目录 NetworkManager nmcli示例 nmcli connection详解 nmcli c show nmcli c 的 con-name nmcli c 的 ipv4.method ...

  4. EditPlus设置远程连接Linux管理文件

    文章目录 设置 注意事项 设置 有时候,我们直接在Linux管理终端中的bash里通过vi/vim编辑文件不太方便.这时我们可以通过外部的编辑工具连接到服务器上,远程管理文件.下面介绍通过EditPl ...

  5. 【Linux应用】网络管理nmcli 用法

    1.前言 nmcli 是 NetworkManager 的提供的命令,使用 nmcli 命令时,必须确保 NetworkManager 为运行状态.nm 代表 NetworkManager,cli 代 ...

  6. Linux之Ansible入门用法(实验解析)

    Linux之Ansible入门用法(实验解析) 实验前提: 三台CentOS7和一台CentOS6,其中一台CentOS7当作Ansible堡垒机,其余三台主机当作被控主机.四台主机均为最小化安装,全 ...

  7. Linux tar命令高级用法——备份数据

    Linux tar命令高级用法--备份数据 2015-12-31 Linux学习 Linux上有功能强大的tar命令,tar最初是为了制作磁带备份(tape archive)而设计的,它的作用是把文件 ...

  8. 阿里云自动java和mysql数据库_阿里云服务器之基于Linux系统部署上线JavaWeb项目和连接MySQL数据库(从购买云服务器到发布JavaWeb项目全套详细流程)...

    阿里云服务器之基于Linux系统部署上线JavaWeb项目和连接MySQL数据库(从购买云服务器到发布JavaWeb项目全套详细流程) (仅此纪念人生第一篇学习博客) 前阵子接了一个小小的JavaWe ...

  9. linux下chkConfig的用法,mysqld开机自启动

    linux下chkConfig的用法,mysqld开机自启动 使用语法: chkconfig[--add][--del][--list][系统服务]或chkconfig[--level<等级代号 ...

最新文章

  1. java入门(p1)进入java的世界
  2. 使用Kiwi CatTools 实现交换机自动备份
  3. MySQL数据库之安装
  4. 《JS权威指南学习总结--第八章 函数》
  5. 【Web安全】Web开发中常见的安全误区
  6. Android小項目之--ListView與ListAcitivity完善論壇管理效果2(附源碼)
  7. 生产消费是什么设计模式_快速消费品的完整形式是什么?
  8. 怎么创建数据表的实体类和业务类_微服务项目第13天:商品分类业务的实现
  9. SSD+caffe︱Single Shot MultiBox Detector 目标检测+fine-tuning(二)
  10. web项目中用户登录的具体流程
  11. Hadoop源码篇--Reduce篇
  12. θ Some 与 θ All 子查询
  13. ubuntu16.xxx安装mysql5.0项目迁移环境搭建
  14. 数据结构之队列和栈的应用
  15. 监控mysql锁定状态_mysql InnoDB锁等待的查看及分析
  16. 单片机/C语言浮点型数据转换为字符串方法
  17. android wifi tethering,新增Wi-Fi/USB Tethering功能
  18. 一影碎念,一场风花,浅吟低唱成悲曲:伤感日志
  19. CVE-2020-2905: VirtualBox 虚拟机逃逸漏洞通告
  20. 云服务器 网络端口,云服务器的端口号怎么看

热门文章

  1. 我随心写,你随心看,节日快乐!
  2. 信息学奥赛一本通1272【例9.16】分组背包
  3. 湛江的python黑马培训机构
  4. iTab新标签页重磅更新 |这些功能绝对有你想要的新体验!
  5. 视频教程-易语言入门精品课程-其他
  6. 鸿蒙智慧屏安卓,余承东没吹牛,鸿蒙系统真兼容安卓APP,荣耀智慧屏已支持了...
  7. 诸葛分享:精细化APP运营要注意些什么呢?
  8. 有了这个办法,跑AI任务再也不用在机器上插GPU卡了
  9. MPC模型预测控制学习笔记-2021.10.27
  10. 名编辑电子杂志大师教程 | 名编辑电子杂志大师支持导入的文件格式