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