在 EC2 实例上设置完全限定域名

在 EC2 实例上设置完全限定域名

我正在尝试在 EC2 实例上设置完全限定域名。我已在 Route53 中设置了 CNAME 条目,因此当我转到 sync1.staging1.mycompany.net 时,它会解析到正确的实例。

我到目前为止所做的没有成功,我已经编辑了/etc/主机名(因此重启后保持不变):

sync1.staging1.mycompany.net

然后我使用 hostname 命令来设置主机名:

sudo hostname sync1.staging1.mycompany.net

然后我编辑了/etc/hosts并确保这一行存在:

127.0.0.1 localhost sync1.staging1.mycompany.net sync1

问题是,当我跑步时主机名 -f,我得到:

localhost

当我跑步时主机名 -s,我得到正确的结果:

sync1

当我跑步的时候主机名没有参数,我得到:

sync1.staging1.mycompany.net sync1

问题是我试图运行一个 Puppet 清单,它需要设置完全限定的域名,否则运行时会出现错误puppet 应用清单/site.pp

Error: Could not find default node or by name with 'sync1.eu-west-1.compute.internal, sync1.eu-west-1.compute, sync1.eu-west-1, sync1' on node sync1.eu-west-1.compute.internal
Error: Could not find default node or by name with 'sync1.eu-west-1.compute.internal, sync1.eu-west-1.compute, sync1.eu-west-1, sync1' on node sync1.eu-west-1.compute.internal

这是在 Ubuntu 12.04 LTS 上运行的 EC2 实例。

有什么想法吗?我是否需要为实例设置弹性 IP 地址,以使其具有完全限定的域名?

答案1

hostname -f 将返回 127.0.0.1 之后的第一个名称

因此,只需切换 localhost 和您的 fqdn 就会为您提供正确的返回地址,而 localhost 别名仍然有效。

相关内容