对于软件安装,我有以下要求:
hostname --fqdn
This command must return the FQDN of the server (for example, server2.subdomain.example.com).
hostname und hostname -s
This command must return the first part of the FQDN, that is the host name (for example, server2).
在原始配置中,hostname
也返回了 FQDN。
为了解决这个问题,我将其更改/etc/sysconfig/network
为包含以下内容:
NETWORKING=yes
HOSTNAME=server2
GATEWAY=1.2.3.4
我在/etc/hosts
里面添加了一行
127.0.0.1 server2.subdomain.example.com server2
HOSTNAME 以前是 FQDN。现在满足了上述要求。但是,ping server2
从同一网络内的另一台服务器(例如 server3)运行不再解析,而以前可以解析。现在我需要在此处输入 FQDN。
有没有什么办法可以同时实现这两个目标呢?
答案1
最快的方法(假设您没有太多服务器)是/etc/hosts
在所有涉及的服务器上进行编辑,以便每个服务器都知道每个其他服务器的 FQDN。
如果您需要超出此范围的任何东西,或者涉及的服务器足够多以至于上述操作不切实际,您可能需要设置一个本地 DNS 服务器,作为您所在区域的主服务器,并将任何其他请求转发到他们当前正在使用的 DNS 服务器。
答案2
为了避免重写所有 /etc/hosts 文件,我找到了以下解决方案:
编辑/etc/sysconfig/network-scripts/ifcfg-eth0
在末尾添加此行:
SEARCH "subdomain.example.com"
如果直接将“搜索”参数添加到/etc/resolv.conf
,它将在下次重启时被活动的 NetworkMananger 覆盖。