~ubuntu-branches/ubuntu/maverick/samba/maverick-proposed

« back to all changes in this revision

Viewing changes to docs/htmldocs/using_samba/ch12.html

  • Committer: Bazaar Package Importer
  • Author(s): Martin Pitt
  • Date: 2004-10-15 12:31:58 UTC
  • Revision ID: james.westby@ubuntu.com-20041015123158-aokykzdqkdgy6dfx
Tags: upstream-3.0.7
ImportĀ upstreamĀ versionĀ 3.0.7

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<html>
 
2
<body bgcolor="#ffffff">
 
3
 
 
4
<img src="samba2_xs.gif" border="0" alt=" " height="100" width="76"
 
5
hspace="10" align="left" />
 
6
 
 
7
<h1 class="head0">Chapter 12. Troubleshooting Samba</h1>
 
8
 
 
9
 
 
10
<p><a name="INDEX-1"/><a name="INDEX-2"/>Samba is extremely robust. Once you have
 
11
everything set up the way you want, you'll probably
 
12
forget that it is running. When trouble occurs, it's
 
13
typically during installation or when you're trying
 
14
to reconfigure the server. Fortunately, a wide variety of resources
 
15
are available to diagnose these troubles. While we
 
16
can't describe in detail the solution to every
 
17
problem you might encounter, you should be able to get a good start
 
18
at resolving the problem by following the advice given in this
 
19
chapter.</p>
 
20
 
 
21
<p>The first section of this chapter lists the tool bag, a collection of
 
22
tools available for troubleshooting Samba; the second section is a
 
23
detailed how-to; the last section lists extra resources to track down
 
24
particularly stubborn problems.</p>
 
25
 
 
26
 
 
27
 
 
28
<div class="sect1"><a name="samba2-CHP-12-SECT-1"/>
 
29
 
 
30
<h2 class="head1">The Tool Box</h2>
 
31
 
 
32
<p><a name="INDEX-3"/><a name="INDEX-4"/>Sometimes Unix
 
33
seems to be made up of a grab bag of applications and tools. There
 
34
are tools to troubleshoot tools. And of course, there are several
 
35
ways to accomplish the same task. When trying to solve a problem
 
36
related to Samba, a good plan of attack is to use the following:</p>
 
37
 
 
38
<ul><li>
 
39
<p>Samba logs</p>
 
40
</li><li>
 
41
<p>Samba test utilities</p>
 
42
</li><li>
 
43
<p>Unix utilities</p>
 
44
</li><li>
 
45
<p>Fault tree</p>
 
46
</li><li>
 
47
<p>Documentation and FAQs</p>
 
48
</li><li>
 
49
<p>Samba newsgroups</p>
 
50
</li><li>
 
51
<p>Searchable mailing list archives</p>
 
52
</li></ul>
 
53
<p>Let's go over each of these one-by-one in the
 
54
following sections.</p>
 
55
 
 
56
 
 
57
<div class="sect2"><a name="samba2-CHP-12-SECT-1.1"/>
 
58
 
 
59
<h3 class="head2">Samba Logs</h3>
 
60
 
 
61
<p><a name="INDEX-5"/><a name="INDEX-6"/>Your first line of attack should always
 
62
be to check the log files. The Samba log files can help diagnose the
 
63
vast majority of the problems faced by beginning- to
 
64
intermediate-level Samba administrators. Samba is quite flexible when
 
65
it comes to logging. You can set up the server to log as little or as
 
66
much information as you want. Using substitution variables in the
 
67
Samba configuration file allows you to isolate individual logs for
 
68
each system, share, or combination thereof.</p>
 
69
 
 
70
<p>Logs are placed in <em class="filename">/usr/local/samba/var/smbd.log</em>
 
71
and <em class="filename">/usr/local/samba/var/nmbd.log</em> by default.
 
72
You can specify a log directory to use with the
 
73
<em class="emphasis">-l</em> flag on the command line when starting the
 
74
Samba daemons. For example:</p>
 
75
 
 
76
<blockquote><pre class="code"># <tt class="userinput"><b>smbd -l /var/log/samba</b></tt>
 
77
# <tt class="userinput"><b>nmbd -l /var/log/samba</b></tt></pre></blockquote>
 
78
 
 
79
<p>Alternatively, you can override the location and name using the
 
80
<tt class="literal">log</tt><a name="INDEX-7"/> <tt class="literal">file</tt> configuration
 
81
option in <em class="filename">smb.conf</em>. This option accepts all the
 
82
substitution variables, so you could easily have the server keep a
 
83
separate log for each connecting client system by specifying the
 
84
following:</p>
 
85
 
 
86
<blockquote><pre class="code">[global]
 
87
    log file = %m.log</pre></blockquote>
 
88
 
 
89
<p>Another useful trick is to have the server keep a log for each
 
90
service (share) that is offered, especially if you suspect a
 
91
particular share is causing trouble. To do this, use the
 
92
<tt class="literal">%S</tt> variable, like this:</p>
 
93
 
 
94
<blockquote><pre class="code">[global]
 
95
    log file = %S.log</pre></blockquote>
 
96
 
 
97
 
 
98
<div class="sect3"><a name="samba2-CHP-12-SECT-1.1.1"/>
 
99
 
 
100
<h3 class="head3">Log levels</h3>
 
101
 
 
102
<p><a name="INDEX-8"/>The level of logging that Samba uses
 
103
can be set in the <em class="filename">smb.conf</em> file using the global
 
104
<tt class="literal">log</tt> <tt class="literal">level</tt> or
 
105
<tt class="literal">debug</tt> <tt class="literal">level</tt> option; they are
 
106
equivalent. The logging level is an integer that can range from 0 to
 
107
10. At level 0, no logging is done. Higher values result in more
 
108
voluminous logging. For example, let's assume that
 
109
we will use a Windows client to browse a directory on a Samba server.
 
110
For a small amount of log information, you can use
 
111
<tt class="literal">log</tt> <tt class="literal">level</tt> <tt class="literal">=</tt>
 
112
<tt class="literal">1</tt>, which instructs Samba to show only cursory
 
113
information, in this case only the connection itself:</p>
 
114
 
 
115
<blockquote><pre class="code">05/25/02 22:02:11 server (192.168.236.86) connect to service public as user pcguest 
 
116
(uid=503,gid=100) (pid 3377)</pre></blockquote>
 
117
 
 
118
<p>Higher debug levels produce more detailed information. Usually, you
 
119
won't need more than level 3, which is fully
 
120
adequate for most Samba administrators. Levels above 3 are used by
 
121
the developers and dump enormous amounts of cryptic information.</p>
 
122
 
 
123
<p>Here is an example of output at levels 2 and 3 for the same
 
124
operation. Don't worry if you don't
 
125
understand the intricacies of an SMB connection; the point is simply
 
126
to show you what types of information are shown at the different
 
127
<a name="INDEX-9"/>logging levels:</p>
 
128
 
 
129
<blockquote><pre class="code"> /* Level 2 */
 
130
Got SIGHUP
 
131
Processing section &quot;[homes]&quot;
 
132
Processing section &quot;[public]&quot;
 
133
Processing section &quot;[temp]&quot;
 
134
Allowed connection from 192.168.236.86 (192.168.236.86) to IPC$
 
135
Allowed connection from 192.168.236.86 (192.168.236.86) to IPC/
 
136
 
 
137
 
 
138
/* Level 3 */
 
139
05/25/02 22:15:09 Transaction 63 of length 67
 
140
switch message SMBtconX (pid 3377)
 
141
Allowed connection from 192.168.236.86 (192.168.236.86) to IPC$
 
142
ACCEPTED: guest account and guest ok
 
143
found free connection number 105
 
144
Connect path is /tmp
 
145
chdir to /tmp
 
146
chdir to /
 
147
05/25/02 22:15:09 server (192.168.236.86) connect to service IPC$ as user pcguest 
 
148
(uid=503,gid=100) (pid 3377)
 
149
05/25/02 22:15:09 tconX service=ipc$ user=pcguest cnum=105
 
150
05/25/02 22:15:09 Transaction 64 of length 99
 
151
switch message SMBtrans (pid 3377)
 
152
chdir to /tmp
 
153
trans &lt;\PIPE\LANMAN&gt; data=0 params=19 setup=0
 
154
Got API command 0 of form &lt;WrLeh&gt; &lt;B13BWz&gt; (tdscnt=0,tpscnt=19,mdrcnt=4096,mprcnt=8)
 
155
Doing RNetShareEnum
 
156
RNetShareEnum gave 4 entries of 4 (1 4096 126 4096)
 
157
05/25/02 22:15:11 Transaction 65 of length 99
 
158
switch message SMBtrans (pid 3377)
 
159
chdir to /
 
160
chdir to /tmp
 
161
trans &lt;\PIPE\LANMAN&gt; data=0 params=19 setup=0
 
162
Got API command 0 of form &lt;WrLeh&gt; &lt;B13BWz&gt; (tdscnt=0,tpscnt=19,mdrcnt=4096,mprcnt=8)
 
163
Doing RNetShareEnum
 
164
RNetShareEnum gave 4 entries of 4 (1 4096 126 4096)
 
165
05/25/02 22:15:11 Transaction 66 of length 95
 
166
switch message SMBtrans2 (pid 3377)
 
167
chdir to /
 
168
chdir to /pcdisk/public
 
169
call_trans2findfirst: dirtype = 0, maxentries = 6, close_after_first=0, close_if_end 
 
170
= 0 requires_resume_key = 0 level = 260, max_data_bytes = 2432
 
171
unix_clean_name [./DESKTOP.INI]
 
172
unix_clean_name [desktop.ini]
 
173
unix_clean_name [./]
 
174
creating new dirptr 1 for path ./, expect_close = 1
 
175
05/25/02 22:15:11 Transaction 67 of length 53
 
176
switch message SMBgetatr (pid 3377)
 
177
chdir to /
 
178
 
 
179
<i class="lineannotation">[... deleted ...]</i></pre></blockquote>
 
180
 
 
181
<p>We cut off this listing after the first packet because it runs on for
 
182
many pages. However, be aware that log levels above 3 will quickly
 
183
consume disk space with megabytes of excruciating detail concerning
 
184
Samba's internal operations. Log level 3 is
 
185
extremely useful for following exactly what the server is doing, and
 
186
most of the time it will be obvious where an error occurs by glancing
 
187
through the log file.</p>
 
188
 
 
189
<p>Using a high log level (3 or above) will
 
190
<em class="emphasis">seriously</em> slow down the Samba server. Remember
 
191
that every log message generated causes a write to disk (an
 
192
inherently slow operation) and log levels greater than 2 produce
 
193
massive amounts of data. Essentially, you should turn on logging
 
194
level 3 only when you're actively tracking a problem
 
195
in the Samba server. <a name="INDEX-10"/></p>
 
196
 
 
197
 
 
198
</div>
 
199
 
 
200
 
 
201
 
 
202
<div class="sect3"><a name="samba2-CHP-12-SECT-1.1.2"/>
 
203
 
 
204
<h3 class="head3">Activating and deactivating logging</h3>
 
205
 
 
206
<p><a name="INDEX-11"/><a name="INDEX-12"/>To turn logging on and off,
 
207
set the appropriate level in the <tt class="literal">[global]</tt> section
 
208
of <em class="filename">smb.conf</em>. Then, you can either restart Samba
 
209
or force the current daemon to reprocess the configuration file by
 
210
sending it a hangup (HUP) signal. You also can send the
 
211
<em class="emphasis">smbd</em> process a SIGUSR1 signal to increase its
 
212
log level by one while it's running, like this:</p>
 
213
 
 
214
<blockquote><pre class="code"># <tt class="userinput"><b>kill -SIGUSR1 1234</b></tt></pre></blockquote>
 
215
 
 
216
<p>or a SIGUSR2 signal to decrease it by one:</p>
 
217
 
 
218
<blockquote><pre class="code"># <tt class="userinput"><b>kill -SIGUSR2 1234</b></tt></pre></blockquote>
 
219
 
 
220
 
 
221
</div>
 
222
 
 
223
 
 
224
 
 
225
<div class="sect3"><a name="samba2-CHP-12-SECT-1.1.3"/>
 
226
 
 
227
<h3 class="head3">Logging by individual client systems or users</h3>
 
228
 
 
229
<p>An effective way to diagnose problems without hampering other users
 
230
is to assign different log levels for different systems in the
 
231
<tt class="literal">[global]</tt> section of the
 
232
<em class="filename">smb.conf</em> file. We can do this by building on the
 
233
strategy we presented earlier:</p>
 
234
 
 
235
<blockquote><pre class="code">[global]
 
236
    log level = 0
 
237
    log file = /usr/local/samba/var/log.%m
 
238
    include = /usr/local/samba/lib/smb.conf.%m</pre></blockquote>
 
239
 
 
240
<p>These options instruct Samba to use unique configuration and log
 
241
files for each client that connects. Now all you have to do is create
 
242
an <em class="filename">smb.conf</em> file for a specific client system
 
243
with a <tt class="literal">log</tt> <tt class="literal">level</tt>
 
244
<tt class="literal">=</tt> <tt class="literal">3</tt> entry in it (the others
 
245
will pick up the default log level of 0) and use that log file to
 
246
track down the problem.</p>
 
247
 
 
248
<p>Similarly, if only particular users are experiencing a
 
249
problem&mdash;and it travels from system to system with
 
250
them&mdash;you can isolate logging to a specific user by adding the
 
251
following to the <em class="filename">smb.conf</em> file:</p>
 
252
 
 
253
<blockquote><pre class="code">[global]
 
254
    log level = 0
 
255
    log file = /usr/local/samba/var/log.%u
 
256
    include = /usr/local/samba/lib/smb.conf.%u</pre></blockquote>
 
257
 
 
258
<p>Then you can create a unique <em class="filename">smb.conf</em> file for
 
259
each user you wish to monitor (e.g.,
 
260
<em class="filename">/usr/local/samba/lib/smb.conf.tim</em>). Files
 
261
containing the configuration option <tt class="literal">log</tt>
 
262
<tt class="literal">level</tt> <tt class="literal">=</tt> <tt class="literal">3</tt>
 
263
and only those users will get more detailed logging.<a name="INDEX-13"/><a name="INDEX-14"/></p>
 
264
 
 
265
 
 
266
</div>
 
267
 
 
268
 
 
269
</div>
 
270
 
 
271
 
 
272
<div class="sect2"><a name="samba2-CHP-12-SECT-1.2"/>
 
273
 
 
274
<h3 class="head2">Samba Test Utilities</h3>
 
275
 
 
276
<p><a name="INDEX-15"/><a name="INDEX-16"/>A rigorous set of tests that exercise
 
277
the major parts of Samba are described in various files in the
 
278
<em class="emphasis">/docs/textdocs</em> directory of the Samba
 
279
distribution kit, starting with <em class="emphasis">DIAGNOSIS.txt</em>.
 
280
The fault tree in this chapter is a more detailed version of the
 
281
basic tests suggested by the Samba Team, but it covers only
 
282
installation and reconfiguration diagnosis, such as
 
283
<em class="emphasis">DIAGNOSIS.txt</em>. The other files in the
 
284
<em class="emphasis">/docs</em> subdirectories address specific problems
 
285
and instruct you how to troubleshoot items not included in this book.
 
286
If the fault tree doesn't suffice, be sure to look
 
287
at
 
288
<em class="emphasis">DIAGNOSIS.txt</em><a name="INDEX-17"/>
 
289
and its friends.</p>
 
290
 
 
291
 
 
292
</div>
 
293
 
 
294
 
 
295
<div class="sect2"><a name="samba2-CHP-12-SECT-1.3"/>
 
296
 
 
297
<h3 class="head2">Unix Utilities</h3>
 
298
 
 
299
<p>Sometimes it's useful to use a tool outside the
 
300
Samba suite to examine what's happening inside the
 
301
server. Three diagnostic tools can be of particular help in debugging
 
302
Samba troubles: <em class="emphasis">trace</em>,
 
303
<em class="emphasis">tcpdump</em>, and <em class="emphasis">Ethereal</em>.</p>
 
304
 
 
305
 
 
306
<div class="sect3"><a name="samba2-CHP-12-SECT-1.3.1"/>
 
307
 
 
308
<h3 class="head3">Using trace</h3>
 
309
 
 
310
<p>The <em class="emphasis">trace</em><a name="INDEX-18"/> command masquerades under several
 
311
different names, depending on the operating system you are using. On
 
312
Linux it will be
 
313
<em class="emphasis">strace</em><a name="INDEX-19"/>; on Solaris you'll use
 
314
<em class="emphasis">truss</em><a name="INDEX-20"/>; SGI will have
 
315
<em class="emphasis">padc</em><a name="INDEX-21"/> and
 
316
<em class="emphasis">par</em><a name="INDEX-22"/>; and HP-UX will have
 
317
<em class="emphasis">trace</em> or
 
318
<em class="emphasis">tusc</em><a name="INDEX-23"/>. All have essentially the same
 
319
function, which is to display each operating system function call as
 
320
it is executed. This allows you to follow the execution of a program,
 
321
such as the Samba server, and often pinpoints the exact call that is
 
322
causing the difficulty.</p>
 
323
 
 
324
<p>One problem that <em class="emphasis">trace</em> can highlight is an
 
325
incorrect version of a dynamically linked library. This can happen if
 
326
you've downloaded prebuilt binaries of Samba.
 
327
You'll typically see the offending call at the end
 
328
of the <em class="emphasis">trace</em>, just before the program
 
329
terminates.</p>
 
330
 
 
331
<p>A sample <em class="emphasis">strace</em> output for the Linux operating
 
332
system follows. This is a small section of a larger file created
 
333
during the opening of a directory on the Samba server. Each line
 
334
lists a system call and includes its parameters and the return value.
 
335
If there was an error, the error value (e.g.,
 
336
<tt class="literal">ENOENT</tt>) and its explanation are also shown. You
 
337
can look up the parameter types and the errors that can occur in the
 
338
appropriate <em class="emphasis">trace</em> manual page for the operating
 
339
system you are using.</p>
 
340
 
 
341
<blockquote><pre class="code">chdir(&quot;/pcdisk/public&quot;)                 = 0
 
342
stat(&quot;mini/desktop.ini&quot;, 0xbffff7ec)    = -1 ENOENT (No such file or directory)
 
343
stat(&quot;mini&quot;, {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
 
344
stat(&quot;mini/desktop.ini&quot;, 0xbffff7ec)    = -1 ENOENT (No such file or directory)
 
345
open(&quot;mini&quot;, O_RDONLY)                  = 5
 
346
fcntl(5, F_SETFD, FD_CLOEXEC)           = 0
 
347
fstat(5, {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
 
348
lseek(5, 0, SEEK_CUR)                   = 0
 
349
SYS_141(0x5, 0xbfffdbbc, 0xedc, 0xbfffdbbc, 0x80ba708) = 196
 
350
lseek(5, 0, SEEK_CUR)                   = 1024
 
351
SYS_141(0x5, 0xbfffdbbc, 0xedc, 0xbfffdbbc, 0x80ba708) = 0
 
352
close(5)                                = 0
 
353
stat(&quot;mini/desktop.ini&quot;, 0xbffff86c)    = -1 ENOENT (No such file or directory)
 
354
write(3, &quot;\0\0\0#\377SMB\10\1\0\2\0\200\1\0&quot;..., 39) = 39
 
355
SYS_142(0xff, 0xbffffc3c, 0, 0, 0xbffffc08) = 1
 
356
read(3, &quot;\0\0\0?&quot;, 4)                   = 4
 
357
read(3, &quot;\377SMBu\0\0\0\0\0\0\0\0\0\0\0\0&quot;..., 63) = 63
 
358
time(NULL)                              = 896143871</pre></blockquote>
 
359
 
 
360
<p>This example shows several <em class="emphasis">stat() calls</em> failing
 
361
to find the files they were expecting. You don't
 
362
have to be an expert to see that the file
 
363
<em class="emphasis">desktop.ini</em> is missing from that directory. In
 
364
fact, many difficult problems can be identified by looking for
 
365
obvious, repeatable errors with <em class="emphasis">trace</em>. Often,
 
366
you need not look further than the last message before a crash.</p>
 
367
 
 
368
 
 
369
</div>
 
370
 
 
371
 
 
372
 
 
373
<div class="sect3"><a name="samba2-CHP-12-SECT-1.3.2"/>
 
374
 
 
375
<h3 class="head3">Using tcpdump</h3>
 
376
 
 
377
<p>The <em class="emphasis">tcpdump</em><a name="INDEX-24"/> program, as extended by Andrew
 
378
<a name="INDEX-25"/>Tridgell,
 
379
allows you to monitor SMB <a name="INDEX-26"/>network
 
380
traffic in real time. A variety of output formats are available, and
 
381
you can filter the output to look at only a particular type of
 
382
traffic. You can examine all conversations between client and server,
 
383
including SMB and NMB broadcast messages. While its troubleshooting
 
384
capabilities lie mainly at the OSI network layer, you can still use
 
385
its output to get a general idea of what the server and client are
 
386
attempting to do.</p>
 
387
 
 
388
<p>A sample <em class="emphasis">tcpdump</em> log follows. In this instance,
 
389
the client has requested a directory listing, and the server has
 
390
responded appropriately, giving the directory names
 
391
<tt class="literal">homes</tt>, <tt class="literal">public</tt>,
 
392
<tt class="literal">IPC$</tt>, and <tt class="literal">temp</tt>
 
393
(we've added a few explanations on the right):</p>
 
394
 
 
395
<blockquote><pre class="code">$ <tt class="userinput"><b>tcpdump -v -s 255 -i eth0 port not telnet</b></tt>
 
396
SMB PACKET: SMBtrans (REQUEST)                <i class="lineannotation"> Request packet</i>
 
397
SMB Command   =  0x25                         <i class="lineannotation">Request was ls or dir</i>
 
398
 
 
399
[000] 01 00 00 10                             <i class="lineannotation">....</i>
 
400
 
 
401
 
 
402
&gt;&gt;&gt; NBT Packet                                <i class="lineannotation">Outer frame of SMB packet</i>
 
403
NBT Session Packet
 
404
Flags=0x0
 
405
Length=226
 
406
[lines skipped]
 
407
                         
 
408
SMB PACKET: SMBtrans (REPLY)                  <i class="lineannotation">Beginning of a reply to  request</i>
 
409
SMB Command   =  0x25                         <i class="lineannotation">Command was an ls or dir</i>
 
410
Error class   =  0x0             
 
411
Error code    =  0                            <i class="lineannotation">No errors</i>
 
412
Flags1        =  0x80
 
413
Flags2        =  0x1
 
414
Tree ID       =  105
 
415
Proc ID       =  6075
 
416
UID           =  100
 
417
MID           =  30337
 
418
Word Count    =  10
 
419
TotParamCnt=8 
 
420
TotDataCnt=163 
 
421
Res1=0
 
422
ParamCnt=8 
 
423
ParamOff=55 
 
424
Res2=0 
 
425
DataCnt=163 
 
426
DataOff=63 
 
427
Res3=0
 
428
Lsetup=0
 
429
Param Data: (8 bytes)
 
430
[000] 00 00 00 00 05 00 05 00                           ........ 
 
431
 
 
432
Data Data: (135 bytes)                        <i class="lineannotation">Actual directory contents:</i>
 
433
[000] 68 6F 6D 65 73 00 00 00  00 00 00 00 00 00 00 00  homes... ........
 
434
[010] 64 00 00 00 70 75 62 6C  69 63 00 00 00 00 00 00  d...publ ic......
 
435
[020] 00 00 00 00 75 00 00 00  74 65 6D 70 00 00 00 00  ....u... temp....
 
436
[030] 00 00 00 00 00 00 00 00  76 00 00 00 49 50 43 24  ........ v...IPC$
 
437
[040] 00 00 00 00 00 00 00 00  00 00 03 00 77 00 00 00  ........ ....w...
 
438
[050] 64 6F 6E 68 61 6D 00 00  00 00 00 00 00 00 00 00  donham.. ........
 
439
[060] 92 00 00 00 48 6F 6D 65  20 44 69 72 65 63 74 6F  ....Home  Directo
 
440
[070] 72 69 65 73 00 00 00 49  50 43 20 53 65 72 76 69  ries...I PC Servi
 
441
[080] 63 65 20 28 53 61 6D                              ce (Sam</pre></blockquote>
 
442
 
 
443
<p>This is more of the same debugging session as we saw before with the
 
444
<em class="emphasis">trace</em> command: the listing of a directory. The options
 
445
we used were <em class="emphasis">-v</em> (verbose), <em class="emphasis">-i
 
446
eth0</em> to tell <em class="emphasis">tcpdump</em> on which
 
447
interface to listen (an Ethernet port), and <em class="emphasis">-s
 
448
255</em> to tell it to save the first 255 bytes of each packet
 
449
instead of the default: the first 68. The option
 
450
<tt class="literal">port</tt> <tt class="literal">not</tt>
 
451
<tt class="literal">telnet</tt> is used to avoid screens of telnet traffic,
 
452
because we were logged in to the server remotely. The
 
453
<em class="emphasis">tcpdump</em> program actually has quite a number of
 
454
options to filter just the traffic you want to look at. If
 
455
you've used <em class="emphasis">snoop</em> or
 
456
<em class="emphasis">etherdump</em>, it will look vaguely familiar.</p>
 
457
 
 
458
<p>You can download the modified <em class="emphasis">tcpdump</em> from the
 
459
Samba FTP server, located at
 
460
<a href="ftp://samba.anu.edu.au/pub/samba/tcpdump-smb">ftp://samba.anu.edu.au/pub/samba/tcpdump-smb</a>.
 
461
Other versions might not include support for the SMB protocol; if you
 
462
don't see output such as that shown in the example,
 
463
you'll need to use the SMB-enabled version.</p>
 
464
 
 
465
 
 
466
</div>
 
467
 
 
468
 
 
469
 
 
470
<div class="sect3"><a name="samba2-CHP-12-SECT-1.3.3"/>
 
471
 
 
472
<h3 class="head3">Using Ethereal</h3>
 
473
 
 
474
<p><a name="INDEX-27"/>Ethereal (<a href="http://www.ethereal.com">http://www.ethereal.com</a>) is a GUI-based
 
475
utility that performs the same basic function as
 
476
<em class="emphasis">tcpdump</em>. You might prefer Ethereal because it is
 
477
much easier to use. Once you have Ethereal running, just do the
 
478
following:</p>
 
479
 
 
480
<ol><li>
 
481
<p>Select Start from the Capture menu.</p>
 
482
</li><li>
 
483
<p>Click the OK button in the dialog box that appears. This will bring
 
484
up a dialog box showing how many packets Ethereal has seen. Perform
 
485
the actions on the system(s) in your network to reproduce the problem
 
486
you are analyzing.</p>
 
487
</li><li>
 
488
<p>Click the Stop button in the Ethereal dialog box to make it finish
 
489
collecting data.</p>
 
490
</li><li>
 
491
<p>In the main Ethereal window, click any item in the upper window to
 
492
view it in the lower window. In the lower window, click any of the
 
493
boxes containing a plus sign (<tt class="literal">+</tt>) to expand the
 
494
view.</p>
 
495
</li></ol>
 
496
<p>Ethereal does a good job of translating the content of the packets it
 
497
encounters into human-readable format, and you should have little
 
498
trouble seeing what happened on the network during the capture
 
499
period. <a name="INDEX-28"/><a name="INDEX-29"/></p>
 
500
 
 
501
 
 
502
</div>
 
503
 
 
504
 
 
505
</div>
 
506
 
 
507
 
 
508
</div>
 
509
 
 
510
 
 
511
 
 
512
<div class="sect1"><a name="samba2-CHP-12-SECT-2"/>
 
513
 
 
514
<h2 class="head1">The Fault Tree</h2>
 
515
 
 
516
<p><a name="INDEX-30"/><a name="INDEX-31"/><a name="INDEX-32"/><a name="INDEX-33"/>The fault
 
517
tree presented in this section is for diagnosing and fixing problems
 
518
that occur when you're installing and reconfiguring
 
519
Samba. It's an expanded form of the trouble and
 
520
diagnostic document <em class="filename">DIAGNOSIS.txt</em>, which is part
 
521
of the Samba distribution.</p>
 
522
 
 
523
<p>Before you set out to troubleshoot any part of the Samba suite, you
 
524
should know the following information:</p>
 
525
 
 
526
<ul><li>
 
527
<p>Your client IP address (we use 192.168.236.10)</p>
 
528
</li><li>
 
529
<p>Your server IP address (we use 192.168.236.86)</p>
 
530
</li><li>
 
531
<p>The netmask for your network (typically 255.255.255.0)</p>
 
532
</li><li>
 
533
<p>Whether the systems are all on the same subnet (ours are)</p>
 
534
</li></ul>
 
535
<p>For clarity, we've renamed the server in the
 
536
following examples to <tt class="literal">server.example.com</tt>, and the
 
537
client system to <tt class="literal">client.example.com</tt>.</p>
 
538
 
 
539
 
 
540
<div class="sect2"><a name="samba2-CHP-12-SECT-2.1"/>
 
541
 
 
542
<h3 class="head2">How to Use the Fault Tree</h3>
 
543
 
 
544
<p>Start the tests here, without skipping forward; it
 
545
won't take long (about 5 minutes) and might actually
 
546
save you time backtracking. Whenever a test succeeds, you will be
 
547
given a name of a section to which you can safely skip.</p>
 
548
 
 
549
 
 
550
</div>
 
551
 
 
552
 
 
553
<div class="sect2"><a name="samba2-CHP-12-SECT-2.2"/>
 
554
 
 
555
<h3 class="head2">Troubleshooting Low-Level IP</h3>
 
556
 
 
557
<p><a name="INDEX-34"/>The
 
558
first series of tests is that of the low-level services that Samba
 
559
needs to run. The tests in this section verify that:</p>
 
560
 
 
561
<ul><li>
 
562
<p>The IP software works</p>
 
563
</li><li>
 
564
<p>The Ethernet hardware works</p>
 
565
</li><li>
 
566
<p>Basic name service is in place</p>
 
567
</li></ul>
 
568
<p>Subsequent sections add TCP software, the Samba daemons
 
569
<em class="emphasis">smbd</em> and <em class="emphasis">nmbd</em>, host-based
 
570
access control, authentication and per-user access control, file
 
571
services, and browsing. The tests are described in considerable
 
572
detail to make them understandable by both technically oriented end
 
573
users and experienced systems and network administrators.</p>
 
574
 
 
575
 
 
576
<div class="sect3"><a name="samba2-CHP-12-SECT-2.2.1"/>
 
577
 
 
578
<h3 class="head3">Testing the networking software with ping</h3>
 
579
 
 
580
<p><a name="INDEX-35"/>The first command to enter
 
581
on both the server and the client is
 
582
<tt class="literal">ping</tt><a name="INDEX-36"/><a name="INDEX-37"/>
 
583
<tt class="literal">127.0.0.1</tt>. This pings the loopback address and
 
584
indicates whether any networking support is functioning. On Unix, you
 
585
can use <tt class="literal">ping</tt> <tt class="literal">127.0.0.1</tt> with the
 
586
statistics option and interrupt it after a few lines. On Sun
 
587
workstations, the command is typically
 
588
<tt class="literal">/usr/etc/ping</tt> <tt class="literal">-s</tt>
 
589
<tt class="literal">127.0.0.1</tt>; on Linux, just <tt class="literal">ping</tt>
 
590
<tt class="literal">127.0.0.1</tt>. On Windows clients, run
 
591
<tt class="literal">ping</tt> <tt class="literal">127.0.0.1</tt> in an MS-DOS
 
592
(command prompt) window, and it will stop by itself after four lines.</p>
 
593
 
 
594
<p>Here is an example on a Linux server:</p>
 
595
 
 
596
<blockquote><pre class="code">$ <tt class="userinput"><b>ping 127.0.0.1 </b></tt>
 
597
PING localhost: 56 data bytes 64 bytes from localhost (127.0.0.1): 
 
598
icmp-seq=0. time=1. ms 64 bytes from localhost (127.0.0.1): 
 
599
icmp-seq=1. time=0. ms 64 bytes from localhost (127.0.0.1): 
 
600
icmp-seq=2. time=1. ms ^C 
 
601
----127.0.0.1 PING Statistics---- 
 
602
3 packets transmitted, 3 packets received, 0% packet loss round-trip (ms)  
 
603
min/avg/max = 0/0/1</pre></blockquote>
 
604
 
 
605
<p>If you get &quot;ping: no answer from . . .
 
606
&quot; or &quot;100% packet
 
607
loss,&quot; you have no IP networking installed on the
 
608
system. The address <tt class="literal">127.0.0.1</tt> is the internal
 
609
loopback address and doesn't depend on the computer
 
610
being physically connected to a network. If this test fails, you have
 
611
a serious local problem. TCP/IP either isn't
 
612
installed or is seriously misconfigured. See your operating system
 
613
documentation if it's a Unix server. If
 
614
it's a Windows client, follow the instructions in
 
615
<a href="ch03.html">Chapter 3</a> to install networking support.</p>
 
616
 
 
617
<a name="samba2-CHP-12-NOTE-155"/><blockquote class="note"><h4 class="objtitle">TIP</h4>
 
618
<p>If <em class="emphasis">you're</em> the network manager,
 
619
some good references are Craig Hunt's
 
620
<em class="emphasis">TCP/IP Network Administration</em>, Chapter 11, and Craig Hunt and Robert Bruce
 
621
Thompson's <em class="emphasis">Windows NT TCP/IP Network
 
622
Administration</em>, both published by
 
623
O'Reilly.</p>
 
624
</blockquote>
 
625
 
 
626
 
 
627
</div>
 
628
 
 
629
 
 
630
 
 
631
<div class="sect3"><a name="samba2-CHP-12-SECT-2.2.2"/>
 
632
 
 
633
<h3 class="head3">Testing local name services with ping</h3>
 
634
 
 
635
<p><a name="INDEX-38"/>Next, try to ping
 
636
<tt class="literal">localhost</tt> on the Samba server. The
 
637
<tt class="literal">localhost</tt> hostname is the conventional hostname
 
638
for the <tt class="literal">127.0.0.1</tt> loopback interface, and it
 
639
should resolve to that address. After typing <tt class="literal">ping</tt>
 
640
<tt class="literal">localhost</tt>, you should see output similar to the
 
641
following:</p>
 
642
 
 
643
<blockquote><pre class="code">$  <tt class="userinput"><b>ping localhost  </b></tt>
 
644
PING localhost: 56 data bytes  64 bytes from localhost (127.0.0.1):
 
645
icmp-seq=0. time=0. ms  64 bytes from localhost (127.0.0.1): 
 
646
icmp-seq=1. time=0. ms  64 bytes from localhost (127.0.0.1): 
 
647
icmp-seq=2. time=0. ms  ^C</pre></blockquote>
 
648
 
 
649
<p>If this succeeds, try the same test on the client. Otherwise:</p>
 
650
 
 
651
<ul><li>
 
652
<p>If you get &quot;unknown host:
 
653
localhost,&quot; there is a problem resolving the
 
654
hostname <em class="filename">localhost</em> into a valid IP address.
 
655
(This might be as simple as a missing entry in a local
 
656
<em class="emphasis">hosts</em> file.) From here, skip down to
 
657
<a href="ch03.html#samba2-CHP-12-SECT-2.7">Section 12.2.7</a> later in this chapter.</p>
 
658
</li><li>
 
659
<p>If you get &quot;ping: no answer,&quot; or
 
660
&quot;100% packet loss,&quot; but pinging
 
661
<tt class="literal">127.0.0.1</tt> worked, name services is resolving to an
 
662
address, but it isn't the correct one. Check the
 
663
file or database (typically <em class="filename">/etc/hosts</em> on a Unix
 
664
system) that the name service is using to resolve addresses to ensure
 
665
that the entry is correct.</p>
 
666
</li></ul>
 
667
 
 
668
</div>
 
669
 
 
670
 
 
671
 
 
672
<div class="sect3"><a name="samba2-CHP-12-SECT-2.2.3"/>
 
673
 
 
674
<h3 class="head3">Testing the networking hardware with ping</h3>
 
675
 
 
676
<p><a name="INDEX-39"/>Next, ping the
 
677
server's network IP address from itself. This should
 
678
get you exactly the same results as pinging
 
679
<tt class="literal">127.0.0.1</tt>:</p>
 
680
 
 
681
<blockquote><pre class="code">$ <tt class="userinput"><b>ping 192.168.236.86 </b></tt>
 
682
PING 192.168.236.86: 56 data bytes 64 bytes from 192.168.236.86 (192.168.236.86): 
 
683
icmp-seq=0. time=1. ms 64 bytes from 192.168.236.86 (192.168.236.86): 
 
684
icmp-seq=1. time=0. ms 64 bytes from 192.168.236.86 (192.168.236.86): 
 
685
icmp-seq=2. time=1. ms ^C 
 
686
----192.168.236.86 PING Statistics---- 
 
687
3 packets transmitted, 3 packets received, 0% packet loss round-trip (ms)  
 
688
min/avg/max = 0/0/1</pre></blockquote>
 
689
 
 
690
<p>If this works on the server, repeat it for the client. Otherwise:</p>
 
691
 
 
692
<ul><li>
 
693
<p>If <tt class="literal">ping</tt> <em class="replaceable">network_ip</em>
 
694
fails on either the server or client, but <tt class="literal">ping</tt>
 
695
<tt class="literal">127.0.0.1</tt> works on that system, you have a TCP/IP
 
696
problem that is specific to the Ethernet network interface card on
 
697
the computer. Check with the documentation for the network card or
 
698
host operating system to determine how to configure it correctly.
 
699
However, be aware that on some operating systems, the
 
700
<em class="emphasis">ping</em> command appears to work even if the network
 
701
is disconnected, so this test doesn't always
 
702
diagnose all hardware problems.</p>
 
703
</li></ul>
 
704
 
 
705
</div>
 
706
 
 
707
 
 
708
 
 
709
<div class="sect3"><a name="samba2-CHP-12-SECT-2.2.4"/>
 
710
 
 
711
<h3 class="head3">Testing connections with ping</h3>
 
712
 
 
713
<p><a name="INDEX-40"/>Now, ping the server by name (instead
 
714
of its IP address)&mdash;once from the server and once from the
 
715
client. This is the general test for working network hardware:</p>
 
716
 
 
717
<blockquote><pre class="code">$ <tt class="userinput"><b>ping server </b></tt>
 
718
PING server.example.com: 56 data bytes 64 bytes from server.example.com (192.168.236.86): 
 
719
icmp-seq=0. time=1. ms 64 bytes from server.example.com (192.168.236.86): 
 
720
icmp-seq=1. time=0. ms 64 bytes from server.example.com (192.168.236.86): 
 
721
icmp-seq=2. time=1. ms ^C 
 
722
----server.example.com PING Statistics---- 
 
723
3 packets transmitted, 3 packets received, 0% packet loss round-trip (ms)  
 
724
min/avg/max = 0/0/1</pre></blockquote>
 
725
 
 
726
<p>If successful, this test tells us five things:</p>
 
727
 
 
728
<ul><li>
 
729
<p>The hostname (e.g., <tt class="literal">server</tt>) is being found by your
 
730
local name server.</p>
 
731
</li><li>
 
732
<p>The hostname has been expanded to the full name (e.g.,
 
733
<tt class="literal">server.example.com</tt>).</p>
 
734
</li><li>
 
735
<p>Its address is being returned (<tt class="literal">192.168.236.86</tt>).</p>
 
736
</li><li>
 
737
<p>The client has sent the Samba server four 56-byte UDP/IP packets.</p>
 
738
</li><li>
 
739
<p>The Samba server has replied to all four packets.</p>
 
740
</li></ul>
 
741
<p>If this test isn't successful, one of several things
 
742
can be wrong with the network:</p>
 
743
 
 
744
<ul><li>
 
745
<p>First, if you get <tt class="literal">ping</tt>: <tt class="literal">no</tt>
 
746
<tt class="literal">answer</tt>, or <tt class="literal">100%</tt>
 
747
<tt class="literal">packet</tt> <tt class="literal">loss</tt>,
 
748
you're not connecting to the network, the other
 
749
system isn't connecting, or one of the addresses is
 
750
incorrect. Check the addresses that the <em class="emphasis">ping</em>
 
751
command reports on each system, and ensure that they match the ones
 
752
you set up initially.</p>
 
753
 
 
754
<p>If not, there is at least one mismatched address between the two
 
755
systems. Try entering the command <tt class="literal">arp</tt>
 
756
<tt class="literal">-a</tt>, and see if there is an entry for the other
 
757
system. (The <em class="emphasis">arp</em> command stands for the Address
 
758
Resolution Protocol. The <tt class="literal">arp</tt> <tt class="literal">-a</tt>
 
759
command lists all the addresses known on the local system.) Here are
 
760
some things to try:</p>
 
761
<ul><li>
 
762
<p>If you receive a message like <tt class="literal">192.168.236.86</tt>
 
763
<tt class="literal">at</tt> <tt class="literal">(incomplete)</tt>, the Ethernet
 
764
address of 192.168.236.86 is unknown. This indicates a complete lack
 
765
of connectivity, and you're likely having a problem
 
766
at the very bottom of the TCP/IP protocol stack&mdash;the Ethernet
 
767
interface layer. This is discussed in Chapters 5 and 6 of
 
768
<em class="citetitle">TCP/IP Network Administration
 
769
</em>(O'Reilly).</p>
 
770
</li><li>
 
771
<p>If you receive a response similar to server
 
772
<tt class="literal">(192.168.236.86)</tt> <tt class="literal">at</tt>
 
773
<tt class="literal">8:0:20:12:7c:94</tt>, the server has been reached at
 
774
some time, or another system is answering on its behalf. However,
 
775
this means that <em class="emphasis">ping</em> should have worked: you may
 
776
have an intermittent networking or ARP problem.</p>
 
777
</li><li>
 
778
<p>If the IP address from ARP doesn't match the
 
779
addresses you expected, investigate and correct the addresses
 
780
manually.</p>
 
781
</li>
 
782
</ul>
 
783
</li>
 
784
 
 
785
<li>
 
786
<p>If each system can ping itself but not another, something is wrong on
 
787
the network between them.</p>
 
788
</li><li>
 
789
<p>If you get <tt class="literal">ping</tt>: <tt class="literal">network</tt>
 
790
<tt class="literal">unreachable</tt> or <tt class="literal">ICMP</tt>
 
791
<tt class="literal">Host</tt> <tt class="literal">Unreachable</tt>,
 
792
you're not receiving an answer, and more than one
 
793
network is probably involved.</p>
 
794
 
 
795
<p>In principle, you shouldn't try to troubleshoot SMB
 
796
clients and servers on different networks. Try to test a server and
 
797
client that are on the same network:</p>
 
798
 
 
799
<ol><li>
 
800
<p>First, perform the tests for <tt class="literal">ping</tt>:
 
801
<tt class="literal">no</tt> <tt class="literal">answer</tt> described earlier in
 
802
this section. If this doesn't identify the problem,
 
803
the remaining possibilities are the following: an address is wrong,
 
804
your netmask is wrong, a network is down, or the packets have been
 
805
stopped by a firewall.</p>
 
806
</li>
 
807
<li>
 
808
<p>Check both the address and the netmasks on source and destination
 
809
systems to see if something is obviously wrong. Assuming both systems
 
810
really are on the same network, they both should have the same
 
811
netmasks, and <em class="emphasis">ping</em> should report the correct
 
812
addresses. If the addresses are wrong, you'll need
 
813
to correct them. If they are correct, the programs might be confused
 
814
by an incorrect netmask. See <a href="ch12.html#samba2-CHP-12-SECT-2.8.1">Section 12.2.8.1</a>, later in this chapter.</p>
 
815
</li>
 
816
<li>
 
817
<p>If the commands are still reporting that the network is unreachable
 
818
and neither of the previous two conditions are in error, one network
 
819
really might be unreachable from the other. This, too, is an issue
 
820
for the network manager.</p>
 
821
</li></ol>
 
822
</li><li>
 
823
<p>If you get <tt class="literal">ICMP</tt>
 
824
<tt class="literal">Administratively</tt> <tt class="literal">Prohibited</tt>,
 
825
you've struck a firewall of some sort or a
 
826
misconfigured router. You will need to speak to your network security
 
827
officer.</p>
 
828
</li><li>
 
829
<p>If you get <tt class="literal">ICMP</tt> <tt class="literal">Host</tt>
 
830
<tt class="literal">redirect</tt> and <em class="emphasis">ping</em> reports
 
831
packets getting through, this is generally harmless:
 
832
you're simply being rerouted over the network.</p>
 
833
</li><li>
 
834
<p>If you get a host redirect and no <em class="emphasis">ping</em>
 
835
responses, you are being redirected, but no one is responding. Treat
 
836
this just like the <tt class="literal">Network</tt>
 
837
<tt class="literal">unreachable</tt> response, and check your addresses and
 
838
netmasks.</p>
 
839
</li><li>
 
840
<p>If you get <tt class="literal">ICMP</tt> <tt class="literal">Host</tt>
 
841
<tt class="literal">Unreachable</tt> <tt class="literal">from</tt>
 
842
<tt class="literal">gateway</tt> <tt class="literal">gateway</tt>
 
843
<tt class="literal">name</tt>, ping packets are being routed to another
 
844
network, but the other system isn't responding and
 
845
the router is reporting the problem on its behalf. Again, treat this
 
846
like a <tt class="literal">Network</tt> <tt class="literal">unreachable</tt>
 
847
response, and start checking addresses and netmasks.</p>
 
848
</li><li>
 
849
<p>If you get <tt class="literal">ping</tt>: <tt class="literal">unknown</tt>
 
850
<tt class="literal">host</tt> <tt class="literal">hostname</tt>, your
 
851
system's name is not known. This tends to indicate a
 
852
name service problem, which didn't affect
 
853
<tt class="literal">localhost</tt>. Have a look at <a href="ch12.html#samba2-CHP-12-SECT-2.7">Section 12.2.7</a>, later in this chapter.</p>
 
854
</li><li>
 
855
<p>If you get a partial success&mdash;with some pings failing but others
 
856
succeeding&mdash;you have either an intermittent problem between the
 
857
systems or an overloaded network. Ping a bit longer, and see if more
 
858
than about three percent of the packets fail. If so, check it with
 
859
your network manager: a problem might just be starting. However, if
 
860
only a few fail, or if you happen to know some massive network
 
861
program is running, don't worry unduly. The ICMP
 
862
(and UDP) protocols used by <em class="emphasis">ping</em> are allowed to
 
863
drop occasional packets.</p>
 
864
</li><li>
 
865
<p>If you get a response such as <tt class="literal">smtsvr.antares.net</tt>
 
866
<tt class="literal">is</tt> <tt class="literal">alive</tt> when you actually
 
867
pinged <tt class="literal">client.example.com</tt>, either
 
868
you're using someone else's address
 
869
or the system has multiple names and addresses. If the address is
 
870
wrong, the name service is clearly the culprit;
 
871
you'll need to change the address in the name
 
872
service database to refer to the correct system. This is discussed in
 
873
<a href="ch12.html#samba2-CHP-12-SECT-2.7">Section 12.2.7</a>, later in this
 
874
chapter.</p>
 
875
 
 
876
<p>Servers are often <em class="emphasis">multihomed</em> &mdash;i.e.,
 
877
connected to more than one network, with different names on each net.
 
878
If you are getting a response from an unexpected name on a multihomed
 
879
server, look at the address and see if it's on your
 
880
network (see <a href="ch12.html#samba2-CHP-12-SECT-2.8.1">Section 12.2.8.1</a>, later in this chapter). If
 
881
so, you should use that address, rather than one on a different
 
882
network, for both performance and reliability reasons.</p>
 
883
 
 
884
<p>Servers can also have multiple names for a single Ethernet address,
 
885
especially if they are web servers. This is harmless, albeit
 
886
startling. You probably will want to use the official (and permanent)
 
887
name, rather than an alias that might change.</p>
 
888
</li><li>
 
889
<p>If everything works but the IP address reported is
 
890
<tt class="literal">127.0.0.1</tt>, you have a name service error. This
 
891
typically occurs when an operating-system installation program
 
892
generates an <em class="filename">/etc/hosts</em> line similar to
 
893
<tt class="literal">127.0.0.1</tt> <tt class="literal">localhost</tt>
 
894
<em class="emphasis">hostname.domainname</em>. The localhost line should
 
895
say <tt class="literal">127.0.0.1</tt> <tt class="literal">localhost</tt> or
 
896
<tt class="literal">127.0.0.1</tt> <tt class="literal">localhost</tt>
 
897
<tt class="literal">loghost</tt>. Correct it, lest it cause failures to
 
898
negotiate who is the master browse list holder and who is the master
 
899
browser. It can also cause (ambiguous) errors in later tests.</p>
 
900
</li></ul>
 
901
<p>If this worked from the server, repeat it from the client. <a name="INDEX-41"/>
 
902
<a name="INDEX-42"/><a name="INDEX-43"/></p>
 
903
 
 
904
 
 
905
</div>
 
906
 
 
907
 
 
908
</div>
 
909
 
 
910
 
 
911
<div class="sect2"><a name="samba2-CHP-12-SECT-2.3"/>
 
912
 
 
913
<h3 class="head2">Troubleshooting TCP</h3>
 
914
 
 
915
<p><a name="INDEX-44"/><a name="INDEX-45"/>Now that
 
916
you've tested IP, UDP, and a name service with
 
917
<em class="emphasis">ping</em>, it's time to test TCP.
 
918
Browsing and <em class="emphasis">ping</em> use ICMP and UDP; file and
 
919
print services (shares) use TCP. Both depend on IP as a lower layer,
 
920
and all four depend on name services. Testing TCP is most
 
921
conveniently done using the FTP program.</p>
 
922
 
 
923
 
 
924
<div class="sect3"><a name="samba2-CHP-12-SECT-2.3.1"/>
 
925
 
 
926
<h3 class="head3">Testing TCP with FTP</h3>
 
927
 
 
928
<p>Try connecting via FTP, once from the server to itself, and once from
 
929
the client to the server:</p>
 
930
 
 
931
<blockquote><pre class="code">$ <tt class="userinput"><b>ftp server</b></tt>
 
932
Connected to server.example.com. 
 
933
220 server.example.com FTP server (Version 6.2/OpenBSD/Linux-0.10) ready.
 
934
 Name (server:davecb): 
 
935
331 Password required for davecb. 
 
936
Password: 
 
937
230 User davecb logged in.
 
938
 ftp&gt;<tt class="userinput"><b> quit </b></tt>
 
939
221 Goodbye.</pre></blockquote>
 
940
 
 
941
<p>If this worked, skip to the next section, <a href="ch12.html#samba2-CHP-12-SECT-2.4">Section 12.2.4</a>. Otherwise:</p>
 
942
 
 
943
<ul><li>
 
944
<p>If you received the message <tt class="literal">server</tt>:
 
945
<tt class="literal">unknown</tt> <tt class="literal">host</tt>, name service has
 
946
failed. Go back to the corresponding <em class="emphasis">ping</em> step,
 
947
<a href="ch12.html#samba2-CHP-12-SECT-2.2.2">Section 12.2.2.2</a>, and rerun those tests
 
948
to see why name lookup failed.</p>
 
949
</li><li>
 
950
<p>If you received <tt class="literal">ftp</tt>: <tt class="literal">connect</tt>:
 
951
<tt class="literal">Connection</tt> <tt class="literal">refused</tt>, the system
 
952
isn't running an FTP daemon. This is mildly unusual
 
953
on Unix servers. Optionally, you might try this test by connecting to
 
954
the system using <em class="emphasis">telnet</em> instead of
 
955
<em class="emphasis">ftp</em>; the messages are very similar, and
 
956
<em class="emphasis">telnet</em> uses TCP as well.</p>
 
957
</li><li>
 
958
<p>If there was a long pause, and then <tt class="literal">ftp</tt>:
 
959
<tt class="literal">connect</tt>: <tt class="literal">Connection</tt>
 
960
<tt class="literal">timed</tt> <tt class="literal">out</tt>, the system
 
961
isn't reachable. Return to <a href="ch12.html#samba2-CHP-12-SECT-2.2.4">Section 12.2.2.4</a>.</p>
 
962
</li><li>
 
963
<p>If you received <tt class="literal">530</tt> <tt class="literal">Logon</tt>
 
964
<tt class="literal">Incorrect</tt>, you connected successfully, but
 
965
you've just found a different problem. You likely
 
966
provided an incorrect username or password. Try again, making sure
 
967
you use your username from the Unix server and type your password
 
968
correctly.</p>
 
969
</li></ul>
 
970
 
 
971
</div>
 
972
 
 
973
 
 
974
</div>
 
975
 
 
976
 
 
977
<div class="sect2"><a name="samba2-CHP-12-SECT-2.4"/>
 
978
 
 
979
<h3 class="head2">Troubleshooting Server Daemons</h3>
 
980
 
 
981
<p><a name="INDEX-46"/>Once
 
982
you've confirmed that TCP networking is working
 
983
properly, the next step is to make sure the daemons are running on
 
984
the server. This takes three separate tests because no single one of
 
985
the following will decisively prove that they're
 
986
working correctly.</p>
 
987
 
 
988
<p>To be sure they're running, you need to find out
 
989
whether the daemons:</p>
 
990
 
 
991
<ol><li>
 
992
<p>Have started</p>
 
993
</li><li>
 
994
<p>Are registered or bound to a TCP/IP port by the operating system</p>
 
995
</li><li>
 
996
<p>Are actually paying attention</p>
 
997
</li></ol>
 
998
 
 
999
<div class="sect3"><a name="samba2-CHP-12-SECT-2.4.1"/>
 
1000
 
 
1001
<h3 class="head3">Tracking daemon startup</h3>
 
1002
 
 
1003
<p><a name="INDEX-47"/>First, check the Samba logs. If
 
1004
you've started the daemons, the message
 
1005
<tt class="literal">smbd</tt> <tt class="literal">version</tt>
 
1006
<tt class="literal">number</tt> <tt class="literal">started</tt> should appear.
 
1007
If it doesn't, you need to restart the Samba
 
1008
daemons.</p>
 
1009
 
 
1010
<p>If the daemon reports that it has indeed started, look out for
 
1011
<tt class="literal">bind</tt> <tt class="literal">failed</tt>
 
1012
<tt class="literal">on</tt> <tt class="literal">port</tt> <tt class="literal">139</tt>
 
1013
<tt class="literal">socket_addr=0</tt> <tt class="literal">(Address</tt>
 
1014
<tt class="literal">already</tt> <tt class="literal">in</tt>
 
1015
<tt class="literal">use)</tt>. This means another daemon has been started
 
1016
on port 139 (<em class="emphasis">smbd</em> ). Also,
 
1017
<em class="emphasis">nmbd</em> will report a similar failure if it cannot
 
1018
bind to port 137. Either you've started them twice,
 
1019
or the <em class="emphasis">inetd</em> server has tried to provide a
 
1020
daemon for you. If it's the latter,
 
1021
we'll diagnose that in a moment.</p>
 
1022
 
 
1023
 
 
1024
</div>
 
1025
 
 
1026
 
 
1027
 
 
1028
<div class="sect3"><a name="samba2-CHP-12-SECT-2.4.2"/>
 
1029
 
 
1030
<h3 class="head3">Looking for daemon processes with ps</h3>
 
1031
 
 
1032
<p><a name="INDEX-48"/>Another way to make sure the daemons are
 
1033
running is to check their processes on the system. Use the
 
1034
<em class="emphasis">ps</em><a name="INDEX-49"/> command on the server with the
 
1035
&quot;long&quot; option for your system type
 
1036
(commonly <tt class="literal">ps</tt> <tt class="literal">ax</tt> or
 
1037
<tt class="literal">ps</tt> <tt class="literal">-ef</tt>), and see whether
 
1038
<em class="emphasis">smbd</em> and <em class="emphasis">nmbd</em> are already
 
1039
running. This often looks like the following:</p>
 
1040
 
 
1041
<blockquote><pre class="code">$ <tt class="userinput"><b>ps ax</b></tt>
 
1042
 PID TTY STAT TIME   COMMAND
 
1043
 1   ?   S    0:03   init [2] 
 
1044
 2   ?   SW   0:00   (kflushd)
 
1045
<i class="lineannotation">(...many lines of processes...) </i>
 
1046
 234 ?   S    0:14   nmbd -D3
 
1047
 237 ?   S    0:11   smbd -D3
 
1048
<i class="lineannotation">(...more lines, possibly including more smbd lines...)</i></pre></blockquote>
 
1049
 
 
1050
<p>This example illustrates that <em class="emphasis">smbd</em> and
 
1051
<em class="emphasis">nmbd</em> have already started as standalone daemons
 
1052
(the <em class="emphasis">-D</em> option) at log level 3.</p>
 
1053
 
 
1054
 
 
1055
</div>
 
1056
 
 
1057
 
 
1058
 
 
1059
<div class="sect3"><a name="samba2-CHP-12-SECT-2.4.3"/>
 
1060
 
 
1061
<h3 class="head3">Looking for daemons bound to ports</h3>
 
1062
 
 
1063
<p><a name="INDEX-50"/>Next, the daemons have to be registered
 
1064
with the operating system so that they can get access to TCP/IP
 
1065
ports. The <em class="emphasis">netstat</em> command will tell you if this
 
1066
has been done. Run the command <tt class="literal">netstat</tt>
 
1067
<tt class="literal">-a</tt> on the server, and look for lines mentioning
 
1068
<tt class="literal">netbios</tt>, <tt class="literal">137</tt>, or
 
1069
<tt class="literal">139</tt>:</p>
 
1070
 
 
1071
<blockquote><pre class="code">$ <tt class="userinput"><b>netstat -a </b></tt>
 
1072
Active Internet connections (including servers) 
 
1073
Proto Recv-Q Send-Q  Local Address          Foreign Address        (state) 
 
1074
udp   0      0       *.137                  *.* 
 
1075
tcp   0      0       *.139                  *.*                    LISTEN 
 
1076
tcp   8370   8760    server.139             client.1439            ESTABLISHED</pre></blockquote>
 
1077
 
 
1078
<p>Among similar lines, there should be at least one UDP line for
 
1079
<tt class="literal">*.netbios-</tt> or <tt class="literal">*.137</tt>. This
 
1080
indicates that the <em class="emphasis">nmbd</em> server is registered and
 
1081
(we hope) is waiting to answer requests. There should also be at
 
1082
least one TCP line mentioning <tt class="literal">*.netbios-</tt> or
 
1083
<tt class="literal">*.139</tt>, and it will probably be in the LISTEN
 
1084
state. This means that <em class="emphasis">smbd</em> is up and listening
 
1085
for connections.</p>
 
1086
 
 
1087
<p>There might be other TCP lines indicating connections from
 
1088
<em class="emphasis">smbd</em> to clients, one for each client. These are
 
1089
usually in the ESTABLISHED state. If there are
 
1090
<em class="emphasis">smbd</em> lines in the ESTABLISHED state,
 
1091
<em class="emphasis">smbd</em> is definitely running. If there is only one
 
1092
line in the LISTEN state, we're not sure yet. If
 
1093
both of the lines are missing, a daemon has not succeeded in
 
1094
starting, so it's time to check the logs and then go
 
1095
back to <a href="ch02.html">Chapter 2</a>.</p>
 
1096
 
 
1097
<p>If there is a line for each client, it might be coming either from a
 
1098
Samba daemon or from the master IP daemon,
 
1099
<em class="emphasis">inetd</em>. It's quite possible that
 
1100
your <em class="emphasis">inetd</em> startup file contains lines that
 
1101
start Samba daemons without your realizing it; for instance, the
 
1102
lines might have been placed there if you installed Samba as part of
 
1103
a Linux distribution. The daemons started by
 
1104
<em class="emphasis">inetd</em> prevent ours from running. This problem
 
1105
typically produces log messages such as <tt class="literal">bind</tt>
 
1106
<tt class="literal">failed</tt> <tt class="literal">on</tt>
 
1107
<tt class="literal">port</tt> <tt class="literal">139</tt>
 
1108
<tt class="literal">socket</tt> <tt class="literal">addr=0</tt>
 
1109
<tt class="literal">(Address</tt> <tt class="literal">already</tt>
 
1110
<tt class="literal">in</tt> <tt class="literal">use)</tt>.</p>
 
1111
 
 
1112
<p>Check your <em class="filename">/etc/inetd.conf</em> ; unless
 
1113
you're intentionally starting the daemons from
 
1114
there, <tt class="literal">netbios-ns</tt> (UDP port 137) or
 
1115
<tt class="literal">netbios-ssn</tt> (tcp port 139) servers should be
 
1116
mentioned there. If your system is providing an SMB daemon via
 
1117
<em class="emphasis">inetd</em>, lines such as the following will appear
 
1118
in the <em class="filename">inetd.conf</em> file:</p>
 
1119
 
 
1120
<blockquote><pre class="code">netbios-ssn stream tcp nowait root /usr/local/samba/bin/smbd smbd
 
1121
netbios-ns dgram udp wait root /usr/local/samba/bin/nmbd nmbd</pre></blockquote>
 
1122
 
 
1123
<p>If your system uses <em class="emphasis">xinetd</em> instead of
 
1124
<em class="emphasis">inetd</em>, see <a href="ch02.html">Chapter 2</a> for
 
1125
details concerning its configuration.</p>
 
1126
 
 
1127
 
 
1128
</div>
 
1129
 
 
1130
 
 
1131
 
 
1132
<div class="sect3"><a name="samba2-CHP-12-SECT-2.4.4"/>
 
1133
 
 
1134
<h3 class="head3">Checking smbd with telnet</h3>
 
1135
 
 
1136
<p><a name="INDEX-51"/><a name="INDEX-52"/><a name="INDEX-53"/>Ironically, the easiest way to test that
 
1137
the <em class="emphasis">smbd</em> server is actually working is to send
 
1138
it a meaningless message and see if it is rejected. Try something
 
1139
such as the following:</p>
 
1140
 
 
1141
<blockquote><pre class="code">$ <tt class="userinput"><b>echo &quot;hello&quot; | telnet localhost 139 </b></tt>
 
1142
Trying
 
1143
Trying 192.168.236.86 ... 
 
1144
Connected to localhost. Escape character is '^]'. 
 
1145
Connection closed by foreign host.</pre></blockquote>
 
1146
 
 
1147
<p>This sends an erroneous but harmless message to
 
1148
<em class="emphasis">smbd</em>. If you get a <tt class="literal">Connected</tt>
 
1149
message followed by a <tt class="literal">Connection</tt>
 
1150
<tt class="literal">closed</tt> message, the test was a success. You have
 
1151
an <em class="emphasis">smbd</em> daemon listening on the port and
 
1152
rejecting improper connection messages. On the other hand, if you get
 
1153
<tt class="literal">telnet</tt>: <tt class="literal">connect</tt>:
 
1154
<tt class="literal">Connection</tt> <tt class="literal">refused</tt>, most likely
 
1155
no daemon is present. Check the logs and go back to <a href="ch02.html">Chapter 2</a>.</p>
 
1156
 
 
1157
<p>Regrettably, there isn't an easy test for
 
1158
<em class="emphasis">nmbd</em>. If the <em class="emphasis">telnet</em> test
 
1159
and the <em class="emphasis">netstat</em> test both say that an
 
1160
<em class="emphasis">smbd</em> is running, there is a good chance that
 
1161
<em class="emphasis">netstat</em> will also be correct about
 
1162
<em class="emphasis">nmbd</em> running.</p>
 
1163
 
 
1164
 
 
1165
</div>
 
1166
 
 
1167
 
 
1168
 
 
1169
<div class="sect3"><a name="samba2-CHP-12-SECT-2.4.5"/>
 
1170
 
 
1171
<h3 class="head3">Testing daemons with testparm</h3>
 
1172
 
 
1173
<p><a name="INDEX-54"/><a name="INDEX-55"/>Once you know
 
1174
there's a daemon, you should always run
 
1175
<em class="emphasis">testparm</em>, in hopes of getting something such as
 
1176
the following:</p>
 
1177
 
 
1178
<blockquote><pre class="code">$ <tt class="userinput"><b>testparm </b></tt>
 
1179
Load smb config files from /opt/samba/lib/smb.conf
 
1180
Processing section &quot;[homes]&quot; 
 
1181
Processing section &quot;[printers]&quot; ... 
 
1182
Processing section &quot;[tmp]&quot; 
 
1183
Loaded services file OK. ...</pre></blockquote>
 
1184
 
 
1185
<p>The <em class="emphasis">testparm</em> program normally reports the
 
1186
processing of a series of sections and responds with
 
1187
<tt class="literal">Loaded</tt> <tt class="literal">services</tt>
 
1188
<tt class="literal">file</tt> <tt class="literal">OK</tt> if it succeeds. If not,
 
1189
it reports one or more of the following messages, which also appear
 
1190
in the logs as noted:</p>
 
1191
 
 
1192
<dl>
 
1193
<dt><b>Allow/Deny connection from account (n) to service</b></dt>
 
1194
<dd>
 
1195
<p>A <em class="emphasis">testparm</em>-only message produced if you have
 
1196
<tt class="literal">valid</tt> <tt class="literal">user</tt> or
 
1197
<tt class="literal">invalid</tt> <tt class="literal">user</tt> options set in
 
1198
your <em class="emphasis">smb.conf</em>. You will want to make sure that
 
1199
you are on the valid user list, and that <tt class="literal">root</tt>,
 
1200
<tt class="literal">bin</tt>, etc., are on the invalid user list. If you
 
1201
don't, you will not be able to connect, or users who
 
1202
shouldn't <em class="emphasis">will</em> be able to.</p>
 
1203
</dd>
 
1204
 
 
1205
 
 
1206
 
 
1207
<dt><b>Warning: You have some share names that are longer than eight chars</b></dt>
 
1208
<dd>
 
1209
<p>For anyone using Windows for Workgroups and older clients. They fail
 
1210
to connect to shares with long names, producing an overflow message
 
1211
that sounds confusingly like a memory overflow.</p>
 
1212
</dd>
 
1213
 
 
1214
 
 
1215
 
 
1216
<dt><b>Warning: [name] service MUST be printable!</b></dt>
 
1217
<dd>
 
1218
<p>A printer share lacks a <tt class="literal">printable</tt>
 
1219
<tt class="literal">=</tt> <tt class="literal">yes</tt> option.</p>
 
1220
</dd>
 
1221
 
 
1222
 
 
1223
 
 
1224
<dt><b>No path in service name using [name]</b></dt>
 
1225
<dd>
 
1226
<p>A file share doesn't know which directory to provide
 
1227
to the user, or a print share doesn't know which
 
1228
directory to use for spooling. If no path is specified, the service
 
1229
will try to run with a path of <em class="emphasis">/tmp</em>, which might
 
1230
not be what you want.</p>
 
1231
</dd>
 
1232
 
 
1233
 
 
1234
 
 
1235
<dt><b>Note: Servicename is flagged unavailable</b></dt>
 
1236
<dd>
 
1237
<p>Just a reminder that you have used the <tt class="literal">available</tt>
 
1238
<tt class="literal">=</tt> <tt class="literal">no</tt> option in a share.</p>
 
1239
</dd>
 
1240
 
 
1241
 
 
1242
 
 
1243
<dt><b>Can't find include file [name] </b></dt>
 
1244
<dd>
 
1245
<p>A configuration file referred to by an <tt class="literal">include</tt>
 
1246
option did not exist. If you were including the file unconditionally,
 
1247
this is an error and probably a serious one: the share will not have
 
1248
the configuration you intended. If you were including it based on one
 
1249
of the <tt class="literal">%</tt> variables, such as <tt class="literal">%a</tt>
 
1250
(architecture), you will need to decide whether, for example, a
 
1251
missing Windows for Workgroups configuration file is a problem. It
 
1252
often isn't.</p>
 
1253
</dd>
 
1254
 
 
1255
 
 
1256
 
 
1257
<dt><b>Can't copy service name, unable to copy to itself</b></dt>
 
1258
<dd>
 
1259
<p>You tried to copy an <em class="filename">smb.conf</em> section into
 
1260
itself.</p>
 
1261
</dd>
 
1262
 
 
1263
 
 
1264
 
 
1265
<dt><b>Unable to copy service&mdash;source not found: [name]</b></dt>
 
1266
<dd>
 
1267
<p>Indicates a missing or misspelled section in a
 
1268
<tt class="literal">copy</tt> <tt class="literal">=</tt> option.</p>
 
1269
</dd>
 
1270
 
 
1271
 
 
1272
 
 
1273
<dt><b>Ignoring unknown parameter name </b></dt>
 
1274
<dd>
 
1275
<p>Typically indicates an obsolete, misspelled, or unsupported option.</p>
 
1276
</dd>
 
1277
 
 
1278
 
 
1279
 
 
1280
<dt><b>Global parameter name found in service section </b></dt>
 
1281
<dd>
 
1282
<p>Indicates that a global-only parameter has been used in an individual
 
1283
share. Samba ignores the parameter.</p>
 
1284
</dd>
 
1285
 
 
1286
</dl>
 
1287
 
 
1288
<p>After the <em class="emphasis">testparm</em> test, repeat it with
 
1289
(exactly) three parameters: the name of your
 
1290
<em class="filename">smb.conf</em> file, the name of your client, and its
 
1291
IP address:</p>
 
1292
 
 
1293
<blockquote><pre class="code"># <tt class="userinput"><b>testparm /usr/local/samba/lib/smb.conf client 192.168.236.10</b></tt></pre></blockquote>
 
1294
 
 
1295
<p>This will run one more test that checks the hostname and address
 
1296
against <tt class="literal">hosts</tt> <tt class="literal">allow</tt> and
 
1297
<tt class="literal">hosts</tt> <tt class="literal">deny</tt> options and might
 
1298
produce the <tt class="literal">Allow</tt> <tt class="literal">connection</tt>
 
1299
<tt class="literal">from</tt> <tt class="literal">hostname</tt>
 
1300
<tt class="literal">to</tt> <tt class="literal">service</tt> and/or
 
1301
<tt class="literal">Deny</tt> <tt class="literal">connection</tt>
 
1302
<tt class="literal">from</tt> <tt class="literal">hostname</tt>
 
1303
<tt class="literal">to</tt> <tt class="literal">service</tt> messages for the
 
1304
client system. These messages indicate that you have
 
1305
<tt class="literal">hosts</tt> <tt class="literal">allow</tt> and/or
 
1306
<tt class="literal">hosts</tt> <tt class="literal">deny</tt> options in your
 
1307
<em class="filename">smb.conf</em>, and they prohibit access from the
 
1308
client system. <a name="INDEX-56"/></p>
 
1309
 
 
1310
 
 
1311
</div>
 
1312
 
 
1313
 
 
1314
</div>
 
1315
 
 
1316
 
 
1317
<div class="sect2"><a name="samba2-CHP-12-SECT-2.5"/>
 
1318
 
 
1319
<h3 class="head2">Troubleshooting SMB Connections</h3>
 
1320
 
 
1321
<p><a name="INDEX-57"/><a name="INDEX-58"/>Now
 
1322
that you know the servers are up, you need to make sure
 
1323
they're running properly. We start by placing a
 
1324
simple <em class="filename">smb.conf</em> file in the
 
1325
<em class="filename">/usr/local/samba/lib</em> directory.</p>
 
1326
 
 
1327
 
 
1328
<div class="sect3"><a name="samba2-CHP-12-SECT-2.5.1"/>
 
1329
 
 
1330
<h3 class="head3">A minimal smb.conf file</h3>
 
1331
 
 
1332
<p>In the following tests, we assume you have a
 
1333
<tt class="literal">[temp]</tt> share suitable for testing, plus at least
 
1334
one account. An <em class="filename">smb.conf</em> file that includes just
 
1335
these is as follows:</p>
 
1336
 
 
1337
<blockquote><pre class="code">[global] 
 
1338
    workgroup = <em class="replaceable">EXAMPLE</em> 
 
1339
    security = user
 
1340
    browsable = yes 
 
1341
    local master = yes 
 
1342
[homes] 
 
1343
    guest ok = no 
 
1344
    browsable = no
 
1345
[temp] 
 
1346
    path = /tmp 
 
1347
    public = yes</pre></blockquote>
 
1348
<a name="samba2-CHP-12-NOTE-156"/><blockquote class="note"><h4 class="objtitle">WARNING</h4>
 
1349
<p>The <tt class="literal">public</tt> <tt class="literal">=</tt>
 
1350
<tt class="literal">yes</tt> option in the <tt class="literal">[temp]</tt> share
 
1351
is just for testing. You probably don't want people
 
1352
without accounts storing things on your Samba server, so you should
 
1353
comment it out when you're done.</p>
 
1354
</blockquote>
 
1355
 
 
1356
 
 
1357
</div>
 
1358
 
 
1359
 
 
1360
 
 
1361
<div class="sect3"><a name="samba2-CHP-12-SECT-2.5.2"/>
 
1362
 
 
1363
<h3 class="head3">Testing locally with smbclient</h3>
 
1364
 
 
1365
<p><a name="INDEX-59"/><a name="INDEX-60"/>The first test is to ensure that the
 
1366
server can list its own services (shares). Run the command
 
1367
<tt class="literal">smbclient</tt> <em class="emphasis">-L</em>
 
1368
<tt class="literal">localhost</tt> <tt class="literal">-U%</tt> to connect to the
 
1369
server from itself, and specify the guest user. You should see the
 
1370
following:</p>
 
1371
 
 
1372
<blockquote><pre class="code">$ <tt class="userinput"><b>smbclient -L localhost -U% </b></tt>
 
1373
Server time is Wed May 27 17:57:40 2002 Timezone is UTC-4.0
 
1374
Server=[localhost] 
 
1375
User=[davecb] 
 
1376
Workgroup=[EXAMPLE] 
 
1377
Domain=[EXAMPLE]
 
1378
    Sharename      Type      Comment 
 
1379
    ---------      -----     ----------
 
1380
    temp           Disk
 
1381
    IPC$           IPC       IPC Service (Samba 1.9.18) 
 
1382
    homes          Disk      Home directories
 
1383
This machine does not have a browse list</pre></blockquote>
 
1384
 
 
1385
<p>If you received this output, move on to the next section, <a href="ch12.html#samba2-CHP-12-SECT-2.5.3">Section 12.2.5.3</a>. On the other hand, if you
 
1386
receive an error, check the following:</p>
 
1387
 
 
1388
<ul><li>
 
1389
<p>If you get <tt class="literal">Get_hostbyname</tt>:
 
1390
<tt class="literal">unknown</tt> <tt class="literal">host</tt>
 
1391
<tt class="literal">localhost</tt>, either you've spelled
 
1392
its name wrong or there actually is a problem (which should have been
 
1393
seen back in <a href="ch12.html#samba2-CHP-12-SECT-2.2.2">Section 12.2.2.2</a>). In the
 
1394
latter case, move on to <a href="ch12.html#samba2-CHP-12-SECT-2.7">Section 12.2.7</a>, later in this chapter.</p>
 
1395
</li><li>
 
1396
<p>If you get <tt class="literal">Connect</tt> <tt class="literal">error</tt>:
 
1397
<tt class="literal">Connection</tt> <tt class="literal">refused</tt>, the server
 
1398
was found, but it wasn't running an
 
1399
<em class="emphasis">nmbd</em> daemon. Skip back to
 
1400
<a href="ch12.html#samba2-CHP-12-SECT-2.4">Section 12.2.4</a>,
 
1401
earlier in this chapter, and retest the daemons.</p>
 
1402
</li><li>
 
1403
<p>If you get the message <tt class="literal">Your</tt>
 
1404
<tt class="literal">server</tt> <tt class="literal">software</tt>
 
1405
<tt class="literal">is</tt> <tt class="literal">being</tt>
 
1406
<tt class="literal">unfriendly</tt>, the initial session request packet got
 
1407
a garbage response from the server. The server might have crashed or
 
1408
started improperly. The common causes of this can be discovered by
 
1409
scanning the logs for the following:</p>
 
1410
<ul><li>
 
1411
<p>Invalid command-line parameters to <em class="emphasis">smbd</em> ; see
 
1412
the <em class="emphasis">smbd</em> manual page.</p>
 
1413
</li><li>
 
1414
<p>A fatal problem with the <em class="filename">smb.conf</em> file that
 
1415
prevents the startup of <em class="emphasis">smbd</em>. Always check your
 
1416
changes with <em class="emphasis">testparm</em>, as was done in <a href="ch12.html#samba2-CHP-12-SECT-2.4.5">Section 12.2.4.5</a>, earlier in this chapter.</p>
 
1417
</li><li>
 
1418
<p>Missing directories where Samba is supposed to keep its log and lock
 
1419
files.</p>
 
1420
</li><li>
 
1421
<p>The presence of a server already on the port (139 for
 
1422
<em class="emphasis">smbd</em>, 137 for <em class="emphasis">nmbd</em> ),
 
1423
preventing the daemon from starting.</p>
 
1424
</li></ul>
 
1425
</li>
 
1426
<li>
 
1427
<p>If you're using <em class="emphasis">inetd</em> (or
 
1428
xinetd ) instead of standalone daemons, be sure to check your
 
1429
<em class="filename">/etc/inetd.conf</em> (or xinetd configuration files)
 
1430
and <em class="filename">/etc/services</em> entries against their manual
 
1431
pages for errors as well.</p>
 
1432
</li><li>
 
1433
<p>If you get a <tt class="literal">Password</tt>: prompt, your guest account
 
1434
is not set up properly. The <em class="emphasis">-U%</em> option tells
 
1435
<em class="emphasis">smbclient</em> to do a &quot;null
 
1436
login,&quot; which requires that the guest account be
 
1437
present but does not require it to have any privileges.</p>
 
1438
</li><li>
 
1439
<p>If you get the message <tt class="literal">SMBtconX</tt>
 
1440
<tt class="literal">failed</tt>. <tt class="literal">ERRSRV--ERRaccess</tt>, you
 
1441
aren't permitted access to the server. This normally
 
1442
means you have a <tt class="literal">hosts</tt> <tt class="literal">allow</tt>
 
1443
option that doesn't include the server or a
 
1444
<tt class="literal">hosts</tt> <tt class="literal">deny</tt> option that does.
 
1445
Recheck with the command <tt class="literal">testparm</tt>
 
1446
<tt class="literal">smb.conf</tt> <em class="replaceable">your_hostname</em>
 
1447
<em class="replaceable">your_ip_address</em> (see
 
1448
<a href="ch12.html#samba2-CHP-12-SECT-2.4.5">Section 12.2.4.5</a>),
 
1449
and correct any unintended prohibitions.</p>
 
1450
</li></ul>
 
1451
 
 
1452
</div>
 
1453
 
 
1454
 
 
1455
 
 
1456
<div class="sect3"><a name="samba2-CHP-12-SECT-2.5.3"/>
 
1457
 
 
1458
<h3 class="head3">Testing connections with smbclient</h3>
 
1459
 
 
1460
<p><a name="INDEX-61"/><a name="INDEX-62"/>Run the command
 
1461
<tt class="literal">smbclient</tt>
 
1462
<tt class="literal">\\</tt><em class="replaceable">server</em><tt class="literal">\temp</tt>
 
1463
to connect to the server's <tt class="literal">[temp]</tt>
 
1464
share and to see if you can connect to a file service. You should get
 
1465
the following response:</p>
 
1466
 
 
1467
<blockquote><pre class="code">$ <tt class="userinput"><b>smbclient '\\server\temp' </b></tt>
 
1468
Server time is Tue May  5 09:49:32 2002 Timezone is UTC-4.0 Password:
 
1469
<b class="emphasis-bold">smb: \&gt; quit</b></pre></blockquote>
 
1470
<p>You might receive the following errors:</p>
 
1471
 
 
1472
<ul><li>
 
1473
<p>If you get <tt class="literal">Get_Hostbyname</tt>:
 
1474
<tt class="literal">Unknown</tt> <tt class="literal">host</tt>
 
1475
<tt class="literal">name</tt>, <tt class="literal">Connect</tt>
 
1476
<tt class="literal">error</tt>: <tt class="literal">Connection</tt>
 
1477
<tt class="literal">refused</tt>, or <tt class="literal">Your</tt>
 
1478
<tt class="literal">server</tt> <tt class="literal">software</tt>
 
1479
<tt class="literal">is</tt> <tt class="literal">being</tt>
 
1480
<tt class="literal">unfriendly</tt>, see the previous section,
 
1481
<a href="ch12.html#samba2-CHP-12-SECT-2.5.2">Section 12.2.5.2</a>, for
 
1482
the diagnoses.</p>
 
1483
</li><li>
 
1484
<p>If you get the message <tt class="literal">servertemp</tt>:
 
1485
<tt class="literal">Not</tt> <tt class="literal">enough</tt>
 
1486
<tt class="literal">`\</tt>'
 
1487
<tt class="literal">characters</tt> <tt class="literal">in</tt>
 
1488
<tt class="literal">service</tt>, you likely didn't quote
 
1489
the address, so Unix stripped off backslashes. You can also write the
 
1490
command:</p>
 
1491
 
 
1492
<blockquote><pre class="code">smbclient \\\\<em class="replaceable">server</em>\\temp</pre></blockquote>
 
1493
 
 
1494
<p>or:</p>
 
1495
<blockquote><pre class="code">smbclient //<em class="replaceable">server</em>/temp</pre></blockquote>
 
1496
</li>
 
1497
</ul>
 
1498
<p>Now, provide your Unix account password to the
 
1499
<tt class="literal">Password</tt>: prompt. If you then get an
 
1500
<tt class="literal">smb</tt>: <tt class="literal">\&gt;</tt> prompt, it worked.
 
1501
Enter <tt class="literal">quit</tt> and continue on to the next section,
 
1502
<a href="ch12.html#samba2-CHP-12-SECT-2.5.4">Section 12.2.5.4</a>. If
 
1503
you got <tt class="literal">SMBtconX</tt> <tt class="literal">failed</tt>.
 
1504
<tt class="literal">ERRSRV--ERRinvnetname</tt>, the problem can be any of
 
1505
the following:</p>
 
1506
 
 
1507
<ul><li>
 
1508
<p>A wrong share name: you might have spelled it wrong, it might be too
 
1509
long, it might be in mixed case, or it might not be available. Check
 
1510
that it's what you expect with
 
1511
<em class="emphasis">testparm</em> (see the earlier section, <a href="ch12.html#samba2-CHP-12-SECT-2.4.5">Section 12.2.4.5</a>).</p>
 
1512
</li><li>
 
1513
<p>A <tt class="literal">security</tt> <tt class="literal">=</tt>
 
1514
<tt class="literal">share</tt> parameter in your Samba configuration file,
 
1515
in which case you might have to add <tt class="literal">-U</tt>
 
1516
<em class="replaceable">your_account</em> to the
 
1517
<em class="emphasis">smbclient</em> command.</p>
 
1518
</li><li>
 
1519
<p>An erroneous username.</p>
 
1520
</li><li>
 
1521
<p>An erroneous password.</p>
 
1522
</li><li>
 
1523
<p>An <tt class="literal">invalid</tt> <tt class="literal">users</tt> or
 
1524
<tt class="literal">valid</tt> <tt class="literal">users</tt> option in your
 
1525
<em class="emphasis">smb.conf</em> file that doesn't
 
1526
allow your account to connect. Recheck using
 
1527
<tt class="literal">testparm</tt> <tt class="literal">smb.conf</tt>
 
1528
<em class="replaceable">your_hostname your_ip_address</em> (see the
 
1529
earlier section, <a href="ch12.html#samba2-CHP-12-SECT-2.4.5">Section 12.2.4.5</a>).</p>
 
1530
</li><li>
 
1531
<p>A <tt class="literal">valid</tt> <tt class="literal">hosts</tt> option that
 
1532
doesn't include the server, or an
 
1533
<tt class="literal">invalid</tt> <tt class="literal">hosts</tt> option that does.
 
1534
Also test this with <em class="emphasis">testparm</em>.</p>
 
1535
</li><li>
 
1536
<p>A problem in authentication, such as if shadow passwords or the
 
1537
Password Authentication Module (PAM) is used on the server, but Samba
 
1538
is not compiled to use it. This is rare, but it occasionally happens
 
1539
when a SunOS 4 Samba binary (with no shadow passwords) is run without
 
1540
recompilation on a Solaris system (with shadow passwords).</p>
 
1541
</li><li>
 
1542
<p>The <tt class="literal">encrypted</tt> <tt class="literal">passwords</tt>
 
1543
<tt class="literal">=</tt> <tt class="literal">yes</tt> option is in the
 
1544
configuration file, but no password for your account is in the
 
1545
<em class="emphasis">smbpasswd</em> file.</p>
 
1546
</li><li>
 
1547
<p>You have a null password entry, either in Unix
 
1548
<em class="filename">/etc/passwd</em> or in the
 
1549
<em class="emphasis">smbpasswd</em> file.</p>
 
1550
</li><li>
 
1551
<p>You are connecting to <tt class="literal">[temp]</tt>, and you do not have
 
1552
the <tt class="literal">guest</tt> <tt class="literal">ok</tt>
 
1553
<tt class="literal">=</tt> <tt class="literal">yes</tt> option in the
 
1554
<tt class="literal">[temp]</tt> section of the
 
1555
<em class="emphasis">smb.conf</em> file.</p>
 
1556
</li><li>
 
1557
<p>You are connecting to <tt class="literal">[temp]</tt> before connecting to
 
1558
your home directory, and your guest account isn't
 
1559
set up correctly. If you can connect to your home directory and then
 
1560
connect to <tt class="literal">[temp]</tt>, that's the
 
1561
problem. See <a href="ch02.html">Chapter 2</a> for more information on
 
1562
creating a basic Samba configuration file.</p>
 
1563
 
 
1564
<p>A bad guest account will also prevent you from printing or browsing
 
1565
until after you've logged in to your home directory.</p>
 
1566
</li></ul>
 
1567
<p>There is one more reason for this failure that has nothing at all to
 
1568
do with passwords: the <tt class="literal">path</tt> parameter in your
 
1569
<em class="filename">smb.conf</em> file might point somewhere that
 
1570
doesn't exist. This will not be diagnosed by
 
1571
<em class="emphasis">testparm</em>, and most SMB clients
 
1572
can't distinguish it from other types of bad user
 
1573
accounts. You will have to check it manually.</p>
 
1574
 
 
1575
<p>Once you have connected to <tt class="literal">[temp]</tt> successfully,
 
1576
repeat the test, this time logging in to your home directory (e.g.,
 
1577
map network drive
 
1578
<em class="replaceable">server</em><tt class="literal">\davecb</tt>). If you
 
1579
have to change anything to get that to work, retest
 
1580
<tt class="literal">[temp]</tt> again afterward.</p>
 
1581
 
 
1582
 
 
1583
</div>
 
1584
 
 
1585
 
 
1586
 
 
1587
<div class="sect3"><a name="samba2-CHP-12-SECT-2.5.4"/>
 
1588
 
 
1589
<h3 class="head3">Testing connections with net use</h3>
 
1590
 
 
1591
<p><a name="INDEX-63"/><a name="INDEX-64"/>Run the command
 
1592
<tt class="literal">net</tt> <tt class="literal">use</tt> <tt class="literal">*</tt>
 
1593
<tt class="literal">\</tt><em class="replaceable">server</em><tt class="literal">\temp</tt>
 
1594
on the Windows client to see if it can connect to the server. You
 
1595
should be prompted for a password, then receive the response
 
1596
<tt class="literal">The</tt> <tt class="literal">command</tt>
 
1597
<tt class="literal">was</tt> <tt class="literal">completed</tt>
 
1598
<tt class="literal">successfully</tt>.</p>
 
1599
 
 
1600
<p>If that worked, continue with the steps in the next section, <a href="ch12.html#samba2-CHP-12-SECT-2.5.5">Section 12.2.5.5</a>. Otherwise:</p>
 
1601
 
 
1602
<ul><li>
 
1603
<p>If you get <tt class="literal">The</tt> <tt class="literal">specified</tt>
 
1604
<tt class="literal">shared</tt> <tt class="literal">directory</tt>
 
1605
<tt class="literal">cannot</tt> <tt class="literal">be</tt>
 
1606
<tt class="literal">found</tt>, or <tt class="literal">Cannot</tt>
 
1607
<tt class="literal">locate</tt> <tt class="literal">specified</tt>
 
1608
<tt class="literal">share</tt> <tt class="literal">name</tt>, the directory name
 
1609
is either misspelled or not in the <em class="emphasis">smb.conf</em>
 
1610
file. This message can also warn of a name that is in mixed case,
 
1611
including spaces, or that is longer than eight characters.</p>
 
1612
</li><li>
 
1613
<p>If you get <tt class="literal">The</tt> <tt class="literal">computer</tt>
 
1614
<tt class="literal">name</tt> <tt class="literal">specified</tt>
 
1615
<tt class="literal">in</tt> <tt class="literal">the</tt>
 
1616
<tt class="literal">network</tt> <tt class="literal">path</tt>
 
1617
<tt class="literal">cannot</tt> <tt class="literal">be</tt>
 
1618
<tt class="literal">located</tt> or <tt class="literal">Cannot</tt>
 
1619
<tt class="literal">locate</tt> <tt class="literal">specified</tt>
 
1620
<tt class="literal">computer</tt>, the directory name has been misspelled,
 
1621
the name service has failed, there is a networking problem, or the
 
1622
<tt class="literal">hosts</tt> <tt class="literal">deny</tt> option includes your
 
1623
host.</p>
 
1624
<ul><li>
 
1625
<p>If it is not a spelling mistake, you need to double back at least to
 
1626
<a href="ch12.html#samba2-CHP-12-SECT-2.5.3">Section 12.2.5.3</a> to
 
1627
investigate why it doesn't connect.</p>
 
1628
</li><li>
 
1629
<p>If <em class="emphasis">smbclient</em> does work, there is a name service
 
1630
problem with the client name service, and you need to go forward to
 
1631
<a href="ch12.html#samba2-CHP-12-SECT-2.6.2">Section 12.2.6.2</a> and see if
 
1632
you can look up both the client and server with
 
1633
<em class="emphasis">nmblookup</em>.</p>
 
1634
</li>
 
1635
</ul>
 
1636
</li>
 
1637
 
 
1638
<li>
 
1639
<p>If you get <tt class="literal">The</tt> <tt class="literal">password</tt>
 
1640
<tt class="literal">is</tt> <tt class="literal">invalid</tt>
 
1641
<tt class="literal">for</tt> <tt class="literal">\server\username</tt>, your
 
1642
locally cached copy on the client doesn't match the
 
1643
one on the server. You will be prompted for a replacement.</p>
 
1644
 
 
1645
<a name="samba2-CHP-12-NOTE-157"/><blockquote class="note"><h4 class="objtitle">TIP</h4>
 
1646
<p>Each Windows 95/98/Me client keeps a local
 
1647
<em class="emphasis">password</em> file, but it's really
 
1648
just a cached copy of the password it sends to Samba and NT/2000/XP
 
1649
servers to authenticate you. That's what is being
 
1650
prompted for here. You can still log on to a Windows system without a
 
1651
password (but not to NT/2000/XP).</p>
 
1652
</blockquote>
 
1653
 
 
1654
<p>If you provide your password and it still fails, your password is not
 
1655
being matched on the server, you have a <tt class="literal">valid</tt>
 
1656
<tt class="literal">users</tt> or <tt class="literal">invalid</tt>
 
1657
<tt class="literal">users</tt> list denying you permission, NetBEUI is
 
1658
interfering, or the encrypted password problem described in the next
 
1659
paragraph exists.</p>
 
1660
</li><li>
 
1661
<p>If your client is Windows NT 4.0, NT 3.5 with Patch 3, Windows 95
 
1662
with Patch 3, Windows 98, any of these with Internet Explorer 4.0, or
 
1663
any subsequent version of Windows, the system will default to
 
1664
Microsoft encryption for passwords. In general, if you have installed
 
1665
a major Microsoft product on any of the older Windows versions, you
 
1666
might have applied an update and turned on encrypted passwords. If
 
1667
the client is defaulting to encrypted passwords, you will need to
 
1668
specify <tt class="literal">encrypt</tt> <tt class="literal">passwords</tt>
 
1669
<tt class="literal">=</tt> <tt class="literal">yes</tt> in your Samba
 
1670
configuration file if you are using a version of Samba prior to Samba
 
1671
3.0.</p>
 
1672
 
 
1673
<a name="samba2-CHP-12-NOTE-158"/><blockquote class="note"><h4 class="objtitle">TIP</h4>
 
1674
<p>Because of Internet Explorer's willingness to honor
 
1675
URLs such as <em class="filename">file://somehost/somefile</em> by making
 
1676
SMB connections, clients up to and including Windows 95 Patch Level 2
 
1677
would happily send your password, in plain text, to SMB servers
 
1678
anywhere on the Internet. This was considered a bad idea, and
 
1679
Microsoft switched to using only encrypted passwords in the SMB
 
1680
protocol. All subsequent releases of Microsoft's
 
1681
products have included this correction.</p>
 
1682
</blockquote>
 
1683
</li>
 
1684
 
 
1685
<li>
 
1686
<p>If you have a mixed-case password on Unix, the client is probably
 
1687
sending it in all one case. If changing your password to all one case
 
1688
works, this was the problem. Regrettably, all but the oldest clients
 
1689
support uppercase passwords, so Samba will try once with the password
 
1690
in uppercase and once in lowercase. If you wish to use mixed-case
 
1691
passwords, see the <tt class="literal">password</tt>
 
1692
<tt class="literal">level</tt> option in <a href="ch09.html">Chapter 9</a> for a
 
1693
workaround.</p>
 
1694
</li><li>
 
1695
<p>You might have a <tt class="literal">valid</tt> <tt class="literal">users</tt>
 
1696
problem, as tested with <em class="emphasis">smbclient</em> (see the
 
1697
earlier section, <a href="ch12.html#samba2-CHP-12-SECT-2.5.3">Section 12.2.5.3</a>).</p>
 
1698
</li><li>
 
1699
<p>You might have the NetBEUI protocol bound to the Microsoft client.
 
1700
This often produces long timeouts and erratic failures and is known
 
1701
to have caused failures to accept passwords in the past. Unless you
 
1702
absolutely need the NetBEUI protocol, remove it.</p>
 
1703
</li></ul>
 
1704
<a name="samba2-CHP-12-NOTE-159"/><blockquote class="note"><h4 class="objtitle">TIP</h4>
 
1705
<p>The term &quot;bind&quot; is used here to
 
1706
mean connecting one piece of software to another. When configured
 
1707
correctly, the Microsoft SMB client is &quot;bound
 
1708
to&quot; TCP/IP in the bindings section of the TCP/IP
 
1709
properties panel under the Windows 95/98/Me Network icon in the
 
1710
Control Panel. TCP/IP in turn is bound to an Ethernet card. This is
 
1711
not the same sense of the word as binding an SMB daemon to a TCP/IP
 
1712
port.</p>
 
1713
</blockquote>
 
1714
 
 
1715
 
 
1716
</div>
 
1717
 
 
1718
 
 
1719
 
 
1720
<div class="sect3"><a name="samba2-CHP-12-SECT-2.5.5"/>
 
1721
 
 
1722
<h3 class="head3">Testing connections with Windows Explorer</h3>
 
1723
 
 
1724
<p><a name="INDEX-65"/><a name="INDEX-66"/>Start Windows Explorer
 
1725
(not Internet Explorer), select Map Network Drive from the Tools
 
1726
menu, and specify the UNC for one of your shares on the Samba server
 
1727
to see if you can make Explorer connect to it. If so,
 
1728
you've succeeded and can skip to the next section,
 
1729
<a href="ch12.html#samba2-CHP-12-SECT-2.6">Section 12.2.6</a>.</p>
 
1730
 
 
1731
<p>Windows Explorer is a rather poor diagnostic tool: it tells you that
 
1732
something's wrong, but rarely what it is. If you get
 
1733
a failure, you'll need to track it down with the
 
1734
Windows <em class="emphasis">net use</em> command, which has far superior
 
1735
error reporting:</p>
 
1736
 
 
1737
<ul><li>
 
1738
<p>If you get <tt class="literal">The</tt> <tt class="literal">password</tt>
 
1739
<tt class="literal">for</tt> <tt class="literal">this</tt>
 
1740
<tt class="literal">connection</tt> <tt class="literal">that</tt>
 
1741
<tt class="literal">is</tt> <tt class="literal">in</tt> <tt class="literal">your</tt>
 
1742
<tt class="literal">password</tt> <tt class="literal">file</tt>
 
1743
<tt class="literal">is</tt> <tt class="literal">no</tt> <tt class="literal">longer</tt>
 
1744
<tt class="literal">correct</tt>, you might have any of the following:</p>
 
1745
<ul><li>
 
1746
<p>Your locally cached copy on the client doesn't match
 
1747
the one on the server.</p>
 
1748
</li><li>
 
1749
<p>You didn't provide a username and password when
 
1750
logging on to the client. Some versions of Explorer will continue to
 
1751
send a null username and password, even if you provide a password.</p>
 
1752
</li><li>
 
1753
<p>You have misspelled the password.</p>
 
1754
</li><li>
 
1755
<p>You have an <tt class="literal">invalid</tt> <tt class="literal">users</tt> or
 
1756
<tt class="literal">valid</tt> <tt class="literal">users</tt> list denying
 
1757
permission.</p>
 
1758
</li><li>
 
1759
<p>Your client is defaulting to encrypted passwords, but Samba is
 
1760
configured with the <tt class="literal">encrypt</tt>
 
1761
<tt class="literal">passwords</tt> <tt class="literal">=</tt>
 
1762
<tt class="literal">no</tt> configuration file parameter.</p>
 
1763
</li><li>
 
1764
<p>You have a mixed-case password, which the client is supplying in all
 
1765
one case.</p>
 
1766
</li>
 
1767
</ul>
 
1768
</li>
 
1769
<li>
 
1770
<p>If you get <tt class="literal">The</tt> <tt class="literal">network</tt>
 
1771
<tt class="literal">name</tt> <tt class="literal">is</tt>
 
1772
<tt class="literal">either</tt> <tt class="literal">incorrect</tt>,
 
1773
<tt class="literal">or</tt> <tt class="literal">a</tt> <tt class="literal">network</tt>
 
1774
<tt class="literal">to</tt> <tt class="literal">which</tt> <tt class="literal">you</tt>
 
1775
<tt class="literal">do</tt> <tt class="literal">not</tt> <tt class="literal">have</tt>
 
1776
<tt class="literal">full</tt> <tt class="literal">access</tt>, or
 
1777
<tt class="literal">Cannot</tt> <tt class="literal">locate</tt>
 
1778
<tt class="literal">specified</tt> <tt class="literal">computer</tt>, you might
 
1779
have any of the following:</p>
 
1780
<ul><li>
 
1781
<p>Misspelled name</p>
 
1782
</li><li>
 
1783
<p>Malfunctioning service</p>
 
1784
</li><li>
 
1785
<p>Failed share</p>
 
1786
</li><li>
 
1787
<p>Networking problem</p>
 
1788
</li><li>
 
1789
<p>Bad <tt class="literal">path</tt> parameter in
 
1790
<em class="filename">smb.conf</em></p>
 
1791
</li><li>
 
1792
<p><tt class="literal">hosts</tt> <tt class="literal">deny</tt> line that excludes
 
1793
you</p>
 
1794
</li>
 
1795
</ul>
 
1796
</li>
 
1797
<li>
 
1798
<p>If you get <tt class="literal">You</tt> <tt class="literal">must</tt>
 
1799
<tt class="literal">supply</tt> <tt class="literal">a</tt>
 
1800
<tt class="literal">password</tt> <tt class="literal">to</tt>
 
1801
<tt class="literal">make</tt> <tt class="literal">this</tt>
 
1802
<tt class="literal">connection</tt>, the password on the client is out of
 
1803
synchronization with the server, or this is the first time
 
1804
you've tried from this client system and the client
 
1805
hasn't cached it locally yet.</p>
 
1806
</li><li>
 
1807
<p>If you get <tt class="literal">Cannot</tt> <tt class="literal">locate</tt>
 
1808
<tt class="literal">specified</tt> <tt class="literal">share</tt>
 
1809
<tt class="literal">name</tt>, you have a wrong share name or a syntax
 
1810
error in specifying it, a share name longer than eight characters, or
 
1811
one containing spaces or in mixed case.</p>
 
1812
</li></ul>
 
1813
<p>Once you can reliably connect to the share, try again, this time
 
1814
using your home directory. If you have to change something to get
 
1815
home directories working, retest with the first share, and vice
 
1816
versa, as we showed in the earlier section, &quot;Testing
 
1817
connections with net use.&quot; As always, if Explorer
 
1818
fails, drop back to that section and debug the connection there.
 
1819
<a name="INDEX-67"/><a name="INDEX-68"/></p>
 
1820
 
 
1821
 
 
1822
</div>
 
1823
 
 
1824
 
 
1825
</div>
 
1826
 
 
1827
 
 
1828
<div class="sect2"><a name="samba2-CHP-12-SECT-2.6"/>
 
1829
 
 
1830
<h3 class="head2">Troubleshooting Browsing</h3>
 
1831
 
 
1832
<p><a name="INDEX-69"/><a name="INDEX-70"/>Finally, we
 
1833
come to browsing. We've left this for last, not
 
1834
because it is the most difficult, but because it's
 
1835
both optional and partially dependent on a protocol that
 
1836
doesn't guarantee delivery of a packet. Browsing is
 
1837
hard to diagnose if you don't already know that all
 
1838
the other services are running.</p>
 
1839
 
 
1840
<p>Browsing is purely optional: it's just a way to find
 
1841
the servers on your network and the shares that they provide. Unix
 
1842
has nothing of the sort and happily does without. Browsing also
 
1843
assumes all your systems are on a local area network (LAN) where
 
1844
broadcasts are allowable.</p>
 
1845
 
 
1846
<p>First, the browsing mechanism identifies a system using the
 
1847
unreliable UDP protocol; it then makes a normal (reliable) TCP/IP
 
1848
connection to list the shares the system provides.</p>
 
1849
 
 
1850
 
 
1851
<div class="sect3"><a name="samba2-CHP-12-SECT-2.6.1"/>
 
1852
 
 
1853
<h3 class="head3">Testing browsing with smbclient</h3>
 
1854
 
 
1855
<p><a name="INDEX-71"/><a name="INDEX-72"/>We'll start with
 
1856
testing the reliable connection first. From the server, try listing
 
1857
its own shares using <em class="emphasis">smbclient</em> with a
 
1858
<tt class="literal">-L</tt> option and your server's name.
 
1859
You should get something resembling the following:</p>
 
1860
 
 
1861
<blockquote><pre class="code">$ <tt class="userinput"><b>smbclient -L server</b></tt> 
 
1862
Added interface ip=192.168.236.86 bcast=192.168.236.255 nmask=255.255.255.0 Server 
 
1863
time is Tue Apr 28 09:57:28 2002 Timezone is UTC-4.0 
 
1864
Password: 
 
1865
Domain=[EXAMPLE] OS=[Unix] Server=[Samba 2.2.5]
 
1866
 
 
1867
   Sharename      Type      Comment    
 
1868
   ---------      ----      -------    
 
1869
    cdrom          Disk      CD-ROM    
 
1870
    cl             Printer   Color Printer 1    
 
1871
    davecb         Disk      Home Directories
 
1872
 
 
1873
   Server         Comment    
 
1874
   ---------      -------    
 
1875
   SERVER         Samba 2.2.5
 
1876
 
 
1877
   Workgroup      Master    
 
1878
   ---------      -------    
 
1879
   EXAMPLE        SERVER</pre></blockquote>
 
1880
 
 
1881
<ul><li>
 
1882
<p>If you didn't get a Sharename list, the server is
 
1883
not allowing you to browse any shares. This should not be the case if
 
1884
you've tested any of the shares with Windows
 
1885
Explorer or the <em class="emphasis">net use</em> command. If you
 
1886
haven't done the <tt class="literal">smbclient</tt>
 
1887
<tt class="literal">-L</tt> <tt class="literal">localhost</tt>
 
1888
<tt class="literal">-U%</tt> test yet (see the earlier section, <a href="ch12.html#samba2-CHP-12-SECT-2.5.2">Section 12.2.5.2</a>), do it now. An erroneous
 
1889
guest account can prevent the shares from being seen. Also, check the
 
1890
<em class="filename">smb.conf</em> file to make sure you do not have the
 
1891
option <tt class="literal">browsable</tt> <tt class="literal">=</tt>
 
1892
<tt class="literal">no</tt> anywhere in it: we suggest using a minimal
 
1893
<em class="filename">smb.conf</em> file (see the earlier section, <a href="ch12.html#samba2-CHP-12-SECT-2.5.1">Section 12.2.5.1</a>). You need to have
 
1894
<tt class="literal">browsable</tt> enabled (which is the default) to see
 
1895
the share.</p>
 
1896
</li><li>
 
1897
<p>If you didn't get a browse list, the server is not
 
1898
providing information about the systems on the network. At least one
 
1899
system on the net must support browse lists. Make sure you have
 
1900
<tt class="literal">local</tt> <tt class="literal">master</tt>
 
1901
<tt class="literal">=</tt> <tt class="literal">yes</tt> in the
 
1902
<em class="filename">smb.conf</em> file if you want Samba to be the local
 
1903
master browser.</p>
 
1904
</li><li>
 
1905
<p>If you got a browse list but didn't get
 
1906
<em class="emphasis">/tmp</em>, you probably have a
 
1907
<em class="filename">smb.conf</em> problem. Go back to <a href="ch12.html#samba2-CHP-12-SECT-2.4.5">Section 12.2.4.5</a>.</p>
 
1908
</li><li>
 
1909
<p>If you didn't get a workgroup list with your
 
1910
workgroup name in it, it is possible that your workgroup is set
 
1911
incorrectly in the <em class="filename">smb.conf</em> file.</p>
 
1912
</li><li>
 
1913
<p>If you didn't get a workgroup list at all, ensure
 
1914
that <tt class="literal">workgroup</tt> <tt class="literal">=</tt>
 
1915
<tt class="literal">EXAMPLE</tt> is present in the
 
1916
<em class="filename">smb.conf</em> file.</p>
 
1917
</li><li>
 
1918
<p>If you get nothing, try once more with the options
 
1919
<tt class="literal">-I</tt> <em class="emphasis">ip_address</em>
 
1920
<tt class="literal">-n</tt> <em class="emphasis">netbios_name</em>
 
1921
<tt class="literal">-W</tt> <em class="emphasis">workgroup</em>
 
1922
<tt class="literal">-d3</tt> with the NetBIOS and workgroup name in
 
1923
uppercase. (The <tt class="literal">-d3</tt> option sets the log /debugging
 
1924
level to 3.) Then check the Samba logs for clues.</p>
 
1925
</li></ul>
 
1926
<p>If you're still getting nothing, you
 
1927
shouldn't have gotten this far; double back to at
 
1928
least <a href="ch12.html#samba2-CHP-12-SECT-2.3.1">Section 12.2.3.1</a>, or perhaps
 
1929
<a href="ch12.html#samba2-CHP-12-SECT-2.2.4">Section 12.2.2.4</a>. On the other hand:</p>
 
1930
 
 
1931
<ul><li>
 
1932
<p>If you get <tt class="literal">SMBtconX</tt> <tt class="literal">failed</tt>.
 
1933
<tt class="literal">ERRSRV--ERRaccess</tt>, you aren't
 
1934
permitted access to the server. This normally means you have a
 
1935
<tt class="literal">hosts</tt> <tt class="literal">allow</tt> option that
 
1936
doesn't include the server or a
 
1937
<tt class="literal">hosts</tt> <tt class="literal">deny</tt> option that does.</p>
 
1938
</li><li>
 
1939
<p>If you get <tt class="literal">Bad</tt> <tt class="literal">password</tt>, you
 
1940
presumably have one of the following:</p>
 
1941
<ul><li>
 
1942
<p>An incorrect <tt class="literal">hosts</tt> <tt class="literal">allow</tt> or
 
1943
<tt class="literal">hosts</tt> <tt class="literal">deny</tt> line</p>
 
1944
</li><li>
 
1945
<p>An incorrect <tt class="literal">invalid</tt> <tt class="literal">users</tt> or
 
1946
<tt class="literal">valid</tt> <tt class="literal">users</tt> line</p>
 
1947
</li><li>
 
1948
<p>A lowercase password and OS/2 or Windows for Workgroups clients</p>
 
1949
</li><li>
 
1950
<p>A missing or invalid guest account</p>
 
1951
</li></ul>
 
1952
<p>Check what your guest account is (see the earlier section, <a href="ch12.html#samba2-CHP-12-SECT-2.5.2">Section 12.2.5.2</a>), change or comment out any
 
1953
<tt class="literal">hosts</tt> <tt class="literal">allow</tt>,
 
1954
<tt class="literal">hosts</tt> <tt class="literal">deny</tt>,
 
1955
<tt class="literal">valid</tt> <tt class="literal">users</tt>, or
 
1956
<tt class="literal">invalid</tt> <tt class="literal">users</tt> lines, and verify
 
1957
your <em class="filename">smb.conf</em> file with
 
1958
<tt class="literal">testparm</tt> <tt class="literal">smb.conf</tt>
 
1959
<em class="replaceable">your_hostname your_ip_address</em> (see the
 
1960
earlier section, <a href="ch12.html#samba2-CHP-12-SECT-2.4.5">Section 12.2.4.5</a>).</p>
 
1961
</li><li>
 
1962
<p>If you get <tt class="literal">Connection</tt> <tt class="literal">refused</tt>,
 
1963
the <em class="emphasis">smbd</em> server is not running or has crashed.
 
1964
Check that it's up, running, and listening to the
 
1965
network with <em class="emphasis">netstat</em>. See the earlier section,
 
1966
<a href="ch12.html#samba2-CHP-12-SECT-2.4">Section 12.2.4</a>.</p>
 
1967
</li><li>
 
1968
<p>If you get <tt class="literal">Get_Hostbyname</tt>:
 
1969
<tt class="literal">Unknown</tt> <tt class="literal">host</tt>
 
1970
<tt class="literal">name</tt>, you've made a spelling
 
1971
error, there is a mismatch between the Unix and NetBIOS hostname, or
 
1972
there is a name service problem. Start name service debugging as
 
1973
discussed in the earlier section, <a href="ch12.html#samba2-CHP-12-SECT-2.5.4">Section 12.2.5.4</a>. If this works, suspect a
 
1974
name mismatch, and go to the later section, <a href="ch12.html#samba2-CHP-12-SECT-2.9">Section 12.2.9</a>.</p>
 
1975
</li><li>
 
1976
<p>If you get <tt class="literal">Session</tt> <tt class="literal">request</tt>
 
1977
<tt class="literal">failed</tt>, the server refused the connection. This
 
1978
usually indicates an internal error, such as insufficient memory to
 
1979
fork a process.</p>
 
1980
</li><li>
 
1981
<p>If you get <tt class="literal">Your</tt> <tt class="literal">server</tt>
 
1982
<tt class="literal">software</tt> <tt class="literal">is</tt>
 
1983
<tt class="literal">being</tt> <tt class="literal">unfriendly</tt>, the initial
 
1984
session request packet received a garbage response from the server.
 
1985
The server might have crashed or started improperly. Go back to <a href="ch12.html#samba2-CHP-12-SECT-2.5.2">Section 12.2.5.2</a>, where the
 
1986
problem is first analyzed.</p>
 
1987
</li><li>
 
1988
<p>If you suspect the server is not running, go back to
 
1989
<a href="ch12.html#samba2-CHP-12-SECT-2.4.2">Section 12.2.4.2</a> to see why the server
 
1990
daemon isn't responding.</p>
 
1991
</li></ul>
 
1992
 
 
1993
</div>
 
1994
 
 
1995
 
 
1996
 
 
1997
<div class="sect3"><a name="samba2-CHP-12-SECT-2.6.2"/>
 
1998
 
 
1999
<h3 class="head3">Testing the server with nmblookup</h3>
 
2000
 
 
2001
<p><a name="INDEX-73"/><a name="INDEX-74"/>This will test the
 
2002
&quot;advertising&quot; system used for
 
2003
Windows name services and browsing. Advertising works by broadcasting
 
2004
one's presence or willingness to provide services.
 
2005
It is the part of browsing that uses an unreliable protocol (UDP) and
 
2006
works only on broadcast networks such as Ethernets. The
 
2007
<em class="emphasis">nmblookup</em> program broadcasts name queries for
 
2008
the hostname you provide and returns its IP address and the name of
 
2009
the system, much as <em class="emphasis">nslookup</em> does with DNS.
 
2010
Here, the <em class="emphasis">-d</em> (debug or log-level) and
 
2011
<em class="emphasis">-B</em> (broadcast address) options direct queries to
 
2012
specific systems.</p>
 
2013
 
 
2014
<p>First, we check the server from itself. Run
 
2015
<em class="emphasis">nmblookup</em> with a <em class="emphasis">-B</em> option
 
2016
of your server's name (to tell it to send the query
 
2017
to the Samba server) and a parameter of <tt class="literal">_ _SAMBA_
 
2018
_</tt> as the symbolic name to look up. You should get:</p>
 
2019
 
 
2020
<blockquote><pre class="code">$ <tt class="userinput"><b>nmblookup -B server _ _SAMBA_ _</b></tt>
 
2021
Added interface ip=192.168.236.86 bcast=192.168.236.255 nmask=255.255.255.0 
 
2022
Sending queries to 192.168.236.86 192.168.236.86 _ _SAMBA_ _</pre></blockquote>
 
2023
 
 
2024
<p>You should get the IP address of the server, followed by the name
 
2025
<tt class="literal">_ _SAMBA_ _</tt> , which means that the server has
 
2026
successfully advertised that it has a service called <tt class="literal">_
 
2027
_SAMBA_ _</tt> , and therefore at least part of NetBIOS name
 
2028
service works.</p>
 
2029
 
 
2030
<ul><li>
 
2031
<p>If you get <tt class="literal">Name_query</tt> <tt class="literal">failed</tt>
 
2032
<tt class="literal">to</tt> <tt class="literal">find</tt> <tt class="literal">name</tt>
 
2033
<tt class="literal">_ _SAMBA_ _</tt>, you might have specified the server
 
2034
name to the <em class="emphasis">-B</em> option, or
 
2035
<em class="emphasis">nmbd</em> is not running. The <em class="emphasis">-B</em>
 
2036
option actually takes a broadcast address: we're
 
2037
using a computer name to get a unicast address and to ask the server
 
2038
if it has claimed <tt class="literal">_ _SAMBA_ _</tt>. Try again with
 
2039
<tt class="literal">nmblookup</tt> <tt class="literal">-B</tt>
 
2040
<em class="replaceable">ip_address</em>, and if that fails too,
 
2041
<em class="emphasis">nmbd</em> isn't claiming the name.
 
2042
Go back briefly to the earlier section, &quot;Testing
 
2043
daemons with testparm,&quot; to see if
 
2044
<em class="emphasis">nmbd</em> is running. If so, it might not be claiming
 
2045
names; this means that Samba is not providing the browsing
 
2046
service&mdash;a configuration problem. If that is the case, make sure
 
2047
that <em class="filename">smb.conf</em> doesn't contain
 
2048
the option <tt class="literal">browsing</tt> <tt class="literal">=</tt>
 
2049
<tt class="literal">no</tt>.</p>
 
2050
</li></ul>
 
2051
 
 
2052
</div>
 
2053
 
 
2054
 
 
2055
 
 
2056
<div class="sect3"><a name="samba2-CHP-12-SECT-2.6.3"/>
 
2057
 
 
2058
<h3 class="head3">Testing the client with nmblookup</h3>
 
2059
 
 
2060
<p><a name="INDEX-75"/><a name="INDEX-76"/>Next, check the IP address of the
 
2061
client from the server with <em class="emphasis">nmblookup</em> using the
 
2062
<tt class="literal">-B</tt> option for the client's name
 
2063
and a parameter of '<tt class="literal">*</tt>' meaning
 
2064
&quot;anything,&quot; as shown here:</p>
 
2065
 
 
2066
<blockquote><pre class="code">$ <b class="emphasis-bold">nmblookup -B client '*</b>' 
 
2067
Sending queries to 192.168.236.10 192.168.236.10 *
 
2068
Got a positive name query response from 192.168.236.10 (192.168.236.10)</pre></blockquote>
 
2069
 
 
2070
<p>You might get the following error:</p>
 
2071
 
 
2072
<ul><li>
 
2073
<p>If you receive <tt class="literal">Name-query</tt>
 
2074
<tt class="literal">failed</tt> <tt class="literal">to</tt>
 
2075
<tt class="literal">find</tt> <tt class="literal">name</tt> <tt class="literal">*</tt>,
 
2076
you have made a spelling mistake, or the client software on the PC
 
2077
isn't installed, started, or bound to TCP/IP. Double
 
2078
back to <a href="ch03.html">Chapter 3</a> and ensure that you have a
 
2079
client installed that is listening to the network.</p>
 
2080
</li></ul>
 
2081
<p>Repeat the command with the following options if you had any failures:</p>
 
2082
 
 
2083
<ul><li>
 
2084
<p>If <tt class="literal">nmblookup</tt> <tt class="literal">-B</tt>
 
2085
<em class="replaceable">client_IP_address</em> succeeds but
 
2086
<tt class="literal">nmblookup</tt> <tt class="literal">-B</tt>
 
2087
<em class="replaceable">client_name</em> fails, there is a name service
 
2088
problem with the client's name; go to <a href="ch12.html#samba2-CHP-12-SECT-2.7">Section 12.2.7</a>, later in this chapter.</p>
 
2089
</li><li>
 
2090
<p>If <tt class="literal">nmblookup</tt> <tt class="literal">-B</tt>
 
2091
<tt class="literal">127.0.0.1</tt> '<tt class="literal">*</tt>' succeeds, but
 
2092
<tt class="literal">nmblookup</tt> <tt class="literal">-B</tt>
 
2093
<em class="replaceable">client_IP_address</em> fails, there is a
 
2094
hardware problem, and <em class="emphasis">ping</em> should have failed.
 
2095
See your network manager.</p>
 
2096
</li></ul>
 
2097
 
 
2098
</div>
 
2099
 
 
2100
 
 
2101
 
 
2102
<div class="sect3"><a name="samba2-CHP-12-SECT-2.6.4"/>
 
2103
 
 
2104
<h3 class="head3">Testing the network with nmblookup</h3>
 
2105
 
 
2106
<p><a name="INDEX-77"/><a name="INDEX-78"/>Run the command
 
2107
<em class="emphasis">nmblookup</em> again with a <em class="emphasis">-d2</em>
 
2108
option (for a debug level of 2) and a parameter of
 
2109
'<tt class="literal">*</tt>'. This time we are testing the ability of
 
2110
programs (such as <em class="emphasis">nmbd</em> ) to use broadcast.
 
2111
It's essentially a connectivity test, done via a
 
2112
broadcast to the default broadcast address.</p>
 
2113
 
 
2114
<p>A number of NetBIOS over TCP/IP hosts on the network should respond
 
2115
with <tt class="literal">got</tt> <tt class="literal">a</tt>
 
2116
<tt class="literal">positive</tt> <tt class="literal">name</tt>
 
2117
<tt class="literal">query</tt> <tt class="literal">response</tt> messages. Samba
 
2118
might not catch all the responses in the short time it listens, so
 
2119
you won't always see all the SMB clients on the
 
2120
network. However, you should see most of them:</p>
 
2121
 
 
2122
<blockquote><pre class="code">$ <b class="emphasis-bold">nmblookup -d 2 '*</b>' 
 
2123
Added interface ip=192.168.236.86 bcast=192.168.236.255 nmask=255.255.255.0 Sending 
 
2124
queries to 192.168.236.255 
 
2125
Got a positive name query response from 192.168.236.191 (192.168.236.191) 
 
2126
Got a positive name query response from 192.168.236.228 (192.168.236.228) 
 
2127
Got a positive name query response from 192.168.236.75 (192.168.236.75) 
 
2128
Got a positive name query response from 192.168.236.79 (192.168.236.79) 
 
2129
Got a positive name query response from 192.168.236.206 (192.168.236.206) 
 
2130
Got a positive name query response from 192.168.236.207 (192.168.236.207) 
 
2131
Got a positive name query response from 192.168.236.217 (192.168.236.217) 
 
2132
Got a positive name query response from 192.168.236.72 (192.168.236.72) 192.168.236.86 *</pre></blockquote>
 
2133
 
 
2134
<p>However:</p>
 
2135
 
 
2136
<ul><li>
 
2137
<p>If this doesn't give at least the client address you
 
2138
previously tested, the default broadcast address is wrong. Try
 
2139
<tt class="literal">nmblookup</tt> <tt class="literal">-B</tt>
 
2140
<tt class="literal">255.255.255.255</tt> <tt class="literal">-d</tt>
 
2141
<tt class="literal">2</tt> '<tt class="literal">*</tt>', which is a last-ditch
 
2142
variant (using a broadcast address of all 1s). If this draws
 
2143
responses, the broadcast address you've been using
 
2144
before is wrong. Troubleshooting these is discussed in <a href="ch12.html#samba2-CHP-12-SECT-2.8.2">Section 12.2.8.2</a>, later in this
 
2145
chapter.</p>
 
2146
</li><li>
 
2147
<p>If the address 255.255.255.255 fails too, check your notes to see if
 
2148
your PC and server are on different subnets, as discovered in the
 
2149
earlier section, <a href="ch12.html#samba2-CHP-12-SECT-2.2.4">Section 12.2.2.4</a>. You
 
2150
should try to diagnose this step with a server and client on the same
 
2151
subnet, but if you can't, you can try specifying the
 
2152
remote subnet's broadcast address with
 
2153
<em class="emphasis">-B</em>. Finding that address is discussed in <a href="ch12.html#samba2-CHP-12-SECT-2.8.2">Section 12.2.8.2</a>, later in this
 
2154
chapter. The <em class="emphasis">-B</em> option will work if your router
 
2155
supports directed broadcasts; if it doesn't, you
 
2156
might be forced to test with a client on the same network.</p>
 
2157
</li></ul>
 
2158
<p>As usual, you can check the Samba log files for additional clues.</p>
 
2159
 
 
2160
 
 
2161
</div>
 
2162
 
 
2163
 
 
2164
 
 
2165
<div class="sect3"><a name="samba2-CHP-12-SECT-2.6.5"/>
 
2166
 
 
2167
<h3 class="head3">Testing client browsing with net view</h3>
 
2168
 
 
2169
<p><a name="INDEX-79"/><a name="INDEX-80"/>On the client, run the
 
2170
command <em class="replaceable">net view \\server</em> in an MS-DOS
 
2171
(command prompt) window to see if you can connect to the client and
 
2172
ask what shares it provides. You should get back a list of available
 
2173
shares on the server.</p>
 
2174
 
 
2175
<p>If this works, continue with the later section <a href="ch12.html#samba2-CHP-12-SECT-3.1">Section 12.3.1</a>. Otherwise:</p>
 
2176
 
 
2177
<ul><li>
 
2178
<p>If you get <tt class="literal">Network</tt> <tt class="literal">name</tt>
 
2179
<tt class="literal">not</tt> <tt class="literal">found</tt> for the name you just
 
2180
tested in the earlier section, <a href="ch12.html#samba2-CHP-12-SECT-2.6.3">Section 12.2.6.3</a>, there is a problem with the
 
2181
client software itself. Double-check this by running
 
2182
<em class="emphasis">nmblookup</em> on the client; if it works and
 
2183
<em class="emphasis">net view</em> doesn't, the client is
 
2184
at fault.</p>
 
2185
</li><li>
 
2186
<p>If <em class="emphasis">nmblookup</em> fails, there is a NetBIOS name
 
2187
service problem, as discussed in the later section, <a href="ch12.html#samba2-CHP-12-SECT-2.9">Section 12.2.9</a>.</p>
 
2188
</li><li>
 
2189
<p>If you get <tt class="literal">You</tt> <tt class="literal">do</tt>
 
2190
<tt class="literal">not</tt> <tt class="literal">have</tt> <tt class="literal">the</tt>
 
2191
<tt class="literal">necessary</tt> <tt class="literal">access</tt>
 
2192
<tt class="literal">rights</tt>, or <tt class="literal">This</tt>
 
2193
<tt class="literal">server</tt> <tt class="literal">is</tt>
 
2194
<tt class="literal">not</tt> <tt class="literal">configured</tt>
 
2195
<tt class="literal">to</tt> <tt class="literal">list</tt>
 
2196
<tt class="literal">shared</tt> <tt class="literal">resources</tt>, either your
 
2197
guest account is misconfigured (see the earlier section, <a href="ch12.html#samba2-CHP-12-SECT-2.5.2">Section 12.2.5.2</a>) or you have a
 
2198
<tt class="literal">hosts</tt> <tt class="literal">allow</tt> or
 
2199
<tt class="literal">hosts</tt> <tt class="literal">deny</tt> line that prohibits
 
2200
connections from your system. These problems should have been
 
2201
detected by the <em class="emphasis">smbclient</em> tests starting in the
 
2202
earlier section, <a href="ch12.html#samba2-CHP-12-SECT-2.6.1">Section 12.2.6.1</a>.</p>
 
2203
</li><li>
 
2204
<p>If you get <tt class="literal">The</tt> <tt class="literal">specified</tt>
 
2205
<tt class="literal">computer</tt> <tt class="literal">is</tt>
 
2206
<tt class="literal">not</tt> <tt class="literal">receiving</tt>
 
2207
<tt class="literal">requests</tt>, you have misspelled the name, the system
 
2208
is unreachable by broadcast (tested in the earlier section, <a href="ch12.html#samba2-CHP-12-SECT-2.6.4">Section 12.2.6.4</a>), or it's
 
2209
not running <em class="emphasis">nmbd</em>.</p>
 
2210
</li><li>
 
2211
<p>If you get <tt class="literal">Bad</tt> <tt class="literal">password</tt>
 
2212
<tt class="literal">error</tt>, you're probably
 
2213
encountering the Microsoft-encrypted password problem, as discussed
 
2214
earlier in this chapter and in <a href="ch09.html">Chapter 9</a>, with its
 
2215
corrections.</p>
 
2216
</li></ul>
 
2217
 
 
2218
</div>
 
2219
 
 
2220
 
 
2221
 
 
2222
<div class="sect3"><a name="samba2-CHP-12-SECT-2.6.6"/>
 
2223
 
 
2224
<h3 class="head3">Browsing the server from the client</h3>
 
2225
 
 
2226
<p><a name="INDEX-81"/><a name="INDEX-82"/>From the Windows Network
 
2227
Neighborhood (or My Network Places in newer releases), try to browse
 
2228
the server. Your Samba server should appear in the browse list of
 
2229
your local workgroup. You should be able to double-click the name of
 
2230
the server to get a list of shares.</p>
 
2231
 
 
2232
<ul><li>
 
2233
<p>If you get an <tt class="literal">Invalid</tt> <tt class="literal">password</tt>
 
2234
error, it's most likely the encryption problem
 
2235
again.</p>
 
2236
</li><li>
 
2237
<p>If you receive an <tt class="literal">Unable</tt> <tt class="literal">to</tt>
 
2238
<tt class="literal">browse</tt> <tt class="literal">the</tt>
 
2239
<tt class="literal">network</tt> error, one of the following has occurred:</p>
 
2240
<ul><li>
 
2241
<p>You have looked too soon, before the broadcasts and updates have
 
2242
completed. Wait 30 seconds and try again.</p>
 
2243
</li><li>
 
2244
<p>There is a network problem you've not yet diagnosed.</p>
 
2245
</li><li>
 
2246
<p>There is no browse master. Add the configuration option
 
2247
<tt class="literal">local</tt> <tt class="literal">master</tt>
 
2248
<tt class="literal">=</tt> <tt class="literal">yes</tt> to your
 
2249
<em class="emphasis">smb.conf</em> file.</p>
 
2250
</li><li>
 
2251
<p>No shares are made browsable in the <em class="emphasis">smb.conf</em>
 
2252
file.</p>
 
2253
</li></ul>
 
2254
</li>
 
2255
<li>
 
2256
<p>If you receive the message <tt class="literal">\\server</tt>
 
2257
<tt class="literal">is</tt> <tt class="literal">not</tt>
 
2258
<tt class="literal">accessible</tt> then:</p>
 
2259
<ul><li>
 
2260
<p>You have the encrypted password problem.</p>
 
2261
</li><li>
 
2262
<p>The system really isn't accessible.</p>
 
2263
</li><li>
 
2264
<p>The system doesn't support browsing.</p>
 
2265
</li></ul>
 
2266
</li>
 
2267
</ul>
 
2268
 
 
2269
<p>If you've made it this far and the problem is not
 
2270
yet solved, either the problem is one we've not yet
 
2271
seen, or it is a problem related to a topic we have already covered,
 
2272
and further analysis is required. Name resolution is often related to
 
2273
difficulties with Samba, so we cover it in more detail in the next
 
2274
sections. If you know your problem is not related to name resolution,
 
2275
skip to the <a href="ch12.html#samba2-CHP-12-SECT-3">Section 12.3</a> at the end of the chapter. <a name="INDEX-83"/><a name="INDEX-84"/></p>
 
2276
 
 
2277
 
 
2278
</div>
 
2279
 
 
2280
 
 
2281
</div>
 
2282
 
 
2283
 
 
2284
<div class="sect2"><a name="samba2-CHP-12-SECT-2.7"/>
 
2285
 
 
2286
<h3 class="head2">Troubleshooting Name Services</h3>
 
2287
 
 
2288
<p><a name="INDEX-85"/><a name="INDEX-86"/>This
 
2289
section looks at simple troubleshooting of all the name services
 
2290
you'll encounter, but only for the common problems
 
2291
that affect Samba.</p>
 
2292
 
 
2293
<p>There are several good references for troubleshooting particular name
 
2294
services: Paul <a name="INDEX-87"/>Albitz and Cricket <a name="INDEX-88"/>Liu's <em class="emphasis">DNS and
 
2295
Bind</em> (O'Reilly) covers the DNS, Hal
 
2296
<a name="INDEX-89"/>Stern's <em class="emphasis">NFS and
 
2297
NIS</em> (O'Reilly) covers NIS
 
2298
(&quot;Yellow pages&quot;), while Windows
 
2299
Internet Name Service (WINS), <em class="filename">hosts/LMHOSTS</em>
 
2300
files, and NIS+ are best covered by their respective
 
2301
vendors' manuals.</p>
 
2302
 
 
2303
<p>The problems addressed in this section are as follows:</p>
 
2304
 
 
2305
<ul><li>
 
2306
<p>Name services are identified.</p>
 
2307
</li><li>
 
2308
<p>A hostname can't be looked up.</p>
 
2309
</li><li>
 
2310
<p>The long (FQDN) form of a hostname works but the short form
 
2311
doesn't.</p>
 
2312
</li><li>
 
2313
<p>The short form of the name works, but the long form
 
2314
doesn't.</p>
 
2315
</li><li>
 
2316
<p>A long delay occurs before the expected result.</p>
 
2317
</li></ul>
 
2318
 
 
2319
<div class="sect3"><a name="samba2-CHP-12-SECT-2.7.1"/>
 
2320
 
 
2321
<h3 class="head3">Identifying what's in use</h3>
 
2322
 
 
2323
<p><a name="INDEX-90"/>First, see if both the
 
2324
server and the client are using DNS, WINS, NIS, or
 
2325
<em class="filename">hosts</em> files to look up IP addresses when you
 
2326
give them a name. Each kind of system has a different preference:</p>
 
2327
 
 
2328
<ul><li>
 
2329
<p>Windows 95/98/Me tries WINS and the <em class="filename">LMHOSTS</em> file
 
2330
first, then broadcast, and finally DNS and <em class="filename">HOSTS</em>
 
2331
files.</p>
 
2332
</li><li>
 
2333
<p>Windows NT/2000/XP tries WINS, then broadcast, then the
 
2334
<em class="filename">LMHOSTS</em> file, and finally
 
2335
<em class="filename">HOSTS</em> and DNS.</p>
 
2336
</li><li>
 
2337
<p>Windows programs using the WINSOCK standard use the HOSTS file, DNS,
 
2338
WINS, and then broadcast. Don't assume that if a
 
2339
different program's name service works, the SMB
 
2340
client program's name service will!</p>
 
2341
</li><li>
 
2342
<p>Samba daemons use <em class="filename">lmhosts</em>, WINS, the Unix
 
2343
system's name resolution, and then broadcast.</p>
 
2344
</li><li>
 
2345
<p>Unix systems can be configured to use any combination of DNS,
 
2346
<em class="filename">HOSTS</em> files, NIS or NIS+, and winbind, generally
 
2347
in any order.</p>
 
2348
</li></ul>
 
2349
<p>We recommend that the client systems be configured to use WINS and
 
2350
DNS, the Samba daemons to use WINS and DNS, and the Unix server to
 
2351
use DNS, <em class="filename">hosts</em> files, and perhaps NIS+.
 
2352
You'll have to look at your notes and the actual
 
2353
systems to see which is in use.</p>
 
2354
 
 
2355
<p>On the clients, the name services are all set in the TCP/IP
 
2356
Properties panel of the Networking Control Panel, as discussed in
 
2357
<a href="ch03.html">Chapter 3</a>. You might need to check there to see
 
2358
what you've actually turned on. On the server, see
 
2359
if a <em class="filename">/etc/resolv.conf</em> file exists. If it does,
 
2360
you're using DNS. You might be using the others as
 
2361
well, though. You'll need to check for NIS and
 
2362
combinations of services.</p>
 
2363
 
 
2364
<p>Check for a <em class="filename">/etc/nsswitch.conf</em> file on Solaris
 
2365
and other System V Unix operating systems. If you have one, look for
 
2366
a line that begins with <tt class="literal">host</tt>: followed by one or
 
2367
more of <tt class="literal">files</tt>, <tt class="literal">bind</tt>,
 
2368
<tt class="literal">nis</tt>, or <tt class="literal">nis+</tt>. These are the
 
2369
name services to use, in order, with optional extra material in
 
2370
square brackets. The <tt class="literal">files</tt> keyword is for
 
2371
using <em class="emphasis">HOSTS</em> files, while <tt class="literal">bind</tt>
 
2372
(the Berkeley Internet Name Daemon) refers to using DNS.</p>
 
2373
 
 
2374
<p>If the client and server differ, the first thing to do is to get them
 
2375
in sync. Clients can use DNS, WINS, <em class="emphasis">HOSTS</em>, and
 
2376
<em class="emphasis">LMHOSTS</em> files, but not NIS or NIS+. Servers can
 
2377
use <em class="emphasis">HOSTS</em> and <em class="filename">LMHOSTS</em>
 
2378
files, DNS, NIS or NIS+, and winbind, but not WINS&mdash;even if your
 
2379
Samba server provides WINS services. If you can't
 
2380
get all the systems to use the same services, you'll
 
2381
have to check the server and the client carefully for the same data.</p>
 
2382
 
 
2383
<p>You can also make use of the <em class="emphasis">-R</em> (resolve order)
 
2384
option for <em class="emphasis">smbclient</em>. If you want to
 
2385
troubleshoot WINS, for example, you'd say:</p>
 
2386
 
 
2387
<blockquote><pre class="code">$ <tt class="userinput"><b>smbclient -L </b></tt><em class="replaceable">server</em> <tt class="userinput"><b>-R wins</b></tt></pre></blockquote>
 
2388
 
 
2389
<p>The possible settings are <tt class="literal">hosts</tt> (which means
 
2390
whatever the Unix system is using, not just<em class="filename">
 
2391
/etc/hosts</em> files), <tt class="literal">lmhosts</tt>,
 
2392
<tt class="literal">wins</tt>, and <tt class="literal">bcast</tt> (broadcast).</p>
 
2393
 
 
2394
<p>In the following sections, we use the term <em class="emphasis">long
 
2395
name</em> for a fully qualified domain name (FQDN), such as
 
2396
<tt class="literal">server.example.com</tt> , and the term <em class="emphasis">short
 
2397
name</em> for the host part of an FQDN, such as
 
2398
<tt class="literal">server</tt>.</p>
 
2399
 
 
2400
 
 
2401
</div>
 
2402
 
 
2403
 
 
2404
 
 
2405
<div class="sect3"><a name="samba2-CHP-12-SECT-2.7.2"/>
 
2406
 
 
2407
<h3 class="head3">Cannot look up hostnames</h3>
 
2408
 
 
2409
<p><a name="INDEX-91"/>Try the
 
2410
following:</p>
 
2411
 
 
2412
<dl>
 
2413
<dt><b>DNS</b></dt>
 
2414
<dd>
 
2415
<p>Run <tt class="literal">nslookup</tt> <em class="replaceable">name</em>. If
 
2416
this fails, look for a <em class="filename">resolv.conf</em> error, a
 
2417
downed DNS server, or a short/long name problem (see the next
 
2418
section). Try the following:</p>
 
2419
 
 
2420
 
 
2421
<ul><li>
 
2422
<p>Your <em class="filename">/etc/resolv.conf</em> file should contain one or
 
2423
more <tt class="literal">nameserver</tt> lines, each with an IP address.
 
2424
These are the addresses of your DNS servers.</p>
 
2425
</li><li>
 
2426
<p>Ping each server address you find. If this fails for one, suspect the
 
2427
system. If it fails for each, suspect your network.</p>
 
2428
</li><li>
 
2429
<p>Retry the lookup using the full domain name (e.g.,
 
2430
<tt class="literal">server.example.com</tt>) if you tried the short name
 
2431
first, or the short name if you tried the long name first. If results
 
2432
differ, skip to the next section.</p>
 
2433
</li></ul>
 
2434
</dd>
 
2435
 
 
2436
 
 
2437
 
 
2438
<dt><b>Broadcast/ WINS</b></dt>
 
2439
<dd>
 
2440
<p>Broadcast/ WINS does only short names such as
 
2441
<tt class="literal">server</tt>, and not long ones, such as
 
2442
<tt class="literal">server.example.com</tt>. Run
 
2443
<tt class="literal">nmblookup</tt> <tt class="literal">-S</tt>
 
2444
<em class="replaceable">server</em>. This reports everything broadcast
 
2445
has registered for the name. In our example, it looks like this:</p>
 
2446
 
 
2447
<blockquote><pre class="code">$ <tt class="userinput"><b>nmblookup -S server</b></tt>
 
2448
Looking up status of 192.168.236.86
 
2449
received 10 names
 
2450
        SERVER           &lt;00&gt; -         M &lt;ACTIVE&gt; 
 
2451
        SERVER           &lt;03&gt; -         M &lt;ACTIVE&gt; 
 
2452
        SERVER           &lt;1f&gt; -         M &lt;ACTIVE&gt; 
 
2453
        SERVER           &lt;20&gt; -         M &lt;ACTIVE&gt; 
 
2454
        ..__MSBROWSE__.  &lt;01&gt; - &lt;GROUP&gt; M &lt;ACTIVE&gt; 
 
2455
        MYGROUP          &lt;00&gt; - &lt;GROUP&gt; M &lt;ACTIVE&gt; 
 
2456
        MYGROUP          &lt;1b&gt; -         M &lt;ACTIVE&gt; 
 
2457
        MYGROUP          &lt;1c&gt; - &lt;GROUP&gt; M &lt;ACTIVE&gt; 
 
2458
        MYGROUP          &lt;1d&gt; -         M &lt;ACTIVE&gt; 
 
2459
        MYGROUP          &lt;1e&gt; - &lt;GROUP&gt; M &lt;ACTIVE&gt;</pre></blockquote>
 
2460
 
 
2461
<p>The required entry is <tt class="literal">SERVER</tt>
 
2462
<tt class="literal">&lt;00&gt;</tt>, which identifies
 
2463
<em class="replaceable">server</em> as being this
 
2464
system's NetBIOS name. You should also see your
 
2465
workgroup mentioned one or more times. If these lines are missing,
 
2466
Broadcast/WINS cannot look up names and will need attention.</p>
 
2467
 
 
2468
<a name="samba2-CHP-12-NOTE-160"/><blockquote class="note"><h4 class="objtitle">TIP</h4>
 
2469
<p>The numbers in angle brackets in the previous output identify NetBIOS
 
2470
names as being workgroups, workstations, and file users of the
 
2471
messenger service, master browsers, domain master browsers, domain
 
2472
controllers, and a plethora of others. We primarily use
 
2473
<tt class="literal">&lt;00&gt;</tt> to identify system and workgroup names
 
2474
and <tt class="literal">&lt;20&gt;</tt> to identify systems as servers. The
 
2475
complete list is available at <a href="http://support.microsoft.com/support/kb/articles/q163/4/09.asp">http://support.microsoft.com/support/kb/articles/q163/4/09.asp</a>.</p>
 
2476
</blockquote>
 
2477
</dd>
 
2478
 
 
2479
 
 
2480
 
 
2481
<dt><b>NIS</b></dt>
 
2482
<dd>
 
2483
<p>Try <tt class="literal">ypmatch</tt> <tt class="literal">name</tt>
 
2484
<tt class="literal">hosts</tt>. If this fails, NIS is down. Find out the
 
2485
NIS server's name by running
 
2486
<em class="emphasis">ypwhich</em>, and ping the system to see if
 
2487
it's accessible.</p>
 
2488
</dd>
 
2489
 
 
2490
 
 
2491
 
 
2492
<dt><b>NIS+</b></dt>
 
2493
<dd>
 
2494
<p>If you're running NIS+, try
 
2495
<tt class="literal">nismatch</tt> <tt class="literal">name</tt>
 
2496
<tt class="literal">hosts</tt>. If this fails, NIS is down. Find out the
 
2497
NIS+ server's name by running
 
2498
<em class="emphasis">niswhich</em>, and ping that system to see if
 
2499
it's accessible.</p>
 
2500
</dd>
 
2501
 
 
2502
 
 
2503
 
 
2504
<dt><b>hosts and HOSTS files</b></dt>
 
2505
<dd>
 
2506
<p>Inspect the <em class="filename">HOSTS</em> file on the client
 
2507
(<em class="filename">C:\Windows\ Hosts</em> on Windows 95/98/Me, and
 
2508
<em class="filename">C:\WINNT \system32\drivers\etc\hosts</em> on Windows
 
2509
NT/2000/XP). Each line should have an IP number and one or more
 
2510
names, the primary name first, then any optional aliases. An example
 
2511
follows:</p>
 
2512
 
 
2513
 
 
2514
<blockquote><pre class="code">127.0.0.1         localhost
 
2515
192.168.236.1     dns.svc.example.com 
 
2516
192.168.236.10    client.example.com client 
 
2517
192.168.236.11    backup.example.com loghost 
 
2518
192.168.236.86    server.example.com server 
 
2519
192.168.236.254   router.svc.example.com</pre></blockquote>
 
2520
 
 
2521
<p>On Unix, <tt class="literal">localhost</tt> should always be 127.0.0.1,
 
2522
although it might be just an alias for a hostname on the PC. On the
 
2523
client, check that there are no <tt class="literal">#XXX</tt> directives at
 
2524
the ends of the lines; these are LAN Manager/NetBIOS directives and
 
2525
should appear only in <em class="emphasis">LMHOSTS</em> files.</p>
 
2526
</dd>
 
2527
 
 
2528
 
 
2529
 
 
2530
<dt><b>LMHOSTS files</b></dt>
 
2531
<dd>
 
2532
<p>This file is a local source for LAN Manager (NetBIOS) names. It has a
 
2533
format similar to <em class="filename">hosts</em> files, but it does not
 
2534
support long-form domain names (e.g.,
 
2535
<tt class="literal">server.example.com</tt>) and can have a number of
 
2536
optional <tt class="literal">#XXX</tt> directives following the NetBIOS
 
2537
names. There is usually an <em class="emphasis">lmhosts.sam</em> (for
 
2538
sample) file located in <em class="filename">C:\Windows</em> on Windows
 
2539
95/98/Me, and in <em class="filename">C:\WINNT\system32\drivers\etc</em>
 
2540
on Windows NT/2000/XP, but it's not used unless it
 
2541
is renamed to <em class="emphasis">Lmhosts</em> in the same directory.</p>
 
2542
</dd>
 
2543
 
 
2544
</dl>
 
2545
 
 
2546
 
 
2547
</div>
 
2548
 
 
2549
 
 
2550
 
 
2551
<div class="sect3"><a name="samba2-CHP-12-SECT-2.7.3"/>
 
2552
 
 
2553
<h3 class="head3">Long and short hostnames</h3>
 
2554
 
 
2555
<p><a name="INDEX-92"/>Where the long (FQDN) form of a hostname
 
2556
works but the short name doesn't (for example,
 
2557
<tt class="literal">client.example.com</tt> works but
 
2558
<tt class="literal">client</tt> doesn't), consider the
 
2559
following:</p>
 
2560
 
 
2561
<dl>
 
2562
<dt><b>DNS </b></dt>
 
2563
<dd>
 
2564
<p>This usually indicates that there is no default domain in which to
 
2565
look up the short names. Look for a <tt class="literal">default</tt> line
 
2566
in <em class="filename">/etc/resolv.conf</em> on the Samba server with
 
2567
your domain in it, or look for a <tt class="literal">search</tt> line with
 
2568
one or more domains in it. One or the other might need to be present
 
2569
to make short names usable; which one depends on the vendor and
 
2570
version of the DNS resolver. Try adding <tt class="literal">domain</tt>
 
2571
<em class="replaceable">your_domain</em> to
 
2572
<em class="filename">resolv.conf</em>, and ask your network or DNS
 
2573
administrator what should be in the file.</p>
 
2574
</dd>
 
2575
 
 
2576
 
 
2577
 
 
2578
<dt><b>Broadcast/WINS </b></dt>
 
2579
<dd>
 
2580
<p>Broadcast/WINS doesn't support long names; it
 
2581
won't suffer from this problem.</p>
 
2582
</dd>
 
2583
 
 
2584
 
 
2585
 
 
2586
<dt><b>NIS </b></dt>
 
2587
<dd>
 
2588
<p>Try the command <tt class="literal">ypmatch</tt>
 
2589
<em class="replaceable">hostname</em> <tt class="literal">hosts</tt>. If you
 
2590
don't get a match, your tables
 
2591
don't include short names. Speak to your network
 
2592
manager; short names might be missing by accident or might be
 
2593
unsupported as a matter of policy. Some sites don't
 
2594
ever use (ambiguous) short names.</p>
 
2595
</dd>
 
2596
 
 
2597
 
 
2598
 
 
2599
<dt><b>NIS+</b></dt>
 
2600
<dd>
 
2601
<p>Try <tt class="literal">nismatch</tt> <em class="replaceable">hostname</em>
 
2602
<tt class="literal">hosts</tt>, and treat failure exactly as with NIS.</p>
 
2603
</dd>
 
2604
 
 
2605
 
 
2606
 
 
2607
<dt><b>hosts </b></dt>
 
2608
<dd>
 
2609
<p>If the short name is not in <em class="filename">/etc/hosts</em>, consider
 
2610
adding it as an alias. Avoid, if you can, short names as primary
 
2611
names (the first one on a line). Have them as aliases if your system
 
2612
permits.</p>
 
2613
</dd>
 
2614
 
 
2615
 
 
2616
 
 
2617
<dt><b>LMHOSTS </b></dt>
 
2618
<dd>
 
2619
<p>LAN Manager doesn't support long names, so it
 
2620
won't suffer from this problem.</p>
 
2621
</dd>
 
2622
 
 
2623
</dl>
 
2624
 
 
2625
<p>On the other hand, if the short form of the name works and the long
 
2626
form doesn't, consider the following:</p>
 
2627
 
 
2628
<dl>
 
2629
<dt><b>DNS </b></dt>
 
2630
<dd>
 
2631
<p>This is bizarre; see your network or DNS administrator, as this is
 
2632
probably a DNS setup error.</p>
 
2633
</dd>
 
2634
 
 
2635
 
 
2636
 
 
2637
<dt><b>Broadcast/WINS </b></dt>
 
2638
<dd>
 
2639
<p>This is normal; Broadcast/WINS can't use the long
 
2640
form. Optionally, consider DNS. (Be aware that Microsoft has stated
 
2641
that it will eventually switch entirely to DNS, even though DNS does
 
2642
not provide name types such as &lt;00&gt;.)</p>
 
2643
</dd>
 
2644
 
 
2645
 
 
2646
 
 
2647
<dt><b>NIS</b></dt>
 
2648
<dd>
 
2649
<p>If you can use <em class="emphasis">ypmatch</em> to look up the short form
 
2650
but not the long, consider adding the long form to the table as at
 
2651
least an alias.</p>
 
2652
</dd>
 
2653
 
 
2654
 
 
2655
 
 
2656
<dt><b>NIS+ </b></dt>
 
2657
<dd>
 
2658
<p>Same as NIS, except you use <em class="emphasis">nismatch</em> instead of
 
2659
<em class="emphasis">ypmatch</em> to look up names.</p>
 
2660
</dd>
 
2661
 
 
2662
 
 
2663
 
 
2664
<dt><b>hosts and HOSTS</b></dt>
 
2665
<dd>
 
2666
<p>Add the long name as at least an alias, and preferably as the primary
 
2667
form. Also consider using DNS if it's practical.</p>
 
2668
</dd>
 
2669
 
 
2670
 
 
2671
 
 
2672
<dt><b>LMHOSTS </b></dt>
 
2673
<dd>
 
2674
<p>This is normal. LAN Manager can't use the long form;
 
2675
consider switching to DNS or <em class="filename">hosts</em>.</p>
 
2676
</dd>
 
2677
 
 
2678
</dl>
 
2679
 
 
2680
 
 
2681
</div>
 
2682
 
 
2683
 
 
2684
 
 
2685
<div class="sect3"><a name="samba2-CHP-12-SECT-2.7.4"/>
 
2686
 
 
2687
<h3 class="head3">Unusual delays</h3>
 
2688
 
 
2689
<p><a name="INDEX-93"/>When there is a long delay before the
 
2690
expected result:</p>
 
2691
 
 
2692
<dl>
 
2693
<dt><b>DNS </b></dt>
 
2694
<dd>
 
2695
<p>Test the same name with the <em class="emphasis">nslookup</em> command on
 
2696
the system that is slow (client or server). If
 
2697
<em class="emphasis">nslookup</em> is also slow, you have a DNS problem.
 
2698
If it's slower on a client, you might have too many
 
2699
protocols bound to the Ethernet card. Eliminate NetBEUI, which is
 
2700
infamously slow, and, optionally, Novell&mdash;assuming you
 
2701
don't need them. This is especially important on
 
2702
Windows 95, which is particularly sensitive to excess protocols.</p>
 
2703
</dd>
 
2704
 
 
2705
 
 
2706
 
 
2707
<dt><b>Broadcast/ WINS</b></dt>
 
2708
<dd>
 
2709
<p>Test the client using <em class="emphasis">nmblookup</em>; if
 
2710
it's faster, you probably have the protocols problem
 
2711
as mentioned in the previous item.</p>
 
2712
</dd>
 
2713
 
 
2714
 
 
2715
 
 
2716
<dt><b>NIS</b></dt>
 
2717
<dd>
 
2718
<p>Try <em class="emphasis">ypmatch</em>; if it's slow,
 
2719
report the problem to your network manager.</p>
 
2720
</dd>
 
2721
 
 
2722
 
 
2723
 
 
2724
<dt><b>NIS+ </b></dt>
 
2725
<dd>
 
2726
<p>Try <em class="emphasis">nismatch</em>, similarly.</p>
 
2727
</dd>
 
2728
 
 
2729
 
 
2730
 
 
2731
<dt><b>hosts and HOSTS</b></dt>
 
2732
<dd>
 
2733
<p>The <em class="emphasis">hosts</em> files, if of reasonable size, are
 
2734
always fast. You probably have the protocols problem mentioned
 
2735
previously under DNS.</p>
 
2736
</dd>
 
2737
 
 
2738
 
 
2739
 
 
2740
<dt><b>lmhosts and LMHOSTS</b></dt>
 
2741
<dd>
 
2742
<p>This is not a name lookup problem; <em class="emphasis">LMHOSTS</em> files
 
2743
are as fast as <em class="emphasis">hosts</em> and
 
2744
<em class="filename">HOSTS</em> files.</p>
 
2745
</dd>
 
2746
 
 
2747
</dl>
 
2748
 
 
2749
 
 
2750
</div>
 
2751
 
 
2752
 
 
2753
 
 
2754
<div class="sect3"><a name="samba2-CHP-12-SECT-2.7.5"/>
 
2755
 
 
2756
<h3 class="head3">Localhost issues</h3>
 
2757
 
 
2758
<p><a name="INDEX-94"/>When a localhost isn't
 
2759
127.0.0.1, try the following:</p>
 
2760
 
 
2761
<dl>
 
2762
<dt><b>DNS</b></dt>
 
2763
<dd>
 
2764
<p>There is probably no record for <tt class="literal">localhost</tt>.
 
2765
<tt class="literal">A</tt> <tt class="literal">127.0.0.1</tt>. Arrange to add
 
2766
one, as well as a reverse entry,
 
2767
<tt class="literal">1.0.0.127.IN-ADDR.ARPA</tt> <tt class="literal">PTR</tt>
 
2768
<tt class="literal">127.0.0.1</tt>.</p>
 
2769
</dd>
 
2770
 
 
2771
 
 
2772
 
 
2773
<dt><b>Broadcast/WINS</b></dt>
 
2774
<dd>
 
2775
<p>Not applicable.</p>
 
2776
</dd>
 
2777
 
 
2778
 
 
2779
 
 
2780
<dt><b>NIS</b></dt>
 
2781
<dd>
 
2782
<p>If <tt class="literal">localhost</tt> isn't in the table,
 
2783
add it.</p>
 
2784
</dd>
 
2785
 
 
2786
 
 
2787
 
 
2788
<dt><b>NIS+ </b></dt>
 
2789
<dd>
 
2790
<p>If <tt class="literal">localhost</tt> isn't in the table,
 
2791
add it.</p>
 
2792
</dd>
 
2793
 
 
2794
 
 
2795
 
 
2796
<dt><b>hosts and HOSTS</b></dt>
 
2797
<dd>
 
2798
<p>Add a line that says <tt class="literal">127.0.0.1</tt>
 
2799
<tt class="literal">localhost</tt>.</p>
 
2800
</dd>
 
2801
 
 
2802
 
 
2803
 
 
2804
<dt><b>LMHOSTS</b></dt>
 
2805
<dd>
 
2806
<p>Not applicable. <a name="INDEX-95"/><a name="INDEX-96"/></p>
 
2807
</dd>
 
2808
 
 
2809
</dl>
 
2810
 
 
2811
 
 
2812
</div>
 
2813
 
 
2814
 
 
2815
</div>
 
2816
 
 
2817
 
 
2818
<div class="sect2"><a name="samba2-CHP-12-SECT-2.8"/>
 
2819
 
 
2820
<h3 class="head2">Troubleshooting Network Addresses</h3>
 
2821
 
 
2822
<p><a name="INDEX-97"/><a name="INDEX-98"/>A
 
2823
number of common problems are caused by incorrect routing of Internet
 
2824
addresses or by the incorrect assignment of addresses. This section
 
2825
helps you determine what your addresses are.</p>
 
2826
 
 
2827
 
 
2828
<div class="sect3"><a name="samba2-CHP-12-SECT-2.8.1"/>
 
2829
 
 
2830
<h3 class="head3">Netmasks</h3>
 
2831
 
 
2832
<p>Using the <a name="INDEX-99"/>netmask, it is possible to
 
2833
determine which addresses can be reached directly (i.e., which are on
 
2834
the local network) and which addresses require forwarding packets
 
2835
through a router. If the netmask is wrong, the systems will make one
 
2836
of two mistakes. One is to route local packets via a router, which is
 
2837
an expensive waste of time&mdash;it might work reasonably fast, it
 
2838
might run slowly, or it might fail utterly. The second mistake is to
 
2839
fail to send packets from a remote system to the router, which will
 
2840
prevent them from being forwarded to the remote system.</p>
 
2841
 
 
2842
<p>The netmask is a number like an IP address, with one-bits for the
 
2843
network part of an address and zero-bits for the host portion. It is
 
2844
used as a bitmask to mask off parts of the address inside the TCP/IP
 
2845
code. If the mask is 255.255.0.0, the first 2 bytes are the network
 
2846
part and the last 2 are the host part. More common is 255.255.255.0,
 
2847
in which the first 3 bytes are the network part and the last one is
 
2848
the host part.</p>
 
2849
 
 
2850
<p>For example, let's say your IP address is
 
2851
192.168.0.10 and the Samba server is 192.168.236.86. If your netmask
 
2852
happens to be 255.255.255.0, the network part of the address is the
 
2853
first 3 bytes, and the host part is the last byte. In this case, the
 
2854
network parts are different, and the systems are on different
 
2855
networks:</p>
 
2856
 
 
2857
<a name="ch12-37-fm2xml"/><table border="1">
 
2858
 
 
2859
 
 
2860
 
 
2861
<tr>
 
2862
<th>
 
2863
<p>Network part</p>
 
2864
</th>
 
2865
<th>
 
2866
<p>Host part</p>
 
2867
</th>
 
2868
</tr>
 
2869
 
 
2870
 
 
2871
<tr>
 
2872
<td>
 
2873
<p>192 168 000</p>
 
2874
</td>
 
2875
<td>
 
2876
<p>10</p>
 
2877
</td>
 
2878
</tr>
 
2879
<tr>
 
2880
<td>
 
2881
<p>192 168 235</p>
 
2882
</td>
 
2883
<td>
 
2884
<p>86</p>
 
2885
</td>
 
2886
</tr>
 
2887
 
 
2888
</table>
 
2889
 
 
2890
<p>If your netmask happens to be 255.255.0.0, the network part is just
 
2891
the first 2 bytes. In this case, the network parts match, and so the
 
2892
two systems are on the same network:</p>
 
2893
 
 
2894
<a name="ch12-38-fm2xml"/><table border="1">
 
2895
 
 
2896
 
 
2897
 
 
2898
<tr>
 
2899
<th>
 
2900
<p>Network part</p>
 
2901
</th>
 
2902
<th>
 
2903
<p>Host part</p>
 
2904
</th>
 
2905
</tr>
 
2906
 
 
2907
 
 
2908
<tr>
 
2909
<td>
 
2910
<p>192 168</p>
 
2911
</td>
 
2912
<td>
 
2913
<p>000 10</p>
 
2914
</td>
 
2915
</tr>
 
2916
<tr>
 
2917
<td>
 
2918
<p>192 168</p>
 
2919
</td>
 
2920
<td>
 
2921
<p>236 86</p>
 
2922
</td>
 
2923
</tr>
 
2924
 
 
2925
</table>
 
2926
 
 
2927
<p>Make sure the netmask in use on each system matches the structure of
 
2928
your network. On every subnet, the netmask should be identical on
 
2929
each system.</p>
 
2930
 
 
2931
 
 
2932
</div>
 
2933
 
 
2934
 
 
2935
 
 
2936
<div class="sect3"><a name="samba2-CHP-12-SECT-2.8.2"/>
 
2937
 
 
2938
<h3 class="head3">Broadcast addresses</h3>
 
2939
 
 
2940
<p>The <a name="INDEX-100"/>broadcast address is a normal address,
 
2941
with the hosts part all one-bits. It means &quot;all
 
2942
hosts on your network.&quot; You can compute it easily
 
2943
from your netmask and address: take the address and put one-bits in
 
2944
it for all the bits that are zero at the end of the netmask (the host
 
2945
part). The following table illustrates this:</p>
 
2946
 
 
2947
<a name="ch12-39-fm2xml"/><table border="1">
 
2948
 
 
2949
 
 
2950
 
 
2951
 
 
2952
<tr>
 
2953
<th>
 
2954
</th>
 
2955
<th>
 
2956
<p>Network part</p>
 
2957
</th>
 
2958
<th>
 
2959
<p>Host part</p>
 
2960
</th>
 
2961
</tr>
 
2962
 
 
2963
 
 
2964
<tr>
 
2965
<td>
 
2966
<p>IP address</p>
 
2967
</td>
 
2968
<td>
 
2969
<p>192 168 236</p>
 
2970
</td>
 
2971
<td>
 
2972
<p>86</p>
 
2973
</td>
 
2974
</tr>
 
2975
<tr>
 
2976
<td>
 
2977
<p>Netmask</p>
 
2978
</td>
 
2979
<td>
 
2980
<p>255 255 255</p>
 
2981
</td>
 
2982
<td>
 
2983
<p>000</p>
 
2984
</td>
 
2985
</tr>
 
2986
<tr>
 
2987
<td>
 
2988
<p>Broadcast</p>
 
2989
</td>
 
2990
<td>
 
2991
<p>192 168 236</p>
 
2992
</td>
 
2993
<td>
 
2994
<p>255</p>
 
2995
</td>
 
2996
</tr>
 
2997
 
 
2998
</table>
 
2999
 
 
3000
<p>In this example, the broadcast address on the 192.168.236 network is
 
3001
192.168.236.255. There is also an old
 
3002
&quot;universal&quot; broadcast address,
 
3003
255.255.255.255. Routers are prohibited from forwarding these, but
 
3004
most systems on your local network will respond to broadcasts to this
 
3005
address.</p>
 
3006
 
 
3007
 
 
3008
</div>
 
3009
 
 
3010
 
 
3011
 
 
3012
<div class="sect3"><a name="samba2-CHP-12-SECT-2.8.3"/>
 
3013
 
 
3014
<h3 class="head3">Network address ranges</h3>
 
3015
 
 
3016
<p>A <a name="INDEX-101"/>number of address ranges have been
 
3017
reserved for testing and for nonconnected networks; we use these for
 
3018
the examples in this book. If you don't have an
 
3019
address yet, feel free to use one of these to start. They include one
 
3020
class A network, 10.*.*.*, a range of class B network addresses,
 
3021
172.16.*.* through 172.31.*.*, and 254 class C networks, 192.168.1.*
 
3022
through 192.168.254.*. The domain <tt class="literal">example.com</tt> is
 
3023
also reserved for unconnected networks, explanatory examples, and
 
3024
books.</p>
 
3025
 
 
3026
<p>If you're actually connecting to the Internet,
 
3027
you'll need to get an appropriate IP address and a
 
3028
domain name, probably through the same company that provides your
 
3029
connection.</p>
 
3030
 
 
3031
 
 
3032
</div>
 
3033
 
 
3034
 
 
3035
 
 
3036
<div class="sect3"><a name="samba2-CHP-12-SECT-2.8.4"/>
 
3037
 
 
3038
<h3 class="head3">Finding your network address</h3>
 
3039
 
 
3040
<p><a name="INDEX-102"/>If you
 
3041
haven't recorded your IP address, you can learn it
 
3042
through the <em class="emphasis">ifconfig</em><a name="INDEX-103"/> command on Unix or the
 
3043
<em class="emphasis">ipconfig</em> <a name="INDEX-104"/>command on Windows. (Check your manual
 
3044
pages for any options required by your brand of Unix. For example,
 
3045
<tt class="literal">ifconfig</tt> <tt class="literal">-a</tt> works on Solaris.)
 
3046
You should see output similar to the following:</p>
 
3047
 
 
3048
<blockquote><pre class="code">$ <tt class="userinput"><b>ifconfig -a</b></tt> 
 
3049
le0: flags=63&lt;UP,BROADCAST,NOTRAILERS,RUNNING &gt; 
 
3050
      inet 192.168.236.11 netmask ffffff00 broadcast 192.168.236.255 
 
3051
lo0: flags=49&lt;&amp;lt&gt;UP,LOOPBACK,RUNNING&lt;&amp;gt&gt;         
 
3052
      inet 127.0.0.1 netmask ff000000</pre></blockquote>
 
3053
 
 
3054
<p>One of the interfaces will be loopback (in our examples,
 
3055
<tt class="literal">lo0</tt>), and the other will be the regular IP
 
3056
interface. The flags should show that the interface is running, and
 
3057
Ethernet interfaces will also say they support broadcasts (PPP
 
3058
interfaces don't). The other places to look for IP
 
3059
addresses are <em class="filename">/etc/hosts</em> files, Windows
 
3060
<em class="emphasis">HOSTS</em> files, Windows
 
3061
<em class="emphasis">LMHOSTS</em> files, NIS, NIS+, and DNS. <a name="INDEX-105"/><a name="INDEX-106"/></p>
 
3062
 
 
3063
 
 
3064
</div>
 
3065
 
 
3066
 
 
3067
</div>
 
3068
 
 
3069
 
 
3070
<div class="sect2"><a name="samba2-CHP-12-SECT-2.9"/>
 
3071
 
 
3072
<h3 class="head2">Troubleshooting NetBIOS Names</h3>
 
3073
 
 
3074
<p><a name="INDEX-107"/><a name="INDEX-108"/>Historically, SMB protocols have
 
3075
depended on the NetBIOS name system, also called the LAN Manager name
 
3076
system. This was a simple scheme where each system had a unique
 
3077
20-character name and broadcast it on the LAN for everyone to know.
 
3078
With TCP/IP, we tend to use names such as
 
3079
<tt class="literal">client.example.com</tt>, stored in
 
3080
<em class="filename">/etc/hosts</em> files through DNS or WINS.</p>
 
3081
 
 
3082
<p>The usual mapping of domain names such as
 
3083
<tt class="literal">server.example.com</tt> to NetBIOS names simply uses
 
3084
the <tt class="literal">server</tt> part as the NetBIOS name and converts
 
3085
it to uppercase. Alas, this doesn't always work,
 
3086
especially if you have a system with a 21-character name; not
 
3087
everyone uses the same NetBIOS and DNS names. For example,
 
3088
<tt class="literal">corpvm1</tt> along with <tt class="literal">vm1.corp.com</tt>
 
3089
is not unusual.</p>
 
3090
 
 
3091
<p>A system with a different NetBIOS name and domain name is confusing
 
3092
when you're troubleshooting; we recommend that you
 
3093
try to avoid this wherever possible. NetBIOS names are discoverable
 
3094
with <em class="emphasis">smbclient</em> :</p>
 
3095
 
 
3096
<ul><li>
 
3097
<p>If you can list shares on your Samba server with
 
3098
<tt class="literal">smbclient</tt> <tt class="literal">-L</tt>
 
3099
<tt class="literal">short_name</tt>, the short name is the NetBIOS name.</p>
 
3100
</li><li>
 
3101
<p>If you get <tt class="literal">Get_Hostbyname</tt>:
 
3102
<tt class="literal">Unknown</tt> <tt class="literal">host</tt>
 
3103
<tt class="literal">name</tt>, there is probably a mismatch. Check in the
 
3104
<em class="filename">smb.conf</em> file to see if the NetBIOS name is
 
3105
explicitly set.</p>
 
3106
</li><li>
 
3107
<p>Try to list shares again, specifying <tt class="literal">-I</tt> and the IP
 
3108
address of the Samba server (e.g., <tt class="literal">smbclient</tt>
 
3109
<tt class="literal">-L</tt> <tt class="literal">server</tt> <tt class="literal">-I</tt>
 
3110
<tt class="literal">192.168.236.86</tt>). This overrides the name lookup
 
3111
and forces the packets to go to the IP address. If this works, there
 
3112
was a mismatch.</p>
 
3113
</li><li>
 
3114
<p>Try with <tt class="literal">-I</tt> and the full domain name of the server
 
3115
(e.g., <tt class="literal">smbclient</tt> <tt class="literal">-L</tt>
 
3116
<tt class="literal">server</tt> <tt class="literal">-I</tt>
 
3117
<tt class="literal">server.example.com</tt>). This tests the lookup of the
 
3118
domain name, using whatever scheme the Samba server uses (e.g., DNS).
 
3119
If it fails, you have a name service problem. You should reread the
 
3120
earlier section, <a href="ch12.html#samba2-CHP-12-SECT-2.7">Section 12.2.7</a>,
 
3121
after you finish troubleshooting the NetBIOS names.</p>
 
3122
</li><li>
 
3123
<p>Try with the <tt class="literal">-n</tt> (NetBIOS name) option, giving it
 
3124
the name you expect to work (e.g., <tt class="literal">smbclient</tt>
 
3125
<tt class="literal">-n</tt> <tt class="literal">server</tt> <tt class="literal">-L</tt>
 
3126
<tt class="literal">server-12</tt>), but without overriding the IP address
 
3127
through <tt class="literal">-I</tt>. If this works, the name you specified
 
3128
with <tt class="literal">-n</tt> is the actual NetBIOS name of the server.
 
3129
If you receive <tt class="literal">Get-Hostbyname</tt>:
 
3130
<tt class="literal">Unknown</tt> <tt class="literal">host</tt>
 
3131
<tt class="literal">SERVER</tt>, it's not the right server
 
3132
yet.</p>
 
3133
</li><li>
 
3134
<p>If nothing is working so far, repeat the tests specifying
 
3135
<tt class="literal">-U</tt> <em class="emphasis">username</em> and
 
3136
<tt class="literal">-W</tt> <em class="emphasis">workgroup</em>, with the
 
3137
username and workgroup in uppercase, to make sure
 
3138
you're not being derailed by a user or workgroup
 
3139
mismatch.</p>
 
3140
</li><li>
 
3141
<p>If still nothing works and you had evidence of a name service
 
3142
problem, troubleshoot the name service (see the earlier section,
 
3143
<a href="ch12.html#samba2-CHP-12-SECT-2.7">Section 12.2.7</a>) and then return to
 
3144
the NetBIOS name service. <a name="INDEX-109"/><a name="INDEX-110"/></p>
 
3145
</li></ul>
 
3146
 
 
3147
</div>
 
3148
 
 
3149
 
 
3150
</div>
 
3151
 
 
3152
 
 
3153
 
 
3154
<div class="sect1"><a name="samba2-CHP-12-SECT-3"/>
 
3155
 
 
3156
<h2 class="head1">Extra Resources</h2>
 
3157
 
 
3158
<p>At some point during your work with Samba, you'll
 
3159
want to turn to online or printed resources for news, updates, and
 
3160
aid.</p>
 
3161
 
 
3162
 
 
3163
<div class="sect2"><a name="samba2-CHP-12-SECT-3.1"/>
 
3164
 
 
3165
<h3 class="head2">Documentation and FAQs</h3>
 
3166
 
 
3167
<p>It's OK to read the <a name="INDEX-111"/><a name="INDEX-112"/>documentation. Really. Nobody can see you,
 
3168
and we won't tell. In fact, Samba ships with a large
 
3169
set of documentation files, and it is well worth the effort to at
 
3170
least browse through them, either in the distribution directory on
 
3171
your computer under <em class="filename">/docs</em> or online at the Samba
 
3172
web site: <a href="http://www.samba.org">http://www.samba.org</a>. The most current
 
3173
FAQ list, bug information, and distribution locations are located at
 
3174
the web site, with links to all the Samba manual pages and HOWTOs.</p>
 
3175
 
 
3176
 
 
3177
</div>
 
3178
 
 
3179
 
 
3180
<div class="sect2"><a name="samba2-CHP-12-SECT-3.2"/>
 
3181
 
 
3182
<h3 class="head2">Samba Newsgroups</h3>
 
3183
 
 
3184
<p><a name="INDEX-113"/>Usenet
 
3185
newsgroups have always been a great place to get advice on just about
 
3186
any topic. In the past few years, though, this vast pool of knowledge
 
3187
has developed something that has made it into an invaluable resource:
 
3188
a memory. Archival and search sites such as the one at
 
3189
<a name="INDEX-114"/>Google (<a href="http://groups.google.com/advanced_group_search">http://groups.google.com/advanced_group_search</a>)
 
3190
have made sifting through years of valuable solutions as simple as a
 
3191
few mouse clicks.</p>
 
3192
 
 
3193
<p>The primary newsgroup for Samba is
 
3194
<em class="emphasis">comp.protocols.smb</em><a name="INDEX-115"/>. This should always be your first
 
3195
stop when there's a problem. More often than not,
 
3196
spending 5 minutes researching an error here will save hours of
 
3197
frustration while trying to debug something yourself.</p>
 
3198
 
 
3199
<p>When searching a newsgroup, try to be as specific as possible, but
 
3200
not too wordy. Searching on actual error messages is best. If you
 
3201
don't find an answer immediately in the newsgroup,
 
3202
resist the temptation to post a request for help until
 
3203
you've done a bit more work on the problem. You
 
3204
might find that the answer is in a FAQ or one of the many
 
3205
documentation files that ship with Samba, or a solution might become
 
3206
evident when you run one of Samba's diagnostic
 
3207
tools. If nothing works, post a request in
 
3208
<em class="emphasis">comp.protocols.smb</em>, and be as specific as
 
3209
possible about what you have tried and what you are seeing. Include
 
3210
any error messages that appear. It might be days before you receive
 
3211
help, so be patient and keep trying things while you wait.</p>
 
3212
 
 
3213
<a name="samba2-CHP-12-NOTE-161"/><blockquote class="note"><h4 class="objtitle">TIP</h4>
 
3214
<p>Once you post a request for help, keep poking at the problem
 
3215
yourself. Most of us have had the experience of posting a Usenet
 
3216
article containing hundreds of lines of intricate detail, only to
 
3217
solve the problem an hour later after the article has blazed its way
 
3218
across several continents. The rule of thumb goes something like
 
3219
this: the more folks who have read your request, the simpler the
 
3220
solution. Usually this means that once everyone in the Unix community
 
3221
has seen your article, the solution will be something simple such as,
 
3222
&quot;Plug the power cord into the wall
 
3223
socket.&quot;</p>
 
3224
</blockquote>
 
3225
 
 
3226
 
 
3227
</div>
 
3228
 
 
3229
 
 
3230
<div class="sect2"><a name="samba2-CHP-12-SECT-3.3"/>
 
3231
 
 
3232
<h3 class="head2">Samba Mailing Lists</h3>
 
3233
 
 
3234
<p>The following are <a name="INDEX-116"/>mailing lists for support with Samba. See
 
3235
the Samba home page, <a href="http://www.samba.org/">http://www.samba.org/</a>, for
 
3236
information on subscribing and unsubscribing to these mailing lists:</p>
 
3237
 
 
3238
<dl>
 
3239
<dt><b>samba@samba.org</b></dt>
 
3240
<dd>
 
3241
<p>This is the primary mailing list for general questions and discussion
 
3242
regarding Samba.</p>
 
3243
</dd>
 
3244
 
 
3245
 
 
3246
 
 
3247
<dt><b>samba-announce@samba.org</b></dt>
 
3248
<dd>
 
3249
<p>This list is for receiving news regarding Samba, such as
 
3250
announcements of new releases.</p>
 
3251
</dd>
 
3252
 
 
3253
 
 
3254
 
 
3255
<dt><b>samba-cvs@samba.org</b></dt>
 
3256
<dd>
 
3257
<p>By subscribing to this list, you can automatically receive a message
 
3258
every time one of the Samba developers updates the Samba source code
 
3259
in the CVS repository. You might want to do this if you are waiting
 
3260
for a specific bug fix or feature to be applied. To avoid congesting
 
3261
your email inbox, we suggest using the digest feature, which
 
3262
consolidates messages into a smaller number of emails.</p>
 
3263
</dd>
 
3264
 
 
3265
 
 
3266
 
 
3267
<dt><b>samba-docs@samba.org</b></dt>
 
3268
<dd>
 
3269
<p>This list is for discussing Samba documentation.</p>
 
3270
</dd>
 
3271
 
 
3272
 
 
3273
 
 
3274
<dt><b>samba-vms@samba.org</b></dt>
 
3275
<dd>
 
3276
<p>This mailing list is for people who are running Samba on the VMS
 
3277
operating system.</p>
 
3278
</dd>
 
3279
 
 
3280
 
 
3281
 
 
3282
<dt><b>samba-binaries@samba.org</b></dt>
 
3283
<dd>
 
3284
<p>This is a list for developers to use when discussing precompiled
 
3285
Samba distributions.</p>
 
3286
</dd>
 
3287
 
 
3288
 
 
3289
 
 
3290
<dt><b>samba-technical@samba.org</b></dt>
 
3291
<dd>
 
3292
<p>This mailing list is for developer discussion of the Samba code.</p>
 
3293
</dd>
 
3294
 
 
3295
</dl>
 
3296
 
 
3297
<p>Searchable versions of the Samba mailing list archives can be found
 
3298
at <a href="http://marc.theaimsgroup.com">http://marc.theaimsgroup.com</a>.</p>
 
3299
 
 
3300
<p>When posting messages to the Samba mailing lists, keep in mind that
 
3301
you are sending your message to a large audience. The notes in the
 
3302
previous section regarding Usenet postings also apply here. A
 
3303
well-formulated question or comment is more likely to be answered,
 
3304
and a poorly conceived message is <em class="emphasis">very</em> likely to
 
3305
be ignored!</p>
 
3306
 
 
3307
 
 
3308
</div>
 
3309
 
 
3310
 
 
3311
<div class="sect2"><a name="samba2-CHP-12-SECT-3.4"/>
 
3312
 
 
3313
<h3 class="head2">Further Reading</h3>
 
3314
 
 
3315
<ol><li>
 
3316
<p>Hunt, Craig. <em class="emphasis">TCP/IP Network Administration</em>,
 
3317
Third Edition. Sebastopol, CA: O'Reilly
 
3318
&amp; Associates, 1997.</p>
 
3319
</li>
 
3320
<li>
 
3321
<p>Hunt, Craig, and Robert Bruce Thompson. <em class="emphasis">Windows NT TCP/IP
 
3322
Network Administration</em>. Sebastopol, CA:
 
3323
O'Reilly &amp; Associates, 1998.</p>
 
3324
</li>
 
3325
<li>
 
3326
<p>Albitz, Paul, and Cricket Liu. <em class="emphasis">DNS and Bind</em>,
 
3327
Fourth Edition. Sebastopol, CA: O'Reilly
 
3328
&amp; Associates, 1998.</p>
 
3329
</li>
 
3330
<li>
 
3331
<p>Stern, Hal. <em class="emphasis">Managing NFS and NIS</em>, Second
 
3332
Edition. Sebastopol, CA: O'Reilly &amp; Associates,
 
3333
1991.<a name="INDEX-117"/></p>
 
3334
</li></ol>
 
3335
 
 
3336
</div>
 
3337
 
 
3338
 
 
3339
</div>
 
3340
 
 
3341
<hr/><h4 class="head4"><a href="toc.html">TOC</a></h4></body></html>