注:

在 Oracle Linux 8 上使用 nmcli 和 ip

简介

在本教程中,您将使用 Oracle Linux CLI 实用程序 nmcliip 来监视和管理网络设备和连接。

实验室的意图是向您介绍这些公用事业和练习,使用它们的公用功能来模拟工作环境。并未提供所有功能。实验室在虚拟化环境中运行,因此可以展示和练习的内容受到限制。

背景信息

Linux 通过软件配置文件和系统中的物理网络设备处理网络通信。每个物理网络设备都有一个名为 ifcfg-<interface> 的关联配置文件,位于 /etc/sysconfig/network-scripts 目录中。

NetworkManager 包含命令行实用程序 nmcli,可用于创建、显示、编辑、删除、激活和停用网络连接以及控制和显示网络设备状态。

ip 是用于显示和处理网络设备、网络路由和隧道的另一个实用程序。

目标

需要做哪些准备?

安装有 Oracle Linux 8 且至少具有三个磁盘设备的客户机系统。

注意:使用免费实验室环境时,请参见 Oracle Linux Lab Basics 了解连接和其他使用情况说明。

运行 nmcli 一般对象命令

可以使用 nmcli general 对象命令显示整体网络状态并执行操作。

  1. 运行命令 nmcli help 并记下可用选项。

    nmcli help
    

    注意:用于显示命令输出的不同模式。

    • -t|--terse:此模式设计用于脚本处理。
    • -p|--pretty:此模式使用头生成易于阅读的输出。
    • -m|--mode tabular|multiline:此模式生成表格式或多行输出。

    有关所有可用选项的说明,请参阅 nmcli 手册页。

  2. 运行命令 nmcli general help

    nmcli general help
    

    注意:general 选项提供四个命令参数:statushostnamepermissionslogging

  3. 运行命令 nmcli general statusstatus 参数是缺省参数。

    nmcli general status
    

    完整连接意味着主机已连接到网络并可以完全访问 Internet。

  4. 使用 systemctl 命令停止 NetworkManager 服务。

    systemctl stop NetworkManager
    
  5. 重新运行命令 nmcli general status

    使用 NetworkManager 服务运行命令停止会导致错误。

  6. 使用 systemctl 命令启动 NetworkManager 服务。

    systemctl start NetworkManager
    
  7. 运行命令 nmcli general hostname

    nmcli general hostname
    

    此参数报告系统主机名。也可以使用 nmcli general hostname 更改主机的名称。

  8. 运行命令 nmcli general hostname,并将主机名更改为 "myhost"。

    nmcli general hostname myhost
    

    /etc/hostname 文件存储主机名信息。

  9. 运行命令 cat /etc/hostname 以确认名称更改。

    cat /etc/hostname
    
  10. 重新运行命令 nmcli general hostname,并将主机名改回 "ol8-server"。

    nmcli general hostname ol8-server
    

    重新运行命令 cat /etc/hostname 以验证主机名更改。

  11. 运行命令 nmcli general permissions

    nmcli general permissions
    

    输出显示所有寄存器都设置为 yes,这意味着您可以启用和禁用网络以及修改所有连接和设置。

  12. 运行 nmcli general logging 命令。

    nmcli general logging
    

    使用 logging 参数可查看和更改 NetworkManager 日志记录级别和域。如果不使用任何参数,将显示当前日志记录级别和域。在这种情况下,所有域的日志记录级别都为 INFO。有关日志记录级别和域说明的信息,请参阅 NetworkManager.conf 手册页。

  13. 使用 nmcli general logging 命令将 IP4 域的日志记录级别更改为 DEBUG

    nmcli general logging level DEBUG domains IP4
    
  14. 重新运行 nmcli general logging 命令以验证 IP4 域的日志记录级别是否已更改为 DEBUG

    IP4 域的日志记录级别现在设置为 DEBUG

  15. 使用 nmcli general logging 命令将 ALL 域的日志记录级别更改为 INFO

    nmcli general logging level INFO domains ALL
    

    此命令将日志记录级别恢复为默认设置。

运行 nmcli 网络对象命令。

使用 nmcli networking 对象管理网络连接和查看网络状态。

  1. 运行 nmcli networking help 命令。

    nmcli networking help
    

    networking 对象提供了三个命令:onoffconnectivity

  2. 运行不带参数的 nmcli networking 命令以显示网络状态。

    nmcli networking
    

    输出显示网络状态为 enabled

    启用重要信息 LEAVE 网络。您正在处理的实例在虚拟化环境中运行,如果禁用网络,则该实例将无法访问。这会导致您断开与实例的连接并需要重新启动实验。

    • 命令 nmcli networking off 禁用所有已启用设备的联网。
    • 命令 nmcli networking on 允许将网络连接到所有已启用的设备。
  3. 使用命令 ip addr 显示可用的网络接口。

    ip address
    

    注意:以太网接口 ens5UP,不带 IP 地址。

  4. 运行命令 nmcli networking connectivity 以显示网络连接状态。

    • 包括 check 参数。
    • 如果没有 check 参数,该命令将显示最新的已知连接状态,而不重新检查。
    nmcli networking connectivity check
    

    连接状态 full 表示主机已连接到网络并具有对 Internet 的完全访问权限。

运行 nmcli 单选按钮对象命令

使用 nmcli radio 对象命令管理无线网络。

  1. 运行命令 nmcli radio help

    nmcli radio help
    

    注意:三个可用的命令选项:allwifiwwan。每个命令都有两个参数。

  2. 运行不带选项或参数的命令 nmcli radio 以显示单选开关状态。

    nmcli radio
    

    输出显示所有交换机均为 enabled

  3. 运行 nmcli radio wifi off 命令以禁用 WI-FI 单选开关。

    nmcli radio wifi off
    

    重新运行命令 nmcli radio 以验证 WI-FI 无线电交换机的状态现在为 disabled

  4. 运行 nmcli radio wifi on 命令以启用 WI-FI 单选开关。

    nmcli radio wifi on
    

    重新运行命令 nmcli radio 以验证 WI-FI 无线电交换机的状态现在为 enabled

运行 nmcli 连接对象命令

使用 nmcli connection 对象可启动、停止和管理网络连接。

  1. 运行命令 nmcli connection help 命令。

    nmcli connection help
    

    注意:nmcli connection 对象提供 13 个命令,如下所示:

    连接对象

  2. 运行命令 nmcli connection show 以列出所有连接配置文件。

    nmcli connection show
    

    输出将设备 ens3 列出为唯一的连接配置文件。

  3. 使用 --active 参数运行命令 nmcli connection show 以列出活动配置文件。

    nmcli connection show --active
    

    同样,输出将设备 ens3 列出为唯一的连接配置文件。

  4. 运行 ls -l /etc/sysconfig/network-scripts/ 命令并将输出通过管道传输到 grep ens 以列出所有 ens 设备的连接配置文件。

    ls -l /etc/sysconfig/network-scripts/ | grep ens
    

    只有具有连接配置文件的 ens 设备是 ens3

  5. ens5 创建配置文件并使其联机。通过设计,NetworkManager 允许单个设备具有多个连接或配置文件。这些配置文件允许使用不同的网络配置,例如 DHCP 或静态 IP 地址分配。

    1. 获取连接到练习实例的第二台 VNIC 设备的专用 IP。

      1. 返回到云控制台 > 计算 > 实例页面。

        计算实例

      2. 在名称列表中,单击实例 (ol8-server) 的链接以打开其详细信息页。

      3. 向下滚动详细信息页到资源部分,然后从列表中单击连接的 VNIC 以查看 VNIC。

        附加的 vnics

      4. 从 VNIC 列表中,单击 vnic-2 链接以查看有关 VNIC 的详细信息。

      5. 在页面的 Primary IP 部分中,复制 Private IP Address(例如 10.0.0.155)并返回终端窗口。

        私人 IP

    2. 运行命令 nmcli connection add type ethernet con-name ens5 ifname ens5 ip4 <PRIVATE_IP_ADDRESS_OF_COMPUTE_INSTANCE>,例如:10.0.0.155/24ens5 创建配置文件。

      nmcli connection add type ethernet con-name ens5 ifname ens5 ip4 10.0.0.155/24
      

      配置定义静态 IP 地址分配,并以 CIDR 表示法显示 ip4 地址。NetworkManager 将这些值写入 /etc/sysconfig/network-scripts/ifcfg-<interface> 文件中,以便在重新引导后保留配置。

    3. 运行 cat 命令以查看 ens5 配置文件。

      cat /etc/sysconfig/network-scripts/ifcfg-ens5
      
    4. 运行命令 nmcli conn show 以查看更新的连接列表。

      nmcli conn show
      

      此命令显示为 ens5 创建的新连接配置文件。NetworkManager 允许使用 nmcli 命令的缩写。

    5. 运行命令 nmcli conn up ens5 使设备联机。

      nmcli conn up ens5
      
    6. 通过键入 nmcli d status 验证连接是否已启动,其中 d 是设备命令的缩写。

      nmcli d status
      

      此命令显示处于 connected 状态的 ens5

    7. 运行命令 ping -c 3 -I ens5,后跟以前使用的 IP 地址,例如 10.0.0.155

      ping -c 3 -I ens5 <PRIVATE_IP_ADDRESS_OF_COMPUTE_INSTANCE
      

      -c 仅发送三个数据包,然后 -I 参数确保数据包在 ens5 接口上输出。

    8. 运行命令 nmcli connection show id ens5 命令并将输出通过管道传输到 grep interconnect

      nmcli connection show id ens5 | grep autoconnect
      

      输出显示 autoconnect 参数设置为 yes

可以使用 ip 实用程序配置网络接口。使用 ip 实用程序需要提升的特权。请注意,使用 ip 命令所做的任何网络更改在系统重新引导后都不会保留,这一点非常重要。

在以下任务中,继续使用设备 ens5

在本练习中,您将使用 ip link utility 添加、编辑和删除链接。

  1. 运行不带任何选项或参数的 ip 命令。

    ip
    

    注意:可用的各种选项。有关所有选项的说明,请参阅 ip (8) 手册页。

  2. 运行 ip link 对象命令。可以使用 ip link 对象命令显示和配置网络设备。

    1. 运行 ip link help 命令以显示六个可用对象命令。

      ip link help
      

      这些命令包括 adddeletesetshowxstatsafstatshelp

    2. 运行 ip link show 命令以标识现有网络设备。

      ip link show
      

      show 命令是 ip link 对象的缺省值,因此不是必需的。输出标识三个网络设备,两个以太网设备(ens3ens5)。还有一个回送设备 (lo)。输出列出了与上一个练习中 nmcli device status 相同的设备。

    3. 运行 ip link add 命令以添加虚拟链路。有关链接类型的更多信息,请参阅 ip-link(8) 手册页。使用以下参数添加新 VLAN 链路:

      • 使用物理设备 ens5
      • 指定名称 ens5.10
      • vlan 用于设备类型
      • 将 VLAN ID (id) 分配给 10
      ip link add link ens5 name ens5.10 type vlan id 10
      
    4. 重新运行 ip link 以列出新设备。

      虚拟链接 ens5.10@ens5 出现在列表中。

    5. 运行 ip link set 命令以将 MTU 设备属性更改为 1400

      ip link set ens5.10 mtu 1400
      
    6. 运行 ip link delete 命令以删除 ens5.10 设备。

      ip link delete ens5.10
      
      • 重新运行 ip link 以列出不再存在的虚拟设备。

运行 IP 地址对象命令

用于在网络设备上显示和管理 IP 地址的 ip addr 命令。

  1. 运行 ip addr help 命令以显示可用的对象命令。

    可用命令的部分列表包括 addchangereplacedelshowsave。有关 ip addr 命令的完整列表,请参阅 ip-address(8) 手册页。

  2. 运行 ip addr show 命令以标识现有网络设备。

    ip addr
    

    show 命令也是 ip addr 的缺省值。它显示的信息与 ip link 相同,但包含 IP 地址。

  3. 运行 ip addr add 命令以将第二个 IP 地址添加到 ens5

    ip addr add 10.1.1.1/24 dev ens5
    
  4. 运行 ip addr show 命令以显示 ens5 设备。将设备指定为参数时,需要使用 show 命令。

    ip addr show ens5
    

    设备现在具有两个 IP 地址。

  5. 运行 ip addr del 命令以从 ens5 中删除 IP 地址。

    ip addr del 10.1.1.1/24 dev ens5
    
  6. 再次运行 ip addr show 命令以显示 ens5 设备。

视频演示

如果您需要有关使用 nmcli 命令的更多信息,则在 https://www.youtube.com/watch?v=EkI3RKl4loE 上提供的视频演示也很有用。

在 Oracle Linux 8 上使用 NetworkManager CLI (nmcli)

如果您需要有关使用 ip 命令的更多信息,则在 https://www.youtube.com/watch?v=JcipLuWymNc 上提供的视频演示也很有用。

在 Oracle Linux 8 上使用 ip 命令

更多学习资源

docs.oracle.com/learn 上浏览其他实验室,或者在 Oracle Learning YouTube 渠道上访问更多免费学习内容。此外,访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。

有关产品文档,请访问 Oracle 帮助中心