我正在更改 VPS 的反向 DNS。VPS 显示子域 ( vmi000.contaboserver.net) 作为主机名,我想使用自己的根标签域作为主机名。请考虑/etc/hostsVPS 服务器中的示例脚本 –

127.0.0.1       localhost
127.0.1.1       vmi000.contaboserver.net vmi000

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff99::1 ip6-allnodes
ff99::2 ip6-allrouters
46.250.333.33    vmi000.contaboserver.net vmi000

我想将主机名更新为我的域名之一(例如:)example.com。下面的脚本有什么错误吗?

127.0.0.1       localhost
127.0.1.1       example.com

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff99::1 ip6-allnodes
ff99::2 ip6-allrouters
46.250.333.33    example.com

/etc/hostnameJFYI:我还用更新了 的内容example.com


最佳答案
1

您的域名更改没有问题,但即使您打算将整个 FQDN 放入 /etc/hostname,您仍应确保主机名(即,在您的情况下只是第一个组件example)也解析为某个本地地址。因此您的 /etc/hosts 行应该显示:

127.0.1.1 example.com example
 - or -
46.250.333.33 example.com example

(尽管两条线是多余的。eth0 IP 或 loopback IP 就足够了。)

换句话说,hostname和 的输出都hostname -s应该解析为系统自己的地址 – 以下命令都应该有效:

ping -4 $(hostname)
ping -4 $(hostname -s)
ping -6 $(hostname)        # optional
ping -6 $(hostname -s)     # optional
getent hosts $(hostname)
...

就我个人而言,我认为根域对于系统主机名来说是一个非常糟糕的选择。

另外:多播地址应该以 开头ff00::,而不是ff99::。(虽然这些条目无论如何都是完全没用的,但它说的是 ff99::1 这一事实有点奇怪。)

3

  • 为什么您认为根域对于系统主机名来说不是一个好的选择?


    – 

  • 如果您以网站名称命名服务器,则意味着您永远只有一台服务器,并且该服务器永远只托管一个网站。这就像 Apple 的 CEO 将其名字改为“Apple CEO 先生”。(我有点老派,来自以 LoTR 角色或其他名称命名服务器更为常见的时代,但这也适用于通用名称 – 也许最终您将拥有 web2、web3、mail1-2 等。)


    – 

  • 它也无法使用“域名后缀搜索”功能,系统会扩展对裸名称的查询以自动添加后缀。假设几年后您确实拥有多台服务器,并且您在“web01.example.com”上并执行“ssh mail03”,它会转到“mail03.example.com”,但如果您只在“example.com”上,那就变成了……“mail03.com”?这不一定有害,但有点混乱。


    –