我有一个在 Amazon EC2 上运行的Fedora 20 云映像(以下称为“实例”)。我对持续设置其主机名有一些不确定性。
在这种情况下,假设我想将实例的主机名设置为penpen.homelinux.org。(此名称也将使用 注册到 DynDNS ddclient,但这是我们在这里不感兴趣的另一个方面。)
主机名当然可以在引导完成后手动设置(使用hostnamectl等等)。但是我们希望在第一次登录之前设置正确的主机名。
传统上,要持久地配置主机名,需要修改/etc/hostname. 不幸的是,这在这里不起作用。
默认情况下,实例将其主机名设置为内部 EC2 名称。启动后,我们可以查看所有产生主机名的不同地方,我们发现:
Kernel hostname via 'sysctl' : ip-10-164-65-105.ec2.internal
Kernel domainname via 'sysctl' : (none)
File '/etc/hostname' : contains 'ip-10-164-65-105.ec2.internal'
File '/etc/sysconfig/network' : exists but has no 'HOSTNAME' line
According to the shell : HOSTNAME = ip-10-164-65-105.ec2.internal
Nodename given by 'uname --nodename' : ip-10-164-65-105.ec2.internal
Hostname ('hostname') : ip-10-164-65-105.ec2.internal
Short hostname ('hostname --short') : ip-10-164-65-105 …Run Code Online (Sandbox Code Playgroud) 我在 EC2 上运行 Amazon Linux(基于 RHEL5)。
我有自己的域名指向实例的弹性 IP。Amazon 通过 DHCP 自动为实例分配一个通用(并且在 Internet 上不可见)主机名。
这个仅供内部使用的主机名会中断发送电子邮件,因为 SMTP 服务器想要查看真实(和公共)主机名。我可以通过手动运行“主机名”命令来设置真正的公共主机名来修复电子邮件。
我在 /etc/sysconfig/network 中设置了 HOSTNAME,但 DHCP 主机名似乎覆盖了它。
有没有一种好的/正确的方法来设置我的主机名并且总是忽略 DHCP 对它的看法,而仍然使用 DHCP 否则?
我可以想到很多麻烦的事情要做(运行一个脚本来撤销 DHCP 所做的事情,或者其他什么),但想知道是否有一个实际的配置设置来强制主机名。