我怎样才能让 ubuntu 使用 samba 来解析 windows 主机名?

我怎样才能让 ubuntu 使用 samba 来解析 windows 主机名?

我有一台装有两台虚拟机的 Ubuntu 11.04 计算机:debian 和 windows xp。每台虚拟机还具有仅主机连接,因此我可以从主机看到它们,而无需设置端口转发。

所有机器都可以使用 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

任何帮助将不胜感激。

答案1

不只是桑巴!

您需要安装 Winbind,它还会安装执行所需操作所需的名称服务切换库。如果/lib/libnss_winbind您的系统上存在该库,则您需要做的就是修改以下hosts/etc/nsswitch.cfg

hosts     files dns winbind

关键是这一winbind行。它告诉 Linux 使用 Windows 系统进行名称解析。

答案2

与上一条评论相同,但在事情有点不一样……

首先我确保nmblookup WinXpClient解析正确的 IP 并且 Nmbd 服务正在运行等等。

在 Arch Linux 上我必须安装nss-mdns/etc/nsswitch.conf编辑

hosts     files dns wins

(将 wins 附加到 hosts 行)

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

并且有效..或检查resolveip WinXpClient

相关内容