1 | <?xml version="1.0" encoding="iso-8859-1"?>
|
---|
2 | <!DOCTYPE chapter PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc">
|
---|
3 | <chapter id="problems">
|
---|
4 |
|
---|
5 | <chapterinfo>
|
---|
6 | &author.jerry;
|
---|
7 | &author.jelmer;
|
---|
8 | &author.dbannon;
|
---|
9 | &author.danshearer;
|
---|
10 | <pubdate>8 Apr 2003</pubdate>
|
---|
11 | </chapterinfo>
|
---|
12 |
|
---|
13 | <title>Analyzing and Solving Samba Problems</title>
|
---|
14 |
|
---|
15 | <para>
|
---|
16 | <indexterm><primary>RFCs</primary></indexterm>
|
---|
17 | <indexterm><primary>SMB</primary></indexterm>
|
---|
18 | <indexterm><primary>documentation</primary></indexterm>
|
---|
19 | There are many sources of information available in the form of mailing lists, RFCs, and documentation. The
|
---|
20 | documentation that comes with the Samba distribution contains good explanations of general SMB topics such as
|
---|
21 | browsing.
|
---|
22 | </para>
|
---|
23 |
|
---|
24 | <sect1>
|
---|
25 | <title>Diagnostics Tools</title>
|
---|
26 |
|
---|
27 | <para>
|
---|
28 | <indexterm><primary>sniffer</primary></indexterm>
|
---|
29 | <indexterm><primary>LAN</primary></indexterm>
|
---|
30 | <indexterm><primary>analyzes data</primary></indexterm>
|
---|
31 | <indexterm><primary>SMB networking</primary></indexterm>
|
---|
32 | <indexterm><primary>network analyzer</primary></indexterm>
|
---|
33 | With SMB networking, it is often not immediately clear what the cause is of a certain problem. Samba itself
|
---|
34 | provides rather useful information, but in some cases you might have to fall back to using a
|
---|
35 | <emphasis>sniffer</emphasis>. A sniffer is a program that listens on your LAN, analyzes the data sent on it,
|
---|
36 | and displays it on the screen.
|
---|
37 | </para>
|
---|
38 |
|
---|
39 | <sect2>
|
---|
40 | <title>Debugging with Samba Itself</title>
|
---|
41 |
|
---|
42 | <para>
|
---|
43 | <indexterm><primary>diagnostic tools</primary></indexterm>
|
---|
44 | <indexterm><primary>debugging problems</primary></indexterm>
|
---|
45 | <indexterm><primary>smbd</primary></indexterm>
|
---|
46 | <indexterm><primary>nmbd</primary></indexterm>
|
---|
47 | <indexterm><primary>debugging passwords</primary></indexterm>
|
---|
48 | <indexterm><primary>debug level</primary></indexterm>
|
---|
49 | <indexterm><primary>log level</primary></indexterm>
|
---|
50 | One of the best diagnostic tools for debugging problems is Samba itself. You can use the <option>-d
|
---|
51 | option</option> for both &smbd; and &nmbd; to specify the <smbconfoption name="debug level"/> at which to run.
|
---|
52 | See the man pages for <command>smbd, nmbd</command>, and &smb.conf; for more information regarding debugging
|
---|
53 | options. The debug level (log level) can range from 1 (the default) to 10 (100 for debugging passwords).
|
---|
54 | </para>
|
---|
55 |
|
---|
56 | <para>
|
---|
57 | <indexterm><primary>debugging</primary></indexterm>
|
---|
58 | <indexterm><primary>gcc</primary></indexterm>
|
---|
59 | <indexterm><primary>gdb</primary></indexterm>
|
---|
60 | <indexterm><primary>smbd</primary></indexterm>
|
---|
61 | <indexterm><primary>nmbd</primary></indexterm>
|
---|
62 | <indexterm><primary>LsaEnumTrustedDomains</primary></indexterm>
|
---|
63 | <indexterm><primary>attach gdb</primary></indexterm>
|
---|
64 | Another helpful method of debugging is to compile Samba using the <command>gcc -g </command> flag. This will
|
---|
65 | include debug information in the binaries and allow you to attach <command>gdb</command> to the running
|
---|
66 | <command>smbd/nmbd</command> process. To attach <command>gdb</command> to an <command>smbd</command> process
|
---|
67 | for an NT workstation, first get the workstation to make the connection. Pressing ctrl-alt-delete and going
|
---|
68 | down to the domain box is sufficient (at least, the first time you join the domain) to generate a
|
---|
69 | <parameter>LsaEnumTrustedDomains</parameter>. Thereafter, the workstation maintains an open connection and
|
---|
70 | there will be an smbd process running (assuming that you haven't set a really short smbd idle timeout). So, in
|
---|
71 | between pressing <command>ctrl-alt-delete</command> and actually typing in your password, you can attach
|
---|
72 | <command>gdb</command> and continue.
|
---|
73 | </para>
|
---|
74 |
|
---|
75 | <para>
|
---|
76 | Some useful Samba commands worth investigating are:
|
---|
77 | <indexterm><primary>testparm</primary></indexterm>
|
---|
78 | <indexterm><primary>smbclient</primary></indexterm>
|
---|
79 | <screen>
|
---|
80 | &prompt;<userinput>testparm | more</userinput>
|
---|
81 | &prompt;<userinput>smbclient -L //{netbios name of server}</userinput>
|
---|
82 | </screen>
|
---|
83 | </para>
|
---|
84 |
|
---|
85 | </sect2>
|
---|
86 |
|
---|
87 | <sect2>
|
---|
88 | <title>Tcpdump</title>
|
---|
89 |
|
---|
90 | <para>
|
---|
91 | <indexterm><primary>tcpdump</primary></indexterm>
|
---|
92 | <indexterm><primary>tethereal</primary></indexterm>
|
---|
93 | <indexterm><primary>ethereal</primary></indexterm>
|
---|
94 | <ulink url="http://www.tcpdump.org/">Tcpdump</ulink> was the first
|
---|
95 | UNIX sniffer with SMB support. It is a command-line utility and
|
---|
96 | now, its SMB support is somewhat lagging that of <command>ethereal</command>
|
---|
97 | and <command>tethereal</command>.
|
---|
98 | </para>
|
---|
99 |
|
---|
100 | </sect2>
|
---|
101 |
|
---|
102 | <sect2>
|
---|
103 | <title>Ethereal</title>
|
---|
104 |
|
---|
105 | <para>
|
---|
106 | <indexterm><primary>ethereal</primary></indexterm>
|
---|
107 | <ulink url="http://www.ethereal.com/">Ethereal</ulink> is a graphical sniffer, available for both UNIX (Gtk)
|
---|
108 | and Windows. Ethereal's SMB support is quite good. For details on the use of <command>ethereal</command>, read
|
---|
109 | the well-written Ethereal User Guide.
|
---|
110 | </para>
|
---|
111 |
|
---|
112 | <figure id="ethereal1"><title>Starting a Capture.</title><imagefile>ethereal1</imagefile></figure>
|
---|
113 |
|
---|
114 | <para>
|
---|
115 | <indexterm><primary>ports</primary></indexterm>
|
---|
116 | Listen for data on ports 137, 138, 139, and 445. For example, use the filter <userinput>port 137, port 138,
|
---|
117 | port 139, or port 445</userinput> as seen in <link linkend="ethereal1">Starting a Capture</link> snapshot.
|
---|
118 | </para>
|
---|
119 |
|
---|
120 | <para>
|
---|
121 | A console version of ethereal is available as well and is called <command>tethereal</command>.
|
---|
122 | </para>
|
---|
123 |
|
---|
124 | <figure id="ethereal2"><title>Main Ethereal Data Window.</title><imagefile>ethereal2</imagefile></figure>
|
---|
125 |
|
---|
126 | </sect2>
|
---|
127 |
|
---|
128 | <sect2>
|
---|
129 | <title>The Windows Network Monitor</title>
|
---|
130 |
|
---|
131 | <para>
|
---|
132 | <indexterm><primary>Network Monitor</primary></indexterm>
|
---|
133 | <indexterm><primary>Netmon</primary></indexterm>
|
---|
134 | <indexterm><primary>Microsoft Developer Network CDs</primary></indexterm>
|
---|
135 | <indexterm><primary>SMS</primary></indexterm>
|
---|
136 | <indexterm><primary>promiscuous mode</primary></indexterm>
|
---|
137 | <indexterm><primary>ethereal</primary></indexterm>
|
---|
138 | For tracing things on Microsoft Windows NT, Network Monitor (aka Netmon) is available on Microsoft Developer
|
---|
139 | Network CDs, the Windows NT Server install CD, and the SMS CDs. The version of Netmon that ships with SMS
|
---|
140 | allows for dumping packets between any two computers (i.e., placing the network interface in promiscuous
|
---|
141 | mode). The version on the NT Server install CD will only allow monitoring of network traffic directed to the
|
---|
142 | local NT box and broadcasts on the local subnet. Be aware that Ethereal can read and write Netmon formatted
|
---|
143 | files.
|
---|
144 | </para>
|
---|
145 |
|
---|
146 | <sect3>
|
---|
147 | <title>Installing Network Monitor on an NT Workstation</title>
|
---|
148 |
|
---|
149 | <para>
|
---|
150 | <indexterm><primary>Netmon.</primary></indexterm>
|
---|
151 | Installing Netmon on an NT workstation requires a couple of steps. The following are instructions for
|
---|
152 | installing Netmon V4.00.349, which comes with Microsoft Windows NT Server 4.0, on Microsoft Windows NT
|
---|
153 | Workstation 4.0. The process should be similar for other versions of Windows NT version of Netmon. You will
|
---|
154 | need both the Microsoft Windows NT Server 4.0 Install CD and the Workstation 4.0 Install CD.
|
---|
155 | </para>
|
---|
156 |
|
---|
157 | <para>
|
---|
158 | <indexterm><primary>Network Monitor Tools and Agent</primary></indexterm>
|
---|
159 | Initially you will need to install <application>Network Monitor Tools and Agent</application>
|
---|
160 | on the NT Server to do this:
|
---|
161 | </para>
|
---|
162 |
|
---|
163 | <itemizedlist>
|
---|
164 | <listitem><para>Go to <guibutton>Start</guibutton> -> <guibutton>Settings</guibutton> -> <guibutton>Control Panel</guibutton> ->
|
---|
165 | <guibutton>Network</guibutton> -> <guibutton>Services</guibutton> -> <guibutton>Add</guibutton>.</para></listitem>
|
---|
166 |
|
---|
167 | <listitem><para>Select the <guilabel>Network Monitor Tools and Agent</guilabel> and click on <guibutton>OK</guibutton>.</para></listitem>
|
---|
168 |
|
---|
169 | <listitem><para>Click on <guibutton>OK</guibutton> on the Network Control Panel.</para></listitem>
|
---|
170 |
|
---|
171 | <listitem><para>Insert the Windows NT Server 4.0 install CD when prompted.</para></listitem>
|
---|
172 | </itemizedlist>
|
---|
173 |
|
---|
174 | <para>
|
---|
175 | At this point, the Netmon files should exist in <filename>%SYSTEMROOT%\System32\netmon\*.*</filename>.
|
---|
176 | Two subdirectories exist as well: <filename>parsers\</filename>, which contains the necessary DLLs
|
---|
177 | for parsing the Netmon packet dump, and <filename>captures\</filename>.
|
---|
178 | </para>
|
---|
179 |
|
---|
180 | <para>
|
---|
181 | To install the Netmon tools on an NT Workstation, you will first need to install the
|
---|
182 | Network Monitor Agent from the Workstation install CD.
|
---|
183 | </para>
|
---|
184 |
|
---|
185 | <itemizedlist>
|
---|
186 | <listitem><para>Go to <guibutton>Start</guibutton> -> <guibutton>Settings</guibutton> ->
|
---|
187 | <guibutton>Control Panel</guibutton> -> <guibutton>Network</guibutton> ->
|
---|
188 | <guibutton>Services</guibutton> -> <guibutton>Add</guibutton>.</para></listitem>
|
---|
189 |
|
---|
190 | <listitem><para>Select the <guilabel>Network Monitor Agent</guilabel>, click on
|
---|
191 | <guibutton>OK</guibutton>.</para></listitem>
|
---|
192 |
|
---|
193 | <listitem><para>Click on <guibutton>OK</guibutton> in the Network Control Panel.
|
---|
194 | </para></listitem>
|
---|
195 |
|
---|
196 | <listitem><para>Insert the Windows NT Workstation 4.0 install CD when prompted.</para></listitem>
|
---|
197 | </itemizedlist>
|
---|
198 |
|
---|
199 | <para>
|
---|
200 | Now copy the files from the NT Server in <filename>%SYSTEMROOT%\System32\netmon</filename>
|
---|
201 | to <filename>%SYSTEMROOT%\System32\netmon</filename> on the workstation and set permissions
|
---|
202 | as you deem appropriate for your site. You will need administrative rights on the NT box to run Netmon.
|
---|
203 | </para>
|
---|
204 |
|
---|
205 | </sect3>
|
---|
206 | <sect3>
|
---|
207 | <title>Installing Network Monitor on Windows 9x/Me</title>
|
---|
208 | <para>
|
---|
209 | To install Netmon on Windows 9x/Me, install the Network Monitor Agent
|
---|
210 | from the Windows 9x/Me CD (<filename>\admin\nettools\netmon</filename>).
|
---|
211 | There is a readme file included with the Netmon driver files on the CD if you need
|
---|
212 | information on how to do this. Copy the files from a working Netmon installation.
|
---|
213 | </para>
|
---|
214 | </sect3>
|
---|
215 | </sect2>
|
---|
216 | </sect1>
|
---|
217 |
|
---|
218 | <sect1>
|
---|
219 | <title>Useful URLs</title>
|
---|
220 | <itemizedlist>
|
---|
221 |
|
---|
222 | <listitem><para>See how Scott Merrill simulates a BDC behavior at
|
---|
223 | <ulink noescape="1" url="http://www.skippy.net/linux/smb-howto.html">
|
---|
224 | http://www.skippy.net/linux/smb-howto.html</ulink>. </para></listitem>
|
---|
225 |
|
---|
226 | <listitem><para>FTP site for older SMB specs,
|
---|
227 | <ulink noescape="1" url="ftp://ftp.microsoft.com/developr/drg/CIFS/">
|
---|
228 | ftp://ftp.microsoft.com/developr/drg/CIFS/</ulink></para></listitem>.
|
---|
229 |
|
---|
230 | </itemizedlist>
|
---|
231 |
|
---|
232 | </sect1>
|
---|
233 |
|
---|
234 | <sect1>
|
---|
235 | <title>Getting Mailing List Help</title>
|
---|
236 |
|
---|
237 | <para>
|
---|
238 | There are a number of Samba-related mailing lists. Go to <ulink
|
---|
239 | noescape="1" url="http://samba.org">http://samba.org</ulink>, click on your nearest mirror,
|
---|
240 | and then click on <command>Support</command>. Next, click on <command>
|
---|
241 | Samba-related mailing lists</command>.
|
---|
242 | </para>
|
---|
243 |
|
---|
244 | <para>
|
---|
245 | For questions relating to Samba TNG, go to
|
---|
246 | <ulink noescape="1" url="http://www.samba-tng.org/">http://www.samba-tng.org/</ulink>.
|
---|
247 | It has been requested that you do not post questions about Samba-TNG to the
|
---|
248 | mainstream Samba lists.</para>
|
---|
249 |
|
---|
250 | <para>
|
---|
251 | If you do post a message to one of the lists, please observe the following guidelines:
|
---|
252 | </para>
|
---|
253 |
|
---|
254 | <itemizedlist>
|
---|
255 |
|
---|
256 | <listitem><para>
|
---|
257 | <indexterm><primary>volunteers</primary></indexterm>
|
---|
258 | Always remember that the developers are volunteers; they are
|
---|
259 | not paid and they never guarantee to produce a particular feature at
|
---|
260 | a particular time. Any timelines are <quote>best guess,</quote> and nothing more.
|
---|
261 | </para></listitem>
|
---|
262 |
|
---|
263 | <listitem><para>
|
---|
264 | <indexterm><primary>PDC</primary></indexterm>
|
---|
265 | Always mention what version of Samba you are using and what
|
---|
266 | operating system it's running under. You should list the relevant sections of
|
---|
267 | your &smb.conf; file, at least the options in <smbconfsection name="[global]"/>
|
---|
268 | that affect PDC support.
|
---|
269 | </para></listitem>
|
---|
270 |
|
---|
271 | <listitem><para>In addition to the version, if you obtained Samba via
|
---|
272 | CVS, mention the date when you last checked it out.</para></listitem>
|
---|
273 |
|
---|
274 | <listitem><para> Try to make your questions clear and brief. Lots of long,
|
---|
275 | convoluted questions get deleted before they are completely read!
|
---|
276 | Do not post HTML-encoded messages. Most people on mailing lists simply delete
|
---|
277 | them.
|
---|
278 | </para></listitem>
|
---|
279 |
|
---|
280 | <listitem><para> If you run one of those nifty <quote>I'm on holiday</quote> things when
|
---|
281 | you are away, make sure its configured to not answer mailing list traffic. Autoresponses
|
---|
282 | to mailing lists really irritate the thousands of people who end up having to deal
|
---|
283 | with such bad netiquet bahavior.
|
---|
284 | </para></listitem>
|
---|
285 |
|
---|
286 | <listitem><para>
|
---|
287 | <indexterm><primary>cross post</primary></indexterm>
|
---|
288 | Don't cross post. Work out which is the best list to post to
|
---|
289 | and see what happens. Do not post to both samba-ntdom and samba-technical.
|
---|
290 | Many people active on the lists subscribe to more
|
---|
291 | than one list and get annoyed to see the same message two or more times.
|
---|
292 | Often someone who thinks a message would be better dealt
|
---|
293 | with on another list will forward it on for you.</para></listitem>
|
---|
294 |
|
---|
295 | <listitem><para>You might include <emphasis>partial</emphasis>
|
---|
296 | log files written at a log level set to as much as 20.
|
---|
297 | Please do not send the entire log but just enough to give the context of the
|
---|
298 | error messages.</para></listitem>
|
---|
299 |
|
---|
300 | <listitem><para>If you have a complete Netmon trace (from the opening of
|
---|
301 | the pipe to the error), you can send the *.CAP file as well.</para></listitem>
|
---|
302 |
|
---|
303 | <listitem><para>Please think carefully before attaching a document to an email.
|
---|
304 | Consider pasting the relevant parts into the body of the message. The Samba
|
---|
305 | mailing lists go to a huge number of people. Do they all need a copy of your
|
---|
306 | &smb.conf; in their attach directory?</para></listitem>
|
---|
307 |
|
---|
308 | </itemizedlist>
|
---|
309 |
|
---|
310 | </sect1>
|
---|
311 |
|
---|
312 | <sect1>
|
---|
313 | <title>How to Get Off the Mailing Lists</title>
|
---|
314 |
|
---|
315 | <para>To have your name removed from a Samba mailing list, go to the same
|
---|
316 | place where you went to
|
---|
317 | subscribe to it, go to <ulink noescape="1" url="http://lists.samba.org/">http://lists.samba.org</ulink>,
|
---|
318 | click on your nearest mirror, click on <command>Support</command>, and
|
---|
319 | then click on <command>Samba-related mailing lists</command>.
|
---|
320 | </para>
|
---|
321 |
|
---|
322 | <para>
|
---|
323 | Please do not post messages to the list asking to be removed. You will only
|
---|
324 | be referred to the above address (unless that process failed in some way).
|
---|
325 | </para>
|
---|
326 |
|
---|
327 | </sect1>
|
---|
328 |
|
---|
329 | </chapter>
|
---|