Linux
FreeIPA:安裝程序無法從主機文件中解析域名
我在安裝時遇到了問題
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
條目
/etc/resolve.conf
[root@ipa ~]# cat /etc/resolv.conf # Generated by NetworkManager search example.com
如果我在上面添加一個 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.
resolve.conf
所以我選擇不添加 DNS 並使用如上所示的空文件。我也嘗試將其設置nameserver
為我的機器 IP,但沒有成功。為了讓它強制從我的
hosts
文件中讀取,我將nsswitch
配置更改為僅從hosts
文件中讀取,但這仍然是徒勞的。請看下面我的/etc/nsswitch
配置。[root@ipa ~]# grep hosts /etc/nsswitch.conf hosts: files
執行安裝程序
[root@ipa ~]# ipa-server-install --setup-dns -a <passwd> -p <passwd>
現在使用目前配置返回以下內容:
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:
因此,hosts 文件再次被忽略,安裝程序要求針對域的 IP。
以下是一些顯示
hostname
解決IP
方案成功的測試[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...
為這篇長文道歉,我對此非常堅持,我無法弄清楚我錯過了什麼。對此問題的任何幫助將不勝感激。謝謝你。
PS:該設置不適用於實時環境,僅用於測試目的。
實際上,設置 IPA 伺服器以最終替換現有的、正在執行的域 DNS 伺服器是一個合法的案例。“去購買一個新域名”的答案未能解決潛在的技術問題。
這種情況可以通過指定
ipa-server-install --allow-zone-overlap
選項來處理,記錄在這裡。
您不能使用其他人控制的域名。如果您嘗試這樣做,則會收到此處顯示的錯誤。
相反,請使用您自己的域名的子域。如果您沒有域名,可以從眾多域名註冊商處以非常便宜的價格獲得一個。