[217] | 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>
|
---|