Linux之管理联网

目录

Linux之管理联网

rhel8与7的区别

NetworkManager

定义

NM能管理各种网络

使用方法

使用NM的原因

nmcli使用方法

nmcli的两个常用命令

nmcli connection

        定义

        两种状态

nmcli device

        定义

        四种状态

nmcli常用命令

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

创建connection,配置静态ip(等同于配置ifcfg,其中BOOTPROTO=none,并ifup启动)

创建connection,配置动态ip(等同于配置ifcfg,其中BOOTPROTO=dhcp,并ifup启动)

修改ip(非交互式)

修改ip(交互式)

启用connection(相当于ifup)

停止connection(相当于ifdown)

删除connection(类似于ifdown并删除ifcfg)

​编辑

 查看connection列表  

 查看connection详细信息

重载所有ifcfg或route到connection(不会立即生效)

重载指定ifcfg或route到connection(不会立即生效)

立即生效connection,有3种方法

查看device列表

查看所有device详细信息

查看device详细信息

激活网卡

关闭无线网络(NM默认启用无线网络)

查看NM纳管状态

 开启NM纳管

关闭NM纳管(谨慎执行)

监听事件

 检测NM是否在线可用  

nmcli connection重点

nmcli c show

nmcli c的con-name

nmcli c的ipv4.method

nmcli device重点

nmcli d connect ethX

nmcli d reapply ethX

nmcli d set ethX autoconnect yes|no managed yes|no


Linux之管理联网

rhel87的区别

        在rhel7 上,同时 支持 network.service NetworkManager.service (简称 NM )。默认情况下,这 2 个服务都有开启,但许多人都会将NM 禁用掉
        在rhel8 上, 已废弃network.service ,因此 只能通过NM 进行网络配置,包括动态 ip 和静态 ip 。换言之,在rhel8 上,必须开启 NM ,否则无法使用网络
        rhel8依然支持 network.service ,只是默认没安装, 可以通过 yum install network-scripts 来安装 传统的network.service ,不过 redhat 说了,在下一个 rhel 的大版本里将彻底废除,因此不建议使用network.service

NetworkManager

定义

        NetworkManager是2004Red Hat启动的项目,旨在能够让Linux用户更轻松地处理现代网络需求,尤其是无线网络,能自动发现网卡并配置ip地址

类似在手机上同时开启wifi和蜂窝网络自动探测可用网络并连接,无需手动切换

NM能管理各种网络

  1. 有线网卡、无线网卡
  2. 动态ip、静态ip
  3. 以太网、非以太网
  4. 物理网卡、虚拟网卡

使用方法

  1. nmcli --- 命令行
  2. nmtui --- shell终端开启文本图形界面
  3. Freedesktop applet ---GNOME上自带的网络管理工具
  4. cockpit --- redhat自带的基于web图形界面的"驾驶舱"工具,具有dashborad和基础管理功能

使用NM的原因

  1. 工具齐全 --- 命令行、文本界面、图形界面、web
  2. 广纳天地 --- 纳管各种网络,有线、无线、物理、虚拟
  3. 参数丰富 --- 多达200多项配置参数(包括ethtool参数)
  4. 一统江湖 --- RedHat系、Suse系、Debian/Ubuntu系,均支持
  5. 大势所趋 --- 下一个大版本的rhel只能通过NM管理网络

nmcli使用方法

        nmcli使用方法非常类似 linux ip 命令、 cisco 交换机命令,并且 支持tab补全 ,也可在命令最后通过-h --help help 查看帮助

nmcli的两个常用命令

nmcli connection

定义

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

两种状态

  1. 活跃(带颜色字体)--- 表示当前该connection生效
  2. 非活跃(正常字体)--- 表示当前该connection不生效

nmcli device

定义

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

四种状态

  1. connected ---已被NM纳管,并且当前有活跃的connection
  2. disconnected --- 已被NM纳管,但是当前没有活跃的connection
  3. unmanaged --- 未被NM纳管
  4. unavailable --- 不可用,NM无法纳管,通常出现于网卡linkdown的时候(比如ip link set ethX down)

nmcli常用命令

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

[root@localhost ~]# nmcli 

Linux之管理联网_第1张图片

创建connection,配置静态ip(等同于配置ifcfg,其中BOOTPROTO=none,并ifup启动)

[root@localhost ~]# nmcli c add type ethernet con-name ethX ifname ethX ipv4.addr 192.168.149.100/24 ipv4.gateway 192.168.149.1 ipv4.method manual 

创建connection,配置动态ip(等同于配置ifcfg,其中BOOTPROTO=dhcp,并ifup启动)

[root@localhost ~]# nmcli c add type ethernet con-name ethX ifname ethX ipv4.method auto

修改ip(非交互式)

[root@localhost ~]# nmcli c modify ethX ipv4.addr '192.168.149.200/24'
[root@localhost ~]# nmcli c up ethX 

修改ip(交互式)

[root@localhost ~]# nmcli c edit ethX 
    nmcli> goto ipv4.addresses
    nmcli ipv4.addresses> change
    Edit 'addresses' value: 192.168.1.200/24
    Do you also want to set 'ipv4.method' to 'manual'? [yes]: yes
    nmcli ipv4> save
    nmcli ipv4> activate
    nmcli ipv4> quit

启用connection(相当于ifup)

[root@localhost ~]# nmcli c up ethX 

停止connection(相当于ifdown)

[root@localhost ~]# nmcli c down 

删除connection(类似于ifdown并删除ifcfg)

[root@localhost ~]# nmcli c delete ethX

 查看connection列表  

[root@localhost ~]# nmcli c show

 查看connection详细信息

[root@localhost ~]# nmcli c show ethx

Linux之管理联网_第2张图片

重载所有ifcfg或route到connection(不会立即生效)

[root@localhost ~]# nmcli c reload 

重载指定ifcfg或route到connection(不会立即生效)

[root@localhost ~]# nmcli c load /etc/sysconfig/network-scripts/ifcfg-ethX 
[root@localhost ~]# nmcli c load /etc/sysconfig/network-scripts/route-ethx

立即生效connection,有3种方法

[root@localhost ~]# nmcli c up ethX
[root@localhost ~]# nmcli d reapply ethX
[root@localhost ~]# nmcli d connect ethX

查看device列表

[root@localhost ~]# nmcli d

Linux之管理联网_第3张图片

查看所有device详细信息

[root@localhost ~]# nmcli d show 

查看device详细信息

[root@localhost ~]# nmcli d show ethX

激活网卡

[root@localhost ~]# nmcli d connect ethX

关闭无线网络(NM默认启用无线网络)

[root@localhost ~]# nmcli r all off

查看NM纳管状态

[root@localhost ~]# nmcli n

 开启NM纳管

[root@localhost ~]# nmcli n on

关闭NM纳管(谨慎执行)

[root@localhost ~]# nmcli n off 

监听事件

[root@localhost ~]# nmcli m

 检测NM是否在线可用  

[root@localhost ~]# nm-online 

注意:

        其中的ifcfg均指代/etc/sysconfig/network-scripts/ifcfg-ethX及/etc/sysconfig/network

scripts/route-ethX

nmcli connection重点

nmcli c show

解析

        第一列 --- NAME ---- connection名字,简称con-name(注意con-name不是网卡名)

        第二列 --- UID ---- connectionUUID

        第三列 --- DEVICE ---- 网卡名(标准说法叫device名),可通过nmcil d查看device

        对connection 做操作时需要 指定标识 ,标识可以是 con-name UUID 如果存在 ifcfg 文件则也可以用ifcfg的完整路径,即 /etc/sysconfig/network-scripts/ifcfg-ethX
[root@localhost ~]nmcli c show ethX
[root@localhost ~]nmcli c show cae3f1ef-e79a-46c3-8e0c-946b91a65e11
[root@localhost ~]nmcli c show /etc/sysconfig/network-scripts/ifcfg-ethX

nmcli ccon-name

        同时 对应ifcfg的文件名 以及内容中的 NAME= ,该参数 表示连接(connection)的名字 ,无需和网卡名相同,可以 为一个设备(device)创建多个连接 ,但 同一时刻只能有一个连接生效 。当有多个连接时候, nmcli c delete 删除当前连接 ,就会自动选择同一个设备的其他连接来顶替生效。可以通过 nmcli c up 来将指定连接切换生效
注意:
        通过nmcli c modify修改con-name,只会对应修改ifcfg文件中的NAME,而不会更改ifcfg文件名

nmcli cipv4.method

        对应 ifcfg文件内容的BOOTPROTO ipv4.method 默认为auto ,对应为 BOOTPROTO= dhcp ,这种时候如果指定ip ,就可能导致网卡同时有 dhcp 分配的 ip 和静态 ip 。设置为 manual 表示 BOOTPROTO= none ,即 只有静态ip

示例 --- 创建一个连接(connection)

[root@localhost ~]# nmcli c add type ethernet con-name ethX-test ifname ethX ipv4.addresses '192.168.149.100/24,192.168.149.101/32' ipv4.routes '10.0.0.0/8 192.168.149.10,192.168.0.0/16 192.168.149.11' ipv4.gateway 192.168.149.254 ipv4.dns '8.8.8.8,4.4.4.4' ipv4.method manual

解析:

        type ethernet --- 创建连接时候必须指定类型,类型有很多,可以通过 nmcli c add type -h 看到,这里指定为ethernet

        con-name ethX ifname ethX --- 第一个 ethX 表示连接(connection)的名字 ,这个名字可以任意定义,无需和网卡名相同;第二个ethX 表示网卡名 ,这个 ethX 必须是在 nmcli d 里能看到的
        ipv4.addresses '192.168.149.100/24,192.168.149.101/32' --- 配置 2 ip 地址,分别为 192.168.149.100/24 和192.168.149.101/32
        ipv4.gateway 192.168.149.254 ---  网关为 192.168.149.254
        ipv4.dns '8.8.8.8,4.4.4.4' ---  dns 8.8.8.8 4.4.4.4
        ipv4.method manual ---  配置静态 IP

 对应的ifcfgdns就是

Linux之管理联网_第4张图片

此时,通过 nmcli c 应该可以看到增加了一条连接
Linux之管理联网_第5张图片

注意:

         如果这是为ethX创建的第一个连接,则自动生效;如果此时已有连接存在,则该连接不会自动生效,可以执行 nmcli c up ethX-test 来切换生效

nmcli device重点

nmcli d connect ethX

        由NM 对指定网卡进行管理 ,同时 刷新该网卡对应的活跃connection (如果之前有修改过 connection 配置);如果有connection 但是都 处于非活跃状态 ,则 自动选择一个connection并将其活跃 ;如果 没有 connection ,则自 动生成一个并将其活跃

nmcli d disconnect ethX

        让NM 暂时不管理指定网卡 ,此操作 不会变更 实际网卡的 link状态 ,只会 使对应的connection变成非活跃 。若 重启系统则又会自动connect 。另外,如果 手工将该网卡的connection全部删掉 ,该网卡状态也会 自动变为disconnected

nmcli d reapply ethX

        专门用于 刷新connection ,前提是 网卡的device 处于 connected状态 ,否则会报错

nmcli d set ethX autoconnect yes|no managed yes|no

        可以设置 是否自动连接 是否自动管理 ,但经测试只能用于当前开机状态,如果这2 个参数都设置为no,然后重启系统,又会自动恢复成 connected managed yes 的状态。所以该命令用途不大。注意事项:如果 managed 设置为 no ,那么 nmcli c reload 读取配置文件 ,但是 不会立即生效 ,接着如果执行nmcli c up ethX ,就会立即生效,同时 managed 自动变为 yes

 

你可能感兴趣的:(Rhcsa,linux,运维,服务器)