在 Red Hat Enterprise Linux 中配置网络

Red Hat Enterprise LinuxBeginner
立即练习

介绍

在这个实验(Lab)中,你将获得在 Red Hat Enterprise Linux 系统上配置网络接口和主机名设置的实践经验。你将学习必要的命令行工具和技术,以管理你的系统的网络连接和标识。

在整个实验(Lab)过程中,你将验证现有的网络接口状态和 IP 地址,添加具有静态 IP 配置的新网络连接,并练习激活和停用这些连接。此外,你将修改现有的网络设置,配置系统的 hostname 和名称解析,最后,测试网络连接和名称解析,以确保所有配置都按预期工作。

验证网络接口状态和 IP 地址

在这一步中,你将学习如何使用命令行工具验证 Red Hat Enterprise Linux 系统上的网络接口状态和 IP 地址。了解你的网络配置对于排除连接问题和管理网络服务至关重要。

首先,让我们探索 ip link 命令,该命令列出系统上所有可用的网络接口。此命令提供了网络适配器的高级概述,包括它们的状态(UP/DOWN)、MAC 地址和 MTU(最大传输单元)。

打开你的终端。你应该会看到类似于 [labex@host ~]$ 的提示符。

ip link show

你将看到类似这样的输出,显示诸如 lo(环回)、eth0eth1(以太网接口,具有备用名称)之类的接口:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:16:3e:0f:9e:4e brd ff:ff:ff:ff:ff:ff
    altname enp0s6
    altname ens6
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:16:3e:0f:9e:51 brd ff:ff:ff:ff:ff:ff
    altname enp0s7
    altname ens7

请注意,你的系统有两个以太网接口(eth0eth1),具有备用名称(分别为 enp0s6/ens6enp0s7/ens7)。qdisc mq 表示正在使用多队列网络调度程序以获得更好的性能。

接下来,我们将使用 ip addr 命令来查看特定网络接口的详细设备和地址信息。此命令提供有关已分配的 IP 地址(IPv4 和 IPv6)、广播地址和子网掩码的信息。

让我们检查你的 eth0 接口的详细信息:

ip addr show eth0

输出将显示分配给 eth0 的 IP 地址,包括 IPv4 和 IPv6 地址(如果已配置):

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:16:3e:0f:9e:4e brd ff:ff:ff:ff:ff:ff
    altname enp0s6
    altname ens6
    inet 172.16.50.116/24 brd 172.16.50.255 scope global noprefixroute eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::216:3eff:fe0f:9e4e/64 scope link
       valid_lft forever preferred_lft forever

请注意,eth0 的 IP 地址为 172.16.50.116/24,带有 noprefixroute 标志,这表明 NetworkManager 正在管理此接口的路由。

ip -s link show 命令还可以显示有关网络性能的统计信息,例如已发送和接收的字节数和数据包数,以及任何错误或丢弃的数据包。这对于快速检查网络流量很有用。

ip -s link show eth0

你将看到 eth0 接口的统计信息:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
    link/ether 00:16:3e:0f:9e:4e brd ff:ff:ff:ff:ff:ff
    RX:  bytes packets errors dropped  missed   mcast
         90512     884      0       0       0       0
    TX:  bytes packets errors dropped carrier collsns
       1430185    1069      0       0       0       0
    altname enp0s6
    altname ens6

最后,让我们使用 ip route 命令验证路由表。路由表确定网络流量如何定向到其目的地。

ip route

此命令将显示 IPv4 路由表,显示默认路由和特定网络的路由。由于你有两个网络接口,你将看到多个路由:

default via 172.16.50.253 dev eth0 proto dhcp src 172.16.50.116 metric 100
default via 172.16.50.253 dev eth1 proto dhcp src 172.16.50.117 metric 200
172.16.50.0/24 dev eth0 proto kernel scope link src 172.16.50.116 metric 100
172.16.50.0/24 dev eth1 proto kernel scope link src 172.16.50.117 metric 200

请注意,有两个具有不同指标(100 和 200)的默认路由,这意味着 eth0 由于其较低的指标值而具有优先级。两个接口都连接到同一网段(172.16.50.0/24)并使用相同的网关(172.16.50.253)。eth0 接口的 IP 地址为 172.16.50.116/24eth1 的 IP 地址为 172.16.50.117/24

要查看 IPv6 路由表,请使用 ip -6 route 命令:

ip -6 route

你将看到两个接口的 IPv6 路由条目:

::1 dev lo proto kernel metric 256 pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev eth1 proto kernel metric 256 pref medium

添加具有静态 IP 的新网络连接

在这一步中,你将学习如何使用 nmcli 命令行工具添加具有静态 IP 地址的新网络连接。nmcli 是一个强大的实用程序,用于控制 NetworkManager,它管理 Red Hat Enterprise Linux 上的网络连接。

首先,让我们检查当前的网络设备状态,以识别可用的接口。这将帮助我们选择要配置的接口。

nmcli dev status

你将看到类似这样的输出,显示诸如 eth0eth1 之类的设备及其各自的连接名称:

DEVICE  TYPE      STATE                   CONNECTION
eth0    ethernet  connected               System eth0
eth1    ethernet  connected               System eth1
lo      loopback  connected (externally)  lo

对于这个实验(Lab),我们将使用 eth0 接口来创建新的静态连接。请注意,你的系统已经具有名为 System eth0System eth1 的活动连接,这些连接由 NetworkManager 自动生成。

现在,让我们向 eth0 接口添加一个名为 static-eth0 的新网络连接。我们将使用静态 IPv4 地址、子网掩码和网关来配置它。基于当前的网络环境(172.16.50.0/24),我们将使用以下详细信息:

  • 连接名称: static-eth0
  • 接口名称: eth0
  • IPv4 地址: 172.16.50.200/24(这意味着 IP 地址 172.16.50.200,带有 24 位子网掩码)
  • 网关: 172.16.50.253(与当前网关相同)

执行以下命令以添加新连接。请记住使用 sudo,因为网络配置更改需要 root 权限。系统不会提示你输入密码。

注意: 如果你已经使用不同的 IP 范围(例如 192.168.1.10/24)创建了 static-eth0 连接,你应该首先删除它,然后使用此环境的正确 IP 范围重新创建它:

## 如果存在具有错误 IP 范围的现有连接,则将其删除
sudo nmcli con delete static-eth0
## 使用正确的 IP 范围添加新连接
sudo nmcli con add con-name static-eth0 type ethernet ifname eth0 ipv4.addresses 172.16.50.200/24 ipv4.gateway 172.16.50.253 ipv4.method manual

执行该命令后,你应该会看到一条确认消息,表明连接已成功添加:

Connection 'static-eth0' (d4c42169-4134-4d3a-9b31-e837d62601bd) successfully added.

让我们分解一下该命令:

  • sudo nmcli con add:这是添加新的 NetworkManager 连接的基本命令。
  • con-name static-eth0:这会将名称 static-eth0 分配给我们的新连接配置文件。
  • type ethernet:指定这是一个以太网类型的连接。
  • ifname eth0:将此连接配置文件绑定到 eth0 网络接口。
  • ipv4.addresses 172.16.50.200/24:设置静态 IPv4 地址和子网掩码。
  • ipv4.gateway 172.16.50.253:设置此连接的默认网关。
  • ipv4.method manual:将 IPv4 地址分配方法配置为手动(静态),防止它尝试通过 DHCP 获取 IP 地址。

现在,让我们验证是否已创建新的连接配置文件。我们可以使用 nmcli con show 列出所有可用的连接。

nmcli con show

你应该在你的连接中看到 static-eth0。请注意,它尚未激活(未分配设备),而系统生成的连接已激活:

NAME         UUID                                  TYPE      DEVICE
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0
System eth1  9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  ethernet  eth1
lo           9eac3150-dd39-47e6-a375-f7165442a8eb  loopback  lo
static-eth0  d4c42169-4134-4d3a-9b31-e837d62601bd  ethernet  --

在下一步中,我们将学习如何激活这个新创建的连接。

激活和停用网络连接

在这一步中,你将学习如何使用 nmcli 命令激活和停用网络连接。激活连接会启动网络接口并应用在连接配置文件中定义的配置。停用连接会关闭接口。

首先,让我们列出所有网络连接以查看它们当前的状态。这将帮助我们识别 eth0 上哪个连接处于活动状态。

nmcli con show

你将看到类似这样的输出。请注意,System eth0 当前在 eth0 上处于活动状态,而 static-eth0 未激活:

NAME         UUID                                  TYPE      DEVICE
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0
System eth1  9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04  ethernet  eth1
lo           8fe3e894-2a2e-446f-9abc-cdf612f0d973  loopback  lo
static-eth0  66094d3b-f21a-44f9-b1ef-3b2b2659e487  ethernet  --

现在,让我们激活你在上一步中创建的 static-eth0 连接。

重要提示: 由于我们正在远程环境中工作,因此在主接口(eth0)上激活具有不同 IP 地址的连接可能会导致你的远程连接中断。在生产环境中,你通常会:

  1. 使用辅助接口进行测试
  2. 具有对机器的控制台访问权限
  3. 将连接配置为使用与你当前连接相同的 IP 范围

对于这个实验(Lab),我们将使用 eth1 而不是 eth0 以避免连接中断。让我们首先为 eth1 创建一个静态连接:

sudo nmcli con add con-name static-eth1 type ethernet ifname eth1 ipv4.addresses 172.16.50.201/24 ipv4.gateway 172.16.50.253 ipv4.method manual

现在激活 static-eth1 连接:

sudo nmcli con up static-eth1

你应该会看到一条确认消息,表明连接已成功激活:

Connection 'static-eth1' successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/X)

激活 static-eth1 后,原始的 System eth1 连接将自动停用,因为每个设备只能有一个连接处于活动状态。让我们再次验证你的网络设备和连接的状态。

nmcli dev status

你现在应该看到 eth1static-eth1 连接相关联,而 eth0 仍保持其原始连接:

DEVICE  TYPE      STATE      CONNECTION
eth0    ethernet  connected  System eth0
eth1    ethernet  connected  static-eth1
lo      loopback  connected  lo

让我们再次检查连接列表以确认 static-eth1 处于活动状态:

nmcli con show --active

你应该看到 static-eth1 被列为活动连接,以及其他活动连接:

NAME         UUID                                  TYPE      DEVICE
System eth0  5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03  ethernet  eth0
lo           9eac3150-dd39-47e6-a375-f7165442a8eb  loopback  lo
static-eth1  xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx  ethernet  eth1

现在,让我们验证 eth1 接口是否具有你配置的静态 IP 地址。

ip addr show eth1

输出现在应该显示 172.16.50.201/24 作为 eth1 的 IPv4 地址:

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:16:3e:0f:9e:51 brd ff:ff:ff:ff:ff:ff
    altname enp0s7
    altname ens7
    inet 172.16.50.201/24 brd 172.16.50.255 scope global eth1
       valid_lft forever preferred_lft forever
    inet6 fe80::216:3eff:fe0f:9e51/64 scope link
       valid_lft forever preferred_lft forever

最后,让我们学习如何停用网络连接。你可以断开设备连接,这将关闭该设备上的活动连接。

sudo nmcli dev disconnect eth1

你应该会看到一条确认消息:

Device 'eth1' successfully disconnected.

再次验证设备状态。eth1 现在应该处于 disconnected 状态。

nmcli dev status
DEVICE  TYPE      STATE         CONNECTION
eth0    ethernet  connected     System eth0
eth1    ethernet  disconnected  --
lo      loopback  connected     lo

请注意,断开设备连接也将停用先前在该设备上处于活动状态的连接。如果你想恢复原始的 System eth1 连接,你将再次使用 sudo nmcli con up "System eth1" 激活它(请注意,由于空格,连接名称周围有引号)。对于这个实验(Lab),我们暂时将 eth1 保持断开状态。

修改现有网络连接设置

在这一步中,你将学习如何使用 nmcli 命令修改现有网络连接的设置。当你需要更新 IP 地址、DNS 服务器或其他网络参数时,这是一项常见的任务。

首先,让我们确保我们的 static-eth1 连接处于活动状态,因为我们将修改其设置。如果它未激活,请立即激活它。

sudo nmcli con up static-eth1

如果它被激活,你应该会看到一条确认消息,或者一条表明它已经处于活动状态的消息。

Connection 'static-eth1' successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/X)

现在,让我们查看 static-eth1 连接的当前设置。此命令将显示连接的所有已配置属性。

nmcli con show static-eth1

你将看到连接属性的详细输出。请注意 ipv4.addressesipv4.gateway 行。

connection.id:                          static-eth1
connection.uuid:                        xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
connection.interface-name:              eth1
...
ipv4.addresses:                         { ip = 172.16.50.201/24, gw = 172.16.50.253 }
ipv4.gateway:                           172.16.50.253
...

让我们将 static-eth1 的 IPv4 地址修改为 172.16.50.221/24,并保持相同的网关 172.16.50.253

sudo nmcli con mod static-eth1 ipv4.addresses 172.16.50.221/24 ipv4.gateway 172.16.50.253

此命令将修改连接配置文件。但是,要使更改生效,你需要停用然后重新激活连接。

首先,停用 eth1 设备:

sudo nmcli dev disconnect eth1

你应该会看到:

Device 'eth1' successfully disconnected.

然后,重新激活 static-eth1 连接:

sudo nmcli con up static-eth1

你应该会看到:

Connection 'static-eth1' successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/X)

现在,让我们验证 IP 地址和网关是否已更新。

ip addr show eth1

输出现在应该反映新的 IP 地址 172.16.50.221/24。请注意,你可能还会看到来自先前配置的辅助 IP 地址:

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:16:3e:0f:a2:70 brd ff:ff:ff:ff:ff:ff
    altname enp0s7
    altname ens7
    inet 172.16.50.221/24 brd 172.16.50.255 scope global noprefixroute eth1
       valid_lft forever preferred_lft forever
    inet 172.16.50.122/24 brd 172.16.50.255 scope global secondary noprefixroute eth1
       valid_lft forever preferred_lft forever

并检查路由表以确认网关:

ip route

你应该会看到两个接口的路由,其中 eth1 具有新的 IP 地址。请注意,如果存在辅助 IP 地址,你可能会看到其他路由:

default via 172.16.50.253 dev eth0 proto dhcp src 172.16.50.121 metric 100
default via 172.16.50.253 dev eth1 proto static metric 101
172.16.50.0/24 dev eth0 proto kernel scope link src 172.16.50.121 metric 100
172.16.50.0/24 dev eth1 proto kernel scope link src 172.16.50.221 metric 101
172.16.50.0/24 dev eth1 proto kernel scope link src 172.16.50.122 metric 101

你还可以从多值设置(如 DNS 服务器)中添加或删除特定值。让我们向我们的 static-eth1 连接添加一个 DNS 服务器 8.8.8.8

sudo nmcli con mod static-eth1 +ipv4.dns 8.8.8.8

要应用此更改,你需要再次停用并重新激活连接。你可以在单独的行上运行这些命令,也可以将它们组合起来:

sudo nmcli dev disconnect eth1
sudo nmcli con up static-eth1

验证 DNS 设置:

nmcli con show static-eth1 | grep ipv4.dns

你应该看到 8.8.8.8 被列为 DNS 服务器:

ipv4.dns:                               8.8.8.8

配置系统主机名和名称解析

在这一步中,你将学习如何配置你的系统的主机名并管理名称解析设置。主机名是在网络上标识你的系统的唯一名称,而名称解析是将主机名转换为 IP 地址,反之亦然的过程。

首先,让我们使用 hostname 命令检查你系统的当前主机名。

hostname

你将看到当前的主机名,它可能是一个默认值,例如 hostlocalhost.localdomain

host

要设置静态主机名,我们使用 hostnamectl 命令。此命令修改 /etc/hostname 文件,该文件在重新启动后保留主机名。让我们将主机名设置为 server.labex.example.com

sudo hostnamectl set-hostname server.labex.example.com

设置主机名后,你可以使用 hostnamectl status 验证它。

hostnamectl status

你应该看到列出的新的静态主机名:

 Static hostname: server.labex.example.com
       Icon name: computer-vm
         Chassis: vm 🖴
      Machine ID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
         Boot ID: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
  Virtualization: kvm
Operating System: Red Hat Enterprise Linux 9.6 (Plow)
     CPE OS Name: cpe:/o:redhat:enterprise_linux:9::baseos
          Kernel: Linux 5.14.0-xxx.el9.x86_64
    Architecture: x86-64
 Hardware Vendor: Alibaba Cloud
  Hardware Model: Alibaba Cloud ECS

你也可以直接检查 /etc/hostname 文件的内容:

cat /etc/hostname

这将显示你的新主机名:

server.labex.example.com

接下来,让我们配置名称解析。Linux 系统通常在查询 DNS 服务器之前使用 /etc/hosts 文件进行本地主机名到 IP 地址的映射。让我们为虚构的服务器 webserver.labex.example.com 添加一个条目到 /etc/hosts,其 IP 地址为 192.168.1.100

我们将使用 sudo nano 编辑 /etc/hosts 文件。

sudo nano /etc/hosts

在文件末尾添加以下行:

192.168.1.100   webserver.labex.example.com

Ctrl+X,然后按 Y 保存,再按 Enter 确认文件名。

现在,让我们验证该条目是否存在于 /etc/hosts 中:

cat /etc/hosts

你应该看到你添加的条目:

127.0.0.1       localhost localhost.localdomain localhost4 localhost4.localdomain4
::1             localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.100   webserver.labex.example.com

要使用 /etc/hosts 文件测试主机名解析,你可以使用 getent hosts 命令。此命令查询名称服务切换(NSS,Name Service Switch)配置,其中包括 /etc/hosts

getent hosts webserver.labex.example.com

你应该看到从你的 /etc/hosts 文件解析的 IP 地址:

192.168.1.100   webserver.labex.example.com

最后,让我们看看 /etc/resolv.conf 文件,它控制如何执行 DNS 查询。NetworkManager 通常管理此文件。在上一步中,你将 8.8.8.8 作为 DNS 服务器添加到你的 static-eth1 连接。让我们验证它是否出现在 /etc/resolv.conf 中。

cat /etc/resolv.conf

你应该看到 nameserver 8.8.8.8 与其他系统名称服务器一起列出:

## Generated by NetworkManager
search labex.example.com
nameserver 100.100.2.136
nameserver 100.100.2.138
nameserver 8.8.8.8

注意:search 指令和系统名称服务器可能会根据你的环境而有所不同。重要的是 8.8.8.8 出现在列表中。

测试网络连接和名称解析

在最后一步中,你将使用各种命令行工具测试网络连接和名称解析。这将帮助你确认你的网络配置是否按预期工作。

首先,让我们使用 ping 命令测试到已知 IP 地址的基本网络连接。我们将 ping 在上一步中配置的网关 172.16.50.253-c3 选项仅发送 3 个数据包。

ping -c3 172.16.50.253

你应该看到成功的回复,表明与你的网关的连接:

PING 172.16.50.253 (172.16.50.253) 56(84) bytes of data.
64 bytes from 172.16.50.253: icmp_seq=1 ttl=64 time=0.052 ms
64 bytes from 172.16.50.253: icmp_seq=2 ttl=64 time=0.049 ms
64 bytes from 172.16.50.253: icmp_seq=3 ttl=64 time=0.045 ms

--- 172.16.50.253 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 0.045/0.049/0.052/0.003 ms

注意:如果需要,你可以随时按 Ctrl+C 中断 ping 命令。

接下来,让我们测试你添加到 /etc/hostswebserver.labex.example.com 条目的名称解析。我们将再次使用 getent hosts,因为它首先咨询 /etc/hosts

getent hosts webserver.labex.example.com

你应该看到返回的 IP 地址 192.168.1.100

192.168.1.100   webserver.labex.example.com

现在,让我们使用 host 命令测试外部主机名(如 google.com)的 DNS 解析。此命令查询你配置的 DNS 服务器(其中应该包括来自你的 static-eth0 连接的 8.8.8.8)。

host google.com

你应该看到 google.com 的 IP 地址:

google.com has address 142.251.46.174
google.com has IPv6 address 2607:f8b0:4005:802::200e
google.com mail is handled by 10 smtp.google.com.

dig 命令是另一个用于查询 DNS 名称服务器的强大工具。它提供了关于 DNS 查询的更详细信息。

dig google.com

你将看到更详细的输出,包括响应的 DNS 服务器和查询详细信息:

; <<>> DiG 9.16.23-RH <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21983
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;google.com.                    IN      A

;; ANSWER SECTION:
google.com.             1       IN      A       142.251.46.174

;; Query time: 1 msec
;; SERVER: 100.100.2.136#53(100.100.2.136)
;; WHEN: Mon Jun 16 10:18:26 CST 2025
;; MSG SIZE  rcvd: 44

最后,让我们使用 ss 命令显示套接字统计信息并确认活动网络连接。我们将使用 -t 表示 TCP 套接字,-a 表示所有(监听和已建立)套接字。

ss -ta

你将看到系统上 TCP 连接和监听端口的列表:

State                                Recv-Q                                Send-Q                                                               Local Address:Port                                                                      Peer Address:Port
LISTEN                               0                                     128                                                                        0.0.0.0:exlm-agent                                                                     0.0.0.0:*
LISTEN                               0                                     128                                                                        0.0.0.0:ssh                                                                            0.0.0.0:*
ESTAB                                0                                     0                                                                    172.16.50.121:exlm-agent                                                               172.16.50.251:36354
LISTEN                               0                                     128                                                                           [::]:ssh                                                                               [::]:*

这结束了关于管理网络的实验。你已成功验证了网络配置,添加和修改了连接,配置了主机名和名称解析,并测试了连接性。

总结

在这个实验中,我们获得了在 Red Hat Enterprise Linux 系统上管理网络接口和主机名配置的实践经验。我们首先使用 ip linkip addr 命令验证了网络接口状态和 IP 地址,了解了如何解释它们的输出来进行网络诊断。

随后,我们学习了如何添加具有静态 IP 地址的新网络连接,激活和停用这些连接,以及修改现有的网络设置,展示了使用 nmcli 进行网络管理的熟练程度。最后,我们配置了系统主机名和名称解析,并验证了网络连接和名称解析,巩固了我们对基本 Linux 网络概念的理解。