主机名中的数字前缀

主机名中的数字前缀

在 Ubuntu Server 安装程序中,我们无法将数字作为主机名的第一个字符。但是,安装后,我们可以发出 hostname 命令将服务器重命名为具有数字前缀。这种限制有什么原因吗?

例如,在安装程序中,我可以创建一个主机名

WebServer1 

但不是

0WebServer1 

但是,我可以创建一个名为

WebServer1 

然后,在 CLI 中将其重命名为

0WebServer1

请告知为何设置此限制以及解决此限制是否有任何注意事项。

答案1

可能是历史原因吧。

RFC 952,出版于 1985 年,标题为DOD 互联网主机表规范要求主机名包含字母(az)和数字(0-9),并且不能以数字开头:

  1. “名称”(网络、主机、网关或域名)是最多 24 个字符的文本字符串,由字母表 (AZ)、数字 (0-9)、减号 (-) 和句点 (.) 组成。请注意,句点仅在用于分隔“域名样式名称”的组件时才允许使用。(有关背景信息,请参阅 RFC-921“域名系统实施时间表”)。名称中不允许使用空格或空格字符。不区分大小写。 第一个字符必须是字母字符。最后一个字符不能是减号或句点。 用作网关的主机应将“-GATEWAY”或“-GW”作为其名称的一部分。不用作 Internet 网关的主机不应将“-GATEWAY”和“-GW”作为其名称的一部分。如果主机是 TAC,则其主机名的最后一部分应为“-TAC”(如果它是 DoD 主机)。不允许使用单字符名称或昵称。

(我强调)。

这是在RFC 1123四年后:

合法 Internet 主机名的语法已在 RFC-952 [DNS:4] 中指定。主机名语法的一个方面因此有所改变:第一个字符的限制放宽为允许字母或数字。主机软件必须支持这种更自由的语法。

因此,虽然后者在今天是允许的,但情况并非总是如此,而且我猜今天仍有不少人坚持这种惯例,这就是为什么程序员(错误地)强制执行这一点。

我认为有可能提交为安装程序的错误

它将在现代系统上运行,并且您应该不会在符合现代 DNS 标准的现代平台上看到任何问题。

相关内容