Linux 管理联网 nmcli用法 新建动静连接

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 网卡 ) 

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

                              ===>>>

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

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

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

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

                                               ifconfig 

                                               ===>>>

                                               

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

                                               

                                               nmcli d

                                               ===>>>

                                              

                                               上面的 DEVICE 就是指的是   网卡 

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

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

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

                                               ===>>>

                                               

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

                                               

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

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

                   

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

                 IPV4.address 192.168.153.160/24 

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

                               ===>>>

                               

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

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

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

              IPV4.gateway 192.168.153.2 

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

                                  ===>>>

                                           

                                            还是在 VMware 里查看 

                                          

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

                                          NAT 模式来查看 !

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

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

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

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

                                          ===>>>

                                         

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

                                          还提供了 DHCP 配置 !!

                           *       需要强调的是 :

                                       我们上示的 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)

        

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

       

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

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值