FreeIPA:安装程序未从主机文件解析域名

Mus*_*hid 3 domain-name-system linux freeipa rhel7 centos7

我在安装时遇到了问题FreeIPA。问题是每次我运行安装程序时,FreeIPA应用程序都不会从主机文件中读取,而是尝试使用 DNS 查询解析域名(我机器的主机名)。我正在与CentOS Linux release 7.3.1611 (Core)

以下是我的/etc/hosts文件中的条目:

[root@ipa ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.28.5 ipa.example.com ipa
Run Code Online (Sandbox Code Playgroud)

条目在 /etc/resolve.conf

[root@ipa ~]# cat /etc/resolv.conf 
# Generated by NetworkManager
search example.com
Run Code Online (Sandbox Code Playgroud)

如果我在上面添加一个 DNS 条目,域example.com将从该 DNS 解析,并且如果查询外部 DNS,则会观察到以下错误。

Please provide a realm name [EXAMPLE.COM]: 
Checking DNS domain example.com., please wait ...
ipa.ipapython.install.cli.install_tool(Server): ERROR    DNS zone example.com. already exists in DNS and is handled by server(s): a.iana-servers.net., b.iana-servers.net.
Run Code Online (Sandbox Code Playgroud)

所以我选择不添加 DNS 并使用resolve.conf如上所示的空文件。我也尝试将 设置nameserver为我的机器 IP,但没有运气。

为了让它强制从我的hosts文件中读取,我将nsswitch配置更改为仅从hosts文件中读取,但这仍然是徒劳的。请看下面我的/etc/nsswitch配置。

[root@ipa ~]# grep hosts /etc/nsswitch.conf
hosts:      files
Run Code Online (Sandbox Code Playgroud)

运行安装程序

[root@ipa ~]# ipa-server-install --setup-dns -a <passwd> -p <passwd>
Run Code Online (Sandbox Code Playgroud)

现在使用当前配置返回以下内容:

Please provide a realm name [EXAMPLE.COM]: 
Checking DNS domain example.com., please wait ...
Please provide the IP address to be used for this host name:
Run Code Online (Sandbox Code Playgroud)

因此,hosts 文件再次被忽略,安装程序要求针对域的 IP。

以下是一些测试,显示hostnameIP分辨率为成功的

[root@ipa ~]# ping ipa.example.com
PING ipa.example.com (192.168.28.5) 56(84) bytes of data.
64 bytes from ipa.example.com (192.168.28.5): icmp_seq=1 ttl=64 time=0.126 ms
^C
--- ipa.example.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.126/0.126/0.126/0.000 ms

[root@ipa ~]# getent hosts ipa.example.com
192.168.28.5    ipa.example.com ipa

[root@ipa ~]# telnet ipa.example.com
Trying 192.168.28.5...
Run Code Online (Sandbox Code Playgroud)

为长篇文章道歉,我对此很困惑,我无法弄清楚我错过了什么。对此问题的任何帮助将不胜感激。谢谢你。

PS:设置不是用于实时环境,而是用于测试目的。

小智 9

实际上,设置 IPA 服务器以最终替换现有的、正在运行的域的 DNS 服务器是一个合法的用例。“去购买一个新域”的答案未能解决潜在的技术问题。

这种情况可以通过指定ipa-server-install --allow-zone-overlap选项来处理,记录在这里