Ubuntu 14.4 LTS 上的 DNS 解析問題

Ubuntu 14.4 LTS 上的 DNS 解析問題

我有一台運行 VirtualBox 的 Windows 8 主機和一台運行 Ubuntu 14.4 LTS 虛擬機器。

在 Ubuntu VM 中,我可以存取和解析每個外部站點的 DNS(例如:www.google.com),並且可以按名字解析 Intranet 站點,例如:anothermachine。

如果我使用在 Windows 上有效的完全限定域名,例如 anothermachine.mywindowsdomain.local,則無法在 Ubuntu VM 內解析該名稱。

這個盒子是由 vagrant 創建的。

該盒子正在使用 NetworkManager。

我用來ping檢查主機名稱是否正在解析。執行pingmybox 有效,執行 ping mybox.mydomain.local 無效。這兩種方法都適用於同一網路上的任何其他電腦。

解析設定檔

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.0.2.3

nsswitch.conf

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat
group:          compat
shadow:         compat

hosts:          files mdns4_minimal [NOTFOUND=return] dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

答案1

在我看來它是重複的無法解析本機網路中的 Windows 網域

.local在嘗試使用常規 DNS 伺服器之前,由 mDNS(Avahi 或 Bonjour)處理。 mDNS 應以以下形式解析名稱:machinename.local如果未獲取,則傳回NOT FOUND

你正在使用的東西在哪裡anothermachine.mywindowsdomain.local。這是應使用 DNS 解析的.local完整限定網域名稱的一部分。mywindowsdomain.local

  • 將名稱解析優先權清單變更/etc/nsswitch.conf為:

    hosts:          files dns mdns4_minimal [NOTFOUND=return]
    
  • 否則將 MS 網域變更為不同的名稱,例如:mywindowsdomain.loc

參考: 修復 MS 網域上 .local 位址的 Linux DNS 問題

相關內容