配置主机名解析

Red Hat Enterprise LinuxBeginner
立即练习

介绍

在本挑战中,你将学习如何在 Linux 系统上配置主机名解析。正确的主机名解析对于网络通信至关重要。你将练习使用 /etc/hosts 文件设置静态主机名解析,然后配置系统使用 DNS 服务器进行动态解析。

这是一个「挑战」项目,它与「引导实验」不同,你需要尝试独立完成挑战任务,而不是按照实验步骤一步步学习。挑战通常具有一定的难度。如果你觉得困难,可以与 Labby 讨论或查看解决方案。历史数据显示,这是一个 初学者 级别的挑战,通过率为 85%。它在学习者中获得了 100% 的好评率。

配置静态主机名解析

你的第一个任务是配置静态主机名解析。这种方法适用于小型网络或用于覆盖公共 DNS 记录。你将编辑 /etc/hosts 文件,将一个 IP 地址映射到特定的主机名。

任务

  • myhost.example.com 配置静态主机名解析。

要求

  • 编辑 /etc/hosts 文件,将 IP 地址 192.168.1.100 映射到主机名 myhost.example.com
  • 验证主机名 myhost.example.com 是否能正确解析为 192.168.1.100

提示

  • 使用具有 sudo 权限的命令行文本编辑器(如 nanovi)来编辑 /etc/hosts
  • getent hosts <hostname> 命令是测试名称解析的一种可靠方式。

示例

正确配置 /etc/hosts 文件后,getent 命令的输出应如下所示:

$ getent hosts myhost.example.com
192.168.1.100   myhost.example.com
✨ 查看解决方案并练习

配置动态主机名解析

现在,你将从静态解析切换到动态(基于 DNS)解析。在本练习中,你的本地机器(127.0.0.1)上已经预先配置并运行了一个简单的 DNS 服务器。你的任务是禁用静态条目,并配置系统使用该 DNS 服务器。

任务

  • 禁用上一步中的静态主机名条目。
  • 配置系统使用本地 DNS 服务器。

要求

  • 必须禁用 /etc/hostsmyhost.example.com 的静态条目。你可以通过删除该行或在行首添加 # 进行注释来实现。
  • 配置系统的 DNS 客户端,使其使用位于 127.0.0.1 的名称服务器(nameserver)。
  • 使用 dig 命令验证新配置。

提示

  • 配置 DNS 客户端的主要文件是 /etc/resolv.conf
  • dig 命令是查询 DNS 服务器的强大工具。

示例

在正确配置解析器并禁用静态主机条目后,dig 命令应产生类似于以下的输出,显示来自服务器的解析结果:

$ dig myhost.example.com

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

;; QUESTION SECTION:
;myhost.example.com.            IN      A

;; AUTHORITY SECTION:
example.com.            5       IN      SOA     ns.icann.org. noc.dns.icann.org. 2025011748 7200 3600 1209600 3600

;; Query time: 62 msec
;; SERVER: 100.100.2.136#53(100.100.2.136)
;; WHEN: Fri Aug 15 17:18:27 CST 2025
;; MSG SIZE  rcvd: 101
✨ 查看解决方案并练习

总结

在本挑战中,你学习了如何管理基础主机名解析。你练习了通过编辑 /etc/hosts 文件配置静态解析,然后通过 /etc/resolv.conf 文件将系统配置为 DNS 客户端,从而切换到动态解析。这些都是 Linux 网络配置和系统管理中的核心技能。