<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<article>
  <!--$Id$-->

  <articleinfo>
    <title>Samba/SMB</title>

    <authorgroup>
      <author>
        <firstname>Tom</firstname>

        <surname>Eastep</surname>
      </author>
    </authorgroup>

    <pubdate><?dbtimestamp format="Y/m/d"?></pubdate>

    <copyright>
      <year>2002-2005</year>

      <holder>Thomas M. Eastep</holder>
    </copyright>

    <legalnotice>
      <para>Permission is granted to copy, distribute and/or modify this
      document under the terms of the GNU Free Documentation License, Version
      1.2 or any later version published by the Free Software Foundation; with
      no Invariant Sections, with no Front-Cover, and with no Back-Cover
      Texts. A copy of the license is included in the section entitled
      <quote><ulink url="GnuCopyright.htm">GNU Free Documentation
      License</ulink></quote>.</para>
    </legalnotice>
  </articleinfo>

  <caution>
    <para><emphasis role="bold">This article applies to Shorewall 3.0 and
    later. If you are running a version of Shorewall earlier than Shorewall
    3.0.0 then please see the documentation for that
    release.</emphasis></para>
  </caution>

  <para>If you wish to run Samba on your firewall and access shares between
  the firewall and local hosts, you need the following rules:</para>

  <programlisting>#ACTION   SOURCE   DEST   PROTO    DEST PORT(S)   SOURCE
#                                                 PORT(S)
SMB/ACCEPT  $FW      loc
SMB/ACCEPT  loc      $FW</programlisting>

  <para>To pass traffic SMB/Samba traffic between zones Z1 and Z2:</para>

  <programlisting>#ACTION   SOURCE   DEST   PROTO    DEST PORT(S)   SOURCE
#                                                 PORT(S)
SMB/ACCEPT  Z1       Z2
SMB/ACCEPT  Z2       Z1</programlisting>

  <para>To make network browsing (<quote>Network Neighborhood</quote>) work
  properly between Z1 and Z2 <emphasis role="bold">requires a Windows Domain
  Controller and/or a WINS server.</emphasis> I have run Samba on my firewall
  to handle browsing between two zones connected to my firewall.</para>

  <para>When debugging Samba/SMB problems, I recommend that you do the
  following:</para>

  <orderedlist>
    <listitem>
      <para>Copy <filename>action.Drop</filename> and
      <filename>action.Reject</filename> from <filename
      class="directory">/usr/share/shorewall</filename> to <filename
      class="directory">/etc/shorewall</filename>.</para>
    </listitem>

    <listitem>
      <para>Edit the copies and remove the <emphasis
      role="bold">SMB/DROP</emphasis> and <emphasis
      role="bold">SMB/REJECT</emphasis> lines.</para>
    </listitem>

    <listitem>
      <para><command>shorewall restart</command></para>
    </listitem>
  </orderedlist>

  <para>The above steps will cause SMB traffic that is dropped or rejected by
  policy to be logged rather than handled silently.</para>

  <para>If you are using <trademark>Windows XP</trademark> to test your
  setup,make you sure you have a properly configured client firewall .</para>

  <para>You can just remove the copies and <command>shorewall
  restart</command> when you are finished debugging.</para>
</article>
