浅谈主机名
创始人
2024-03-02 08:44:05
0

主机名是人类用来指代特定计算机的标签。

计算机有网络地址,但人类通常很难记住它们。主机名是帮助人类参考特定计算机的标签。例如,你可能不会导航到 192.168.1.4,而是导航到 linuxlaptoplinuxlaptop.local

地址和名称

所有联网的计算机(也被称为 主机 host )都需要一个地址:一个与之相关的唯一数字,以使数据报文能够在它们之间进行正确的数据通信。这就是所谓的 互联网协议 Internet Protocol (IP)地址。数字 54.204.39.132 是一个 互联网协议第四版 Internet Protocol version 4 (IPv4)地址。较新的 IPv6 地址要长得多,像这样:2001:0db6:3c4d:0017:0000:0000:2a2f:1a2b。 哇!这将是很难记住的!

$ ip addr show

计算机也可以被赋予标签。被称为 主机名 hostname ,这些是友好的名称,便于参考。我可以把我的计算机的主机名设置为 copperhead。只要这个名字在网络上是唯一的,所有其他用户和计算机都可以把 copperhead 作为地址,而不是 IP 地址。

$ hostname -s

你可以更新你的计算机的主机名。

阅读 Seth Kenlon 的文章 如何在 Linux 上更改主机名,了解如何在 Linux 上这样做。

完全限定域名

从技术上讲,主机名包括一个域名。如果我的域名是 mycompany.com,那么我的计算机的主机名是 copperhead.mycompany.com,以句点分隔。这就形成了一个 完全限定域名 fully qualified domain name (FQDN)。这很重要,因为 IP 地址可以解析为 FQDN。

host.domain.topleveldomain

例如:www.example.com 是一个完全限定域名。

你的域名一般已经确定了,所以你只负责提供主机部分。本文的重点是主机。

名称解析

将 IP 地址转换为相应的主机名的过程被称为名称解析。这个过程首先发生在本地主机表中。Linux 使用文件 /etc/hosts 来存储这个表。

cat /etc/hosts

还有一个分层的、去中心化的基于网络的系统提供解析,称为 域名系统 Domain Name System (DNS)。这时 FQDN 变得非常重要。

$ dig www.opensource.com

名称的乐趣

为我们的计算机起名字可能很有趣。如果你有很多,你可以使用一个主题。我曾经为一家公司工作,该公司将所有的服务器都以蛇命名。

后来我工作的一家公司,我是一个数据中心经理,使用啤酒品牌。当我们收到一个新的服务器时,这很令人兴奋,因为我会给开发团队发邮件征求建议。我们大约有 100 台服务器。这些提供了一个有趣的清单,反映了公司的多样性。我们有从库尔斯和百威到阿姆斯特尔和浅粉象的一切。我们有虎牌啤酒、胜狮啤酒和札幌啤酒等等!

我们认为这很酷!然后,想象一下,当你试图记住卢云堡是拥有最多内存的虚拟化服务器,佩罗尼是 SQL 数据库服务器,喜力是新的域控制器时,会发生什么,特别是对于一个快速发展的公司的新员工。

惯例

当然,主机名是所有者的选择,所以请尽情发挥。然而,根据环境的不同,使用容易记忆的名字或基于命名惯例的名字可能更有意义,因为这些名字有利于描述主机。

有用的名字

如果你想放弃有趣的东西,并对你的系统进行有益的命名,也许可以考虑它们的功能。数据库服务器可以被命名为 database1database2database3 等等。Web 服务器可以命名为 webserver1webserver2 等等。

位置名称

我在许多客户那里使用了一种技术,用一组字符的位置来命名服务器主机,这些字符描述了该系统的一个方面,有助于识别。例如,如果我正在为内政部(DOI)开发一个业务流程管理(BPM)系统,我就会在命名规则中加入他们的缩写词。

此外,就像许多大型企业、金融机构和政府一样,他们可能有不同的数据中心,位于不同的地理位置,以达到性能或灾难恢复的目的。因此,比如说,位于北美大陆东海岸的数据中心被称为 ED(East Data center),而位于西海岸的数据中心则是 WD(West Data center)。

所有这些信息将汇集到一个名称中,如 doibpm1eddoibpm1wd。因此,虽然这些名字看起来不长,但在这个项目上工作的人可以很容易地识别它们的目的和位置,而且这个名字甚至可以对潜在的恶意者混淆它们的用途。换句话说,业主可以选择只对内部人员有意义的命名方式

互联网标准

有几个标准管理着主机名。你可以在 互联网工程任务组 Internet Engineering Task Force (IETF)维护的 意见征求 Requests for Comment (RFC)中找到这些标准。由此,请遵守以下规定:

  • 主机名的长度应该在 1 到 63 个 ASCII 字符之间
  • 一个 FQDN 的最大长度为 253 个 ASCII 字符
  • 不区分大小写
  • 允许的字符:az09-(连字符),和 _(下划线)。

我希望这篇文章能帮助你澄清主机名。玩得开心,发挥创意。


via: https://opensource.com/article/21/10/what-hostname

作者:Alan Formy-Duval 选题:lujun9972 译者:geekpi 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

如何配置CentOS系统的...
在CentOS系统中,主机名作为服务器的重要标识,对本地管理和网络...
2025-03-10 11:11:32
不依赖网络连接的主机名替代...
一种不依赖网络连接的主机名替代方案是使用本地的主机名映射表。这可以...
2025-01-11 06:00:48
不同安卓应用程序中具有相同...
在安卓应用程序中,可以使用以下方法来解决不同应用程序中具有相同主机...
2025-01-08 06:01:06
部署中主机名与证书主题不匹...
部署中主机名与证书主题不匹配错误通常是由于证书主题与部署的主机名不...
2025-01-08 02:01:35
部署失败,出现反亲和规则错...
这个错误是由于在部署过程中,缺少了必需的"kubernetes.i...
2025-01-07 20:31:39
部署Next.js时无法删...
打开 package.json 文件,找到 "scripts" 对...
2025-01-07 19:01:15

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...
Motrix:一个漂亮的跨平台... 一个开源的下载管理器,提供了一个简洁的用户界面,同时提供了跨平台操作的所有基本功能。在这里了解关于它...
Bash 脚本中如何使用 he... here 文档 here document (LCTT 译注:here 文档又称作 heredoc ...
使用 dialog 和 jq ... 为何选择文字用户界面(TUI)?许多人每日都在使用终端,因此, 文字用户界面 Text User I...