Linux

如何讓 ubuntu 使用 samba 來解析 Windows 主機名?

  • October 25, 2015

我有一台帶有兩個虛擬機的 Ubuntu 11.04 電腦:debian 和 windows xp。每個 vm 也有 Host-only 連接,所以我可以在沒有設置埠轉發的情況下從 Host 看到它們。

所有機器都可以使用 ip 地址相互 ping 通,但 linux 機器(ubuntu 主機和 debian 客戶機)無法按名稱 ping windows xp,只能使用“nmblookup”之類的工具或在 nautilus 中鍵入“smb://hostname”。Windows XP 可以按名稱 ping 所有機器。

當然,我一定是在 smb.conf 中遺漏了一些配置。這是我正在使用的目前一個:

[global]
workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
name resolve order = bcast host lmhosts wins     
printing = cups
printcap name = cups
printcap cache time = 750
cups options = raw
use client driver = yes
map to guest = Bad User
usershare allow guests = Yes
usershare max shares = 100
usershare owner only = False

任何幫助將不勝感激。

不僅僅是桑巴!

您需要安裝 Winbind,它還安裝了執行所需操作所需的 Name Service Switch 庫。如果/lib/libnss_winbind您的系統上存在,您需要做的就是修改以下hosts/etc/nsswitch.cfg

hosts     files dns winbind

關鍵是winbind線。這告訴 Linux 使用 Windows 系統進行名稱解析。

與之前的評論相同,但在Arch上有些不同……

首先,我確保nmblookup WinXpClient解決了正確的 ip 和 Nmbd 服務執行等問題。

在arch linux上,我必須安裝nss-mdns並編輯/etc/nsswitch.conf

hosts     files dns wins

(將勝利附加到主機行)

systemctl enable avahi-daemon.service
systemctl restart avahi-daemon.service
ping WinXpClient

它有效..或檢查resolveip WinXpClient

引用自:https://serverfault.com/questions/272965