我知道更改 DNS 记录以指向我的 IP 地址是使我的服务器可访问的方法,这样对 myDomain.com 的请求就会指向我的 IP 地址。话虽如此,为什么机器需要有主机名?如果 DNS 系统无论如何都会将请求路由到它,它为什么要关心它的主机名是什么?
另外,如果我正在运行一个简单的个人网络服务器,那么将主机名保留为“本地”就可以了吗?我应该将其更改为 FQDN 吗?
编辑 我刚刚在另一个 SO 网站上找到了一个很好的答案: https://unix.stackexchange.com/a/50529/32623
答案1
最佳实践要求您将主机名设置为有意义的名称 - 通常是服务器的 FQDN(如果系统具有与之关联的角色)多种的FQDN——就像共享的网络托管服务器一样——您通常会设置一个主机名(类似于webhosting001.provider.com
其本地主机名),并带有相应的 DNS 条目)。
这样做的原因有很多,但主要有两个:
正如 Nathan 提到的某些程序会将主机名用于各种目的。
无法解析的主机名可能会导致不可预测的行为。当您登录到计算机时,其本地主机名提供了一种方便的识别方法。
这是在重新启动主机之前进行自我检查的好方法。
在具有多台计算机的环境中,这也很重要——100 个系统全部调用local
会非常混乱,但 100 台名为 的计算机web##
,mail##
或选择并坚持其他命名方案) 使得它们很容易区分。
答案2
某些应用程序(apache,我正在查看你)使用主机名来查找服务器的 FQDN。此外,主机名可以更轻松地识别你所在的框。
答案3
对于任何服务器来说,添加主机名都是最佳做法。如果您将主机名保留为本地,并尝试通过另一台计算机联系其主机名,则可能会 ping 自己。
3 周前,我被一家姊妹公司叫去进行服务器故障排除,他们的主要 Active Directory 服务器名称是:WIN7740f-TMFYG。让我告诉你,这让我的生活比原本应该的要艰难得多
答案4
原因包括:
真正将服务器标识给您自己(这与给您的狗起名字没什么不同,而不仅仅是叫它“狗” - 优点是显而易见的)
反向查找/身份验证:例如,邮件服务器将其主机名放入电子邮件中,接收服务器将对该名称进行反向查找,以检查其是否与声明的 IP 相匹配。如果您没有正确执行这些操作,您的电子邮件将被标记为垃圾邮件。这很重要,即使对于“简单”的 Web 服务器(发送邮件)也是如此。
正如其他人提到的,非唯一名称令人困惑。local 是当前机器的符号名称。它不是机器的绝对名称。这就像记住你的出生日期是“昨天”一样:这只能持续一段时间,然后你就会遇到问题。
抽象。IP 是非常固定的东西,不能很好地适应变化——尤其是在现代互联网中,大多数用户并不拥有他们所在的地址范围。例如,如果您设置脚本通过其 IP(例如 112.134.23.14)联系您的服务器,并且该 IP 属于您当前的托管提供商“A Hosting”……那么当它们变得太贵,您转向“B Hosting”时会发生什么?您需要更改您的脚本!这很愚蠢。如果您为服务器提供了一个有意义的唯一名称,那么您的脚本将始终能够使用该名称来找到正确的服务器,即使它移动了。