Thursday, September 20, 2007

How to get Linux box ping a Windows machine via netbios/wins

Name resolution in Linux is controlled by System Databases and Name Switch Configuration file which is located in /etc/nsswitch.conf, at least for my Debian based system. Note this is only true I think with libc5 and newer with NYS support and the GNU C Library 2.x (libc.so.6). The most import section to get a Linux to ping a Windows machine is the hosts statement.
# ~: nano /etc/nsswitch.conf

# <----- several lines before this one
hosts: files dns wins

What this says is that the gethostbyname and similar functions will first check the local database (/etc/hosts). If the name cannot be found then do use dns and finally wins.

But for wins lookup to work, winbind needs to be installed. Winbind provides 3 major functions for integrating with Windows network. But we are not really using anyone of those 3 major functions but rather we need the functionality provided by /lib/libnss_wins.so library. So to get this file installed, do:

#: apt-get install winbind
And as a side note, I have to reboot the machine to get this to work. There might be some service that I need to restart but which I don't know. Related links:

For a Ubuntu box, use the following link:

http://ubuntuforums.org/showthread.php?t=88206

~ts

No comments: