First, see if both the server and the client are using DNS, WINS, NIS, or
hosts files to look up IP addresses when you give them a name. Each kind of machine will have a different preference:
-
Windows 95 and 98 machines will look in WINS and
LMHOSTS files first, then broadcast, and finally try DNS and
hosts files.
-
NT will look in WINS, then broadcast, LMHOSTS files, and finally
hosts and DNS.
-
Windows programs using the WINSOCK standard (like PC-NFSs) will use hosts files, DNS, WINS, and then broadcast. Don't assume that if a different program's name service works, the SMB client program's name service will!
-
Samba daemons will use
LMHOSTS, WINS, the Unix host's preference, and then broadcast.
-
Unix hosts can be configured to use any combination of DNS,
hosts files, and NIS and NIS+, generally in any order.
We recommend that the client machines be configured to use WINS and DNS, the Samba daemons to use WINS and DNS, and the Unix server to use DNS. You'll have to look at your notes and the actual machines to see which is in use.
On the clients, the name services are all set in the TCP/IP Properties panel of the Networking Control Panel, as discussed in Chapter 3. You may need to check there to see what you've actually turned on. On the server, see if an
/etc/resolv.conf file exists. If it does, you're using DNS. You may be using the others as well, though. You'll need to check for NIS and combinations of services.
Check for an
/etc/nsswitch.conf file on Solaris and other System V Unix operating systems. If you have one, look for a line that begins
host
:, followed by one or more of
files
,
bind
,
nis
or
nis+
. These are the name services to use, in order, with optional extra material in square brackets.
files stands for using
hosts files, while
bind (the Berkeley Internet Name Daemon) stands for using DNS.
If the client and server differ, the first thing to do is to get them in sync. Clients can only use only DNS, WINS,
hosts files and
lmhosts files, not NIS or NIS+. Servers can use
hosts files, DNS, and NIS or NIS+, but not WINS - even if your Samba server provides WINS services. If you can't get all the systems to use the same services, you'll have to carefully check the server and the client for the same data.
Samba 2.0 (and late 1.9 versions) added a
-R
(resolve order) option to
smbclient. If you want to troubleshoot WINS, for example, you'd say:
smbclient -L
server
-R wins
The possible settings are
hosts
(which means whatever the Unix machine is using, not just
/etc/hosts files),
lmhosts
,
wins
and
bcast
(broadcast).
In the following sections, we use the term
long name for a fully-qualified domain name (FQDN), like
server.example.com
, and the term
short name for the host part of a FQDN, like
server
.