我有一台装有两台虚拟机的 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