shorewall_code/web/shorewall_index.htm
2007-12-29 16:31:49 +00:00

324 lines
14 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="CONTENT-TYPE" content="text/html; charset=UTF-8">
<title>Shoreline Firewall (Shorewall) 3.*</title>
<base target="_self">
<meta name="CREATED" content="20040920;15031500">
<meta name="CHANGED"
content="$Id$">
</head>
<body dir="ltr" lang="en-US">
<h1>Shoreline Firewall (Shorewall)</h1>
<p>Copyright © 2001-2007 Thomas M. Eastep</p>
<p>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 “<a href="GnuCopyright.htm"
target=_self >GNU Free Documentation License</a>”.</p>
<p>2007-12-26</p>
<hr style="WIDTH: 100%; HEIGHT: 2px">
<h2>Table of Contents</h2>
<p style="MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.42in"><a
href="#Intro" >Introduction to Shorewall</a> </p>
<p style="MARGIN-BOTTOM: 0in; MARGIN-LEFT: 0.83in"><a
href="#Glossary" >Glossary</a><br>
<a href="#WhatIs">What is Shorewall?</a><br>
<a href="#Releases">Current Shorewall Releases</a><br>
<a href="#GettingStarted">Getting Started with Shorewall</a><br>
<a href="#Info">Looking for Information?</a><br>
<a href="#License">License</a></p>
<p style="MARGIN-LEFT: 0.42in"><a href="#Notice"><strong>Important Notice to
users of Shorewall Multi-ISP Feature</strong></a> -- <strong>UPDATED 7
November 2007</strong></p>
<p style="MARGIN-LEFT: 0.42in"><a href="#Notice1"><strong>Important Notice
to users of BRIDGING=Yes</strong></a> </p>
<p style="MARGIN-LEFT: 0.42in"><a href="#Leaf">Leaf</a><br>
<a href="#OpenWRT">OpenWRT</a><br>
<a href="#Donations">Donations</a></p>
<h3><a name="Glossary"></a>Glossary</h3>
<ul>
<li><p style="MARGIN-BOTTOM: 0in"><a href="http://www.netfilter.org/"
target="_top">Netfilter</a> - the packet filter facility built into the
2.4 and later Linux kernels.</p>
<li><p style="MARGIN-BOTTOM: 0in">ipchains - the packet filter facility
built into the 2.2 Linux kernels. Also the name of the utility program
used to configure and control that facility. Netfilter can be used in
ipchains compatibility mode.</p>
<li><p>iptables - the utility program used to configure and control
Netfilter. The term 'iptables' is often used to refer to the combination
of iptables+Netfilter (with Netfilter not in ipchains compatibility
mode).</p>
</li>
</ul>
<h3><a name="WhatIs"></a>What is Shorewall?</h3>
<p style="MARGIN-LEFT: 0.42in">The Shoreline Firewall, more commonly known
as "Shorewall", is a high-level tool for configuring Netfilter. You describe
your firewall/gateway requirements using entries in a set of configuration
files. Shorewall reads those configuration files and with the help of the
iptables utility, Shorewall configures Netfilter to match your requirements.
Shorewall can be used on a dedicated firewall system, a multi-function
gateway/router/server or on a standalone GNU/Linux system. Shorewall does not
use Netfilter's ipchains compatibility mode; as a consequence, Shorewall can
take advantage of Netfilter's connection state tracking capabilities to
create a stateful firewall.<br>
<br>
Shorewall is <u>not</u> a daemon. Once Shorewall has configured Netfilter,
it's job is complete and there is no Shorewall code left running in the
system. The <a href="starting_and_stopping_shorewall.htm">/sbin/shorewall
program can be used at any time to monitor the Netfilter firewall</a>.</p>
<p style="MARGIN-LEFT: 0.42in">Shorewall is not the easiest to use of the
available iptables configuration tools but I believe that it is the most
flexible and powerful. So if you are looking for a simple point-and-click
set-and-forget Linux firewall solution that requires a minimum of networking
knowledge, I would encourage you to check out the following alternatives:</p>
<ul>
<li><p style="MARGIN-BOTTOM: 0in"><a
href="http://www.m0n0.ch/wall">m0n0wall</a> (FreeBSD Based) </p>
<li><p><a href="http://www.fs-security.com/">Firestarter<br>
</a></p>
</li>
</ul>
<p style="MARGIN-LEFT: 0.42in">On the other hand, if you are looking for a
Linux firewall solution that can handle complex and fast changing network
environments then Shorewall is a logical choice.</p>
<p style="MARGIN-LEFT: 0.42in">To see some of the many things that you can
do with Shorewall, see the <a href="shorewall_features.htm">Shorewall
Features page</a>.<br>
</p>
<h3><a name="Releases"></a>Current Shorewall Releases</h3>
<p style="MARGIN-LEFT: 40px">The <span style="FONT-WEIGHT: bold">current
Stable Release</span> version is 4.0.7<br>
</p>
<ul style="MARGIN-LEFT: 40px">
<li>Here are the <a
href="http://www1.shorewall.net/pub/shorewall/4.0/shorewall-4.0.7/releasenotes.txt"
>release
notes</a> <br>
<li>Here are the <a
href="http://www1.shorewall.net/pub/shorewall/4.0/shorewall-4.0.7/known_problems.txt"
>known
problems</a> and <a
href="http://www1.shorewall.net/pub/shorewall/4.0/shorewall-4.0.7/errata/"
>updates</a>.
<p>Read more about the <a href="Shorewall-4.html">Release here</a>.<br>
</p>
</li>
</ul>
<div style="MARGIN-LEFT: 40px">
The <span style="FONT-WEIGHT: bold">previous Stable Release</span> version
is 3.4.7<br>
<ul>
<li>Here are the <a
href="http://www1.shorewall.net/pub/shorewall/3.4/shorewall-3.4.7/releasenotes.txt"
>release
notes</a> <br>
<li>Here are the <a
href="http://www1.shorewall.net/pub/shorewall/3.4/shorewall-3.4.7/known_problems.txt"
>known
problems</a> and <a
href="http://www1.shorewall.net/pub/shorewall/3.4/shorewall-3.4.7/errata/"
>updates</a>.</li>
</ul>
The <span style="FONT-WEIGHT: bold">current Development Release</span> is
4.1.3.
<ul>
<li>Here are the <a
href="http://www1.shorewall.net/pub/shorewall/development/4.1/shorewall-4.1.3/releasenotes.txt"
>release
notes</a>
<li>Here are the <a
href="http://www1.shorewall.net/pub/shorewall/development/4.1/shorewall-4.1.3/known_problems.txt"
>known
problems</a> and <a
href="http://www1.shorewall.net/pub/shorewall/development/4.1/shorewall-4.1.3/errata/"
>updates</a>.</li>
</ul>
</div>
<div style="MARGIN-LEFT: 40px">
<p>Get them from the <a href="download.htm">download sites</a></p>
</div>
<h3><a name="GettingStarted"></a>Getting Started with Shorewall</h3>
<p style="MARGIN-LEFT: 0.42in">New to Shorewall? Download the current Stable
version (see above) then select the <a
href="shorewall_quickstart_guide.htm" >QuickStart Guide</a> that most closely
matches your environment and follow the step by step instructions.</p>
<h3><a name="Info"></a>Looking for Information?</h3>
<p style="MARGIN-LEFT: 0.42in">The <a
href="Documentation.html" >Documentation Index</a> is a good place to start as
is the Site Search in the frame above.</p>
<h3><a name="License"></a>License</h3>
<p style="MARGIN-LEFT: 0.42in">This program is free software; you can
redistribute it and/or modify it under the terms of <a
href="http://www.gnu.org/licenses/gpl.html">Version 2 of the GNU General
Public License</a> as published by the Free Software Foundation.</p>
<p style="MARGIN-LEFT: 0.42in">This program is distributed in the hope that
it will be useful, but WITHOUT ANY WARRANTY; without even the implied
warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more detail.</p>
<p style="MARGIN-LEFT: 0.42in">You should have received a copy of the GNU
General Public License along with this program; if not, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA.</p>
<p style="MARGIN-LEFT: 0.42in">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
"GNU Free Documentation License".</p>
<hr>
<h2><a name="Notice">Important Notice to Users of Shorewall's Multi-ISP
Feature</a></h2>
<p>A bug in Shorewall versions 3.2.0-3.2.10, 3.4.0-3.4.6 and Shorewall-shell
4.0.0-4.0.2 prevents proper handling of PREROUTING marks when
HIGH_ROUTE_MARKS=No and the <strong>track</strong> option is specified.
Patches are available to correct this problem:</p>
<p>Shorewall version 3.2.0-3.2.10, 3.4.0-3.4.3: <a
href="http://www1.shorewall.net/pub/shorewall/3.2/shorewall-3.2.10/errata/patches/Shorewall/patch-3.2.10-2.diff">http://www1.shorewall.net/pub/shorewall/3.2/shorewall-3.2.10/errata/patches/Shorewall/patch-3.2.10-2.diff</a></p>
<p>Shorewall version 3.4.4-3.4.6: <a
href="http://www1.shorewall.net/pub/shorewall/3.4/shorewall-3.4.6/errata/patches/Shorewall/patch-3.4.6-1.diff">http://www1.shorewall.net/pub/shorewall/3.4/shorewall-3.4.66/errata/patches/Shorewall/patch-3.4.6-1.diff</a></p>
<p>Shorewall-shell version 4.0.0-4.0.2: <a
href="http://www1.shorewall.net/pub/shorewall/4.0/shorewall-4.0.2/errata/patches/Shorewall-shell/patch-shell-4.0.2-2.diff">http://www1.shorewall.net/pub/shorewall/4.0/shorewall-4.0.2/errata/patches/Shorewall-shell/patch-shell-4.0.2-2.diff</a></p>
<p>Note that a patch may succeed with an offset when applied to a release
other than the one for which it was specifically prepared. For example, when
the patch for 3.2.0-3.2.10, 3.4.0-3.4.3 (which was prepared for release
3.2.10) is applied to release 3.4.3, the following is the result:</p>
<pre>root@wookie:~# <strong>cd /usr/share/shorewall</strong>
root@wookie/usr/share/shorewall#: <strong>patch &lt; ~/shorewall/tags/3.2.10/Shorewall.updated/patch-3.2.10-2.diff</strong>
patching file compiler
Hunk #1 succeeded at 958 (offset -1669 lines).
root@wookie:/usr/share/shorewall#</pre>
<h3>Update -- 7 November 2007</h3>
<p>A second bug in Shorewall versions 3.2.0-3.2.11, 3.4.0-3.4.7 and
4.0.0-4.0.5 can cause improper handing of PREROUTING and OUTPUT marks when
HIGH_ROUTE_MARKS=Yes. Patches are also available to correct this problem:</p>
<p>Shorewall version 3.2.3-3.2.11: <a
href="http://www1.shorewall.net/pub/shorewall/3.2/shorewall-3.2.11/errata/patches/Shorewall/patch-3.2.11-1.diff">http://www1.shorewall.net/pub/shorewall/3.2/shorewall-3.2.11/errata/patches/Shorewall/patch-3.2.11-1.diff</a></p>
<p>Shorewall version 3.4.0-3.4.7: <a
href="http://www1.shorewall.net/pub/shorewall/3.4/shorewall-3.4.7/errata/patches/Shorewall/patch-3.4.7-1.diff">http://www1.shorewall.net/pub/shorewall/3.4/shorewall-3.4.7/errata/patches/Shorewall/patch-3.4.7-1.diff</a></p>
<p>Shorewall version 4.0.0-4.0.5: <a
href="http://www1.shorewall.net/pub/shorewall/4.0/shorewall-4.0.5/errata/patches/Shorewall-shell/patch-shell-4.0.5-1.diff">http://www1.shorewall.net/pub/shorewall/4.0/shorewall-4.0.5/errata/patches/Shorewall-shell/patch-shell-4.0.5-1.diff</a>
and <a
href="http://www1.shorewall.net/pub/shorewall/4.0/shorewall-4.0.5/errata/patches/Shorewall-perl/patch-perl-4.0.5-4.diff">http://www1.shorewall.net/pub/shorewall/4.0/shorewall-4.0.5/errata/patches/Shorewall-perl/patch-perl-4.0.5-4.diff</a>.</p>
<hr>
<h2><a name="Notice1">Important Notice to Users of BRIDGING=Yes</a></h2>
<p>In Linux Kernel version 2.6.20, the Netfilter team changed Physdev Match
so that it is no longer capable of supporting BRIDGING=Yes. The solutions
available to users are to either:</p>
<ol>
<li>Switch to using the technique described at <a
href="http://www.shorewall.net/3.0/NewBridge.html"
>http://www.shorewall.net/3.0/NewBridge.html</a>;
or<br>
<li>Upgrade to Shorewall 4.0, migrate to using Shorewall-perl, and follow
the instructions at <a
href="http://www1.shorewall.net/bridge-Shorewall-perl.html"
>http://www1.shorewall.net/bridge-Shorewall-perl.html.</a>
</li>
</ol>
<p>The first approach allows you to switch back and forth between kernels
older and newer than 2.6.20. The second approach is a better long-term
solution.</p>
<hr>
<h2><a name="Leaf"></a>Leaf</h2>
<p><font color="#000080"><a href="http://leaf.sourceforge.net/"
target="_top"><font color="#000080"><img height="39"
alt="(Leaf Logo)" src="images/leaflogo.gif" width=52 align=bottom
border=1 name=Graphic1 ></font></a></font> LEAF is an open source project which provides a
Firewall/router on a floppy, CD or CF. Several LEAF distributions including
Bering and Bering-uClibc use Shorewall as their Netfilter configuration
tool.</p>
<hr>
<h2><a name="OpenWRT"></a>OpenWRT</h2>
<p style="MARGIN-BOTTOM: 0in"><font color="#000000"><a
href="http://openwrt.org/"><font color="#000080"><img
height="34" alt="(OpenWRT Logo)" hspace="4"
src="images/openwrt.png" width=91 align=bottom border=1 name=graphics1 ></font></a></font>OpenWRT is a
project which provides open source firmware for Linksys WRT54G wireless
routers. Two different Shorewall packages are available for OpenWRT.</p>
<hr>
<h2><a name="Donations"></a>Donations</h2>
<p><a href="http://www.alz.org/" target="_top"><font color="#000080"><img
height="66"
alt ="(Alzheimer's Association Logo)"
src="images/alz_logo2.gif" width=306 align=right border=1 name=Graphic2 ></font></a><a href="http://www.starlight.org/"
target="_top"><font color="#000080"><img height="108"
alt="(Starlight Foundation Logo)" src="images/newlog.gif" width=65
align=right border=1 name=Graphic3 ></font></a>Shorewall is free but if you try it and
find it useful, please consider making a donation to the <a
href="http://www.alz.org/" target="_top">Alzheimer's Association</a> or to
the <a href="http://www.starlight.org/" target="_top">Starlight Children's
Foundation</a>. <br>
<br>
Thank You</p>
<p align="left"><br>
<br>
</p>
</body>
</html>