CentOS 8 NetworkManager

  1. RHEL 8与RHEL 7的区别
  • 在RHEL 7上,同时支持Network.service和NetworkManager.service(简称NM),默认情况下,这两个服务都开启。
  • 在RHEL 8上,已经弃用Network.service,因此只能通过NetworkManager.service进行网络配置,包括动态IP和静态IP。
  1. NetworkManager介绍
  • NetworkManager是2004年Red Hat启动的项目,旨在能够让Linux用户更轻松地处理现代网络需求,尤其是无线网络,能自动发现网卡并配置ip地址。
    2.1 为什么要用NetworkManager?

    • 工具齐全:命令行、文本界面、图形界面、web
    • 广泛管理:管理各种网络,有线、无线、物理、虚拟
    • 参数丰富:多达200多项配置参数(包括ethtool参数)
    • 通用性强:RedHat系、Suse系、Debian/Ubuntu系等,均支持
    • 大势所趋:下一个大版本的RHEL只能通过NM管理网络

    2.2 NetworkManager能管理什么?

    • 有线网卡、无线网卡
    • 动态ip、静态ip
    • 以太网、非以太网
    • 物理网卡、虚拟网卡

    2.3 NetworkManager的命令介绍

    • nmcli:命令行。这是最常用的工具,本文将详细讲解该工具使用。
    • nmtui:在shell终端开启文本图形界面。示意图见本文最后的Tips
    • Freedesktop applet:如GNOME上自带的网络管理工具
    • cockpit:redhat自带的基于web图形界面的"驾驶舱"工具,具有dashborad和基础管理功能。示意图见本文
  1. nmcli使用方法
  • nmcli使用方法非常类似linux ip命令、cisco交换机命令,并且支持tab补全,通过-h、–help、help查看帮助。在nmcli中有两个命令最为常用:

    • nmcli connection:译作连接,可理解为配置文件,可以简写为nmcli c 。
    • nmcli device:译作设备,可理解为实际存在的网卡(包括物理网卡和虚拟网卡),可以简写为nmcli d 。
  • 在NM里,有两个维度:连接(connection)和设备(device),这是多对一的关系。想给某个网卡配ip,首先NM要能纳管这个网卡。设备里存在的网卡(即nmcli d可以看到的),就是NM纳管的。接着,可以为一个设备配置多个连接(即nmcli c可以看到的),每个连接可以理解为一个ifcfg配置文件。同一时刻,一个设备只能有一个连接活跃。可以通过nmcli c up切换连接。

    • connection有2种状态:

      • 活跃(带颜色字体):表示当前该connection生效
      • 非活跃(正常字体):表示当前该connection不生效
    • device有4种常见状态:

      • connected:已被NM纳管,并且当前有活跃的connection
      • disconnected:已被NM纳管,但是当前没有活跃的connection
      • unmanaged:未被NM纳管
      • unavailable:不可用,NM无法纳管,通常出现于网卡link为down的时候(比如:ip link set ethX down)
    • nmcli的常用命令示例:

      • 查看IP
        nmcli
      • 创建connection,配置静态IP(等同于配置ifcfg,其中BOOTPROTO=none,并ifup启动)
        nmcli c add type ethernet con-name ethX ifname ethX ipv4.addr 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.method manual
      • 创建connection,配置动态IP(等同于配置ifcfg,其中BOOTPROTO=dhcp,并ifup启动)
        nmcli c add type ethernet con-name ethX ifname ethX ipv4.method auto
      • 修改ip(非交互式)
        nmcli c modify ethX ipv4.addr '192.168.1.100/24
        nmcli c up ethX
      • 修改ip(交互式)
        nmcli c edit ethX
        nmcli> goto ipv4.addresses
        nmcli ipv4.addresses> change
        Edit 'addresses' value: 192.168.1.100/24
        Do you also want to set 'ipv4.method' to 'manual'? [yes]: yes
        nmcli ipv4.addresses> back
        nmcli ipv4> save
        nmcli ipv4> quit
      • 启用connection(相当于ifup)
        nmcli c up ethX
      • 停止connection(相当于ifdown)
        nmcli c down
      • 删除connection(类似于ifdown并删除ifcfg)
        nmcli c delete ethX
      • 查看connection列表
        nmcli c show
      • 查看connection详细信息
        nmcli c show ethX
      • 重载所有ifcfg或route到connection(不会立即生效)
        nmcli c reload
      • 重载指定ifcfg或route到connection(不会立即生效)
        nmcli c load /etc/sysconfig/network-scripts/ifcfg-ethX
        nmcli c load /etc/sysconfig/network-scripts/route-ethX
      • 立即生效connection,有3种方法
        nmcli c up ethX
        nmcli d reapply ethX
        nmcli d connect ethX
      • 查看device列表
        nmcli d
      • 查看所有device详细信息
        nmcli d show
      • 查看指定device的详细信息
        nmcli d show ethX
      • 激活网卡
        nmcli d connect ethX
      • 关闭无线网络(NM默认启用无线网络)
        nmcli r all off
      • 查看NM纳管状态
        nmcli n
      • 开启NM纳管
        nmcli n on
      • 关闭NM纳管(谨慎执行)
        nmcli n off
      • 监听事件
        nmcli m
      • 查看NM本身状态
        nmcli
      • 检测NM是否在线可用
        nm-online

    参考链接:https://blog.csdn.net/Loveychent/article/details/89811722

你可能感兴趣的:(CentOS 8 NetworkManager)