How can I make ubuntu use samba to resolve windows host names?
I have an Ubuntu 11.04 computer with two vms : debian and windows xp. Each vm also has Host-only connection so I can see them from Host without setting up port forwarding.
All machines can ping each other using ip addresses, but the linux machines(ubuntu host and debian guest) cant ping windows xp by name, only by using tools like 'nmblookup' or by typing 'smb://hostname' in nautilus. Windows XP can ping all machines by name.
Surely I must be missing some configuration in smb.conf. Here is the current one I'm using :
[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
Any help will be appreciated.
Solution 1:
It's not just Samba!
You need to have Winbind installed, which also installs the Name Service Switch library needed to do what you're looking for. If /lib/libnss_winbind
exists on your system, all you should need to do is modify the hosts
line in /etc/nsswitch.cfg
:
hosts files dns winbind
The key thing being the winbind
line. That tells Linux to use the Windows system for name-resolution.
Solution 2:
Same as the previous comment, but on Arch things are a bit different...
First I made sure nmblookup WinXpClient
resolves proper ip and Nmbd service running etc.
On arch linux I had to install nss-mdns
and edit /etc/nsswitch.conf
to
hosts files dns wins
(append wins to hosts line)
systemctl enable avahi-daemon.service
systemctl restart avahi-daemon.service
ping WinXpClient
and it works.. or check resolveip WinXpClient