我现在正在运行CentOS-7.0-1406,看起来我无法正确设置主机名。 据我所知,您需要使用hostnamectl set-hostname命令设置主机名,并在/ etc / hosts中写入FQDN。 我有一个centos机器,我想将它的主机名设置为“server”,将FQDN设置为“server.mydomain.com”。 我运行hostnamectl命令并编辑/ etc / hosts文件:
[root@server ~]# hostnamectl set-hostname server [root@server ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 {inet_IP_here} server.mydomain.com server
起初一切看起来都不错,当我运行主机名时,控制台显示主机名,当我运行主机名时显示FQDN -f :
[root@server ~]# hostname server [root@server ~]# hostname -f server.mydomain.com
但是,当我重新启动机器并再次运行相同的命令后,它开始显示FQDN作为主机名:
[root@server ~]# hostname server.mydomain.com
我必须说,这是一个VPS服务器, 我没有这样的问题,当我在本地虚拟机上。 也没有VPS控制面板中的任何设置,看起来像主机名。 什么原因可能导致这样的问题?
红帽文档明确指示您使用完全限定的域名作为机器的静态主机名 。 尝试用一个不合格的名字来命名服务器会导致各种服务的各种问题,尤其是电子邮件。
主机名称可以是最长64个字符的自由格式的string。 但是,红帽build议静态名称和临时名称都与用于DNS中计算机的完全限定域名 (FQDN)匹配,如
host.example.com
。
你应该这样做:
hostnamectl set-hostname server.example.com
您也可以手动编辑/etc/hostname
以达到相同的效果; 再次,它应该包含FQDN。
# cat /etc/hostname server.example.com
要在CentOS 7上正确设置主机名和FQDN,您需要设置/ etc / hostname以包含简短的节点名称,如:
# echo server > /etc/hostname
您需要在resolv.conf中添加域条目:
# echo 'domain mydomain.com' >> /etc/resolv.conf
之后重新启动。
注意:重新启动后,resolv.conf中的条目可能会丢失,所以要保留它,可能需要在networking脚本中设置DOMAIN =,如:
echo 'DOMAIN="mydomain.com"' >> /etc/sysconfig/network-scripts/ifcfg-eth0
将eth0replace为适当的接口,例如enp3s0。
echo“kernel.hostname = my.com”>> /etc/sysctl.conf