Red Hat Training

A Red Hat training course is available for RHEL 8

1.2. 使用 nmcli 配置以太网连接

如果您通过以太网将主机连接到网络,您可以使用 nmcli 工具在命令行上管理连接的设置。

先决条件

  • 服务器配置中存在物理或虚拟以太网网络接口控制器(NIC)。

流程

  1. 列出 NetworkManager 连接配置文件:

    # nmcli connection show
    NAME                UUID                                  TYPE      DEVICE
    Wired connection 1  a5eb6490-cc20-3668-81f8-0314a27f3f75  ethernet  enp1s0

    默认情况下,NetworkManager 为主机中的每个 NIC 创建一个配置文件。如果您计划仅将这个 NIC 连接到特定的网络,请调整自动创建的配置文件。如果您计划将这个 NIC 连接到具有不同设置的网络,请为每个网络创建单独的配置文件。

  2. 如果要创建额外的连接配置文件,请输入:

    # nmcli connection add con-name <connection-name> ifname <device-name> type ethernet

    跳过此步骤以修改现有配置文件。

  3. 可选:重命名连接配置文件:

    # nmcli connection modify "Wired connection 1" connection.id "Internal-LAN"

    在具有多个配置文件的主机上,有意义的名称可以更容易识别配置文件的用途。

  4. 显示连接配置文件的当前设置:

    # nmcli connection show Internal-LAN
    ...
    connection.interface-name:     enp1s0
    connection.autoconnect:        yes
    ipv4.method:                   auto
    ipv6.method:                   auto
    ...
  5. 配置 IPv4 设置:

    • 要使用 DHCP,请输入:

      # nmcli connection modify Internal-LAN ipv4.method auto

      如果 ipv4.method 已设置为 auto (默认),请跳过这一步。

    • 要设置静态 IPv4 地址、网络掩码、默认网关、DNS 服务器和搜索域,请输入:

      # nmcli connection modify Internal-LAN ipv4.method manual ipv4.addresses 192.0.2.1/24 ipv4.gateway 192.0.2.254 ipv4.dns 192.0.2.200 ipv4.dns-search example.com
  6. 配置 IPv6 设置:

    • 要使用无状态地址自动配置(SLAAC),请输入:

      # nmcli connection modify Internal-LAN ipv6.method auto

      如果 ipv6.method 已设置为 auto (默认),请跳过这一步。

    • 要设置静态 IPv6 地址、网络掩码、默认网关、DNS 服务器和搜索域,请输入:

      # nmcli connection modify Internal-LAN ipv6.method manual ipv6.addresses 2001:db8:1::fffe/64 ipv6.gateway 2001:db8:1::fffe ipv6.dns 2001:db8:1::ffbb ipv6.dns-search example.com
  7. 要在配置文件中自定义其他设置,请使用以下命令:

    # nmcli connection modify <connection-name> <setting> <value>

    将值用空格或分号括在引号中。

  8. 激活配置文件:

    # nmcli connection up Internal-LAN

验证

  1. 显示 NIC 的 IP 设置:

    # ip address show enp1s0
    2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
        link/ether 52:54:00:17:b8:b6 brd ff:ff:ff:ff:ff:ff
        inet 192.0.2.1/24 brd 192.0.2.255 scope global noprefixroute enp1s0
           valid_lft forever preferred_lft forever
        inet6 2001:db8:1::fffe/64 scope global noprefixroute
           valid_lft forever preferred_lft forever
  2. 显示 IPv4 默认网关:

    # ip route show default
    default via 192.0.2.254 dev enp1s0 proto static metric 102
  3. 显示 IPv6 默认网关:

    # ip -6 route show default
    default via 2001:db8:1::ffee dev enp1s0 proto static metric 102 pref medium
  4. 显示 DNS 设置:

    # cat /etc/resolv.conf
    search example.com
    nameserver 192.0.2.200
    nameserver 2001:db8:1::ffbb

    如果多个连接配置文件同时处于活动状态,则 nameserver 条目的顺序取决于这些配置文件中的 DNS 优先级值和连接类型。

  5. 使用 ping 程序来验证这个主机是否可以向其它主机发送数据包:

    # ping <host-name-or-IP-address>

故障排除

  • 验证网线是否插入到主机和交换机。
  • 检查链路失败是否只存在于此主机上,或者也存在于其它连接到同一交换机的主机上。
  • 验证网络电缆和网络接口是否如预期工作。执行硬件诊断步骤并替换有缺陷的电缆和网络接口卡。
  • 如果磁盘中的配置与设备中的配置不匹配,则启动或重启 NetworkManager 会创建一个代表该设备的配置的内存连接。有关详情以及如何避免这个问题,请参阅 NetworkManager 服务重启后会复制一个连接 解决方案。