shorewall_code/docs/shorewall_prerequisites.xml
2008-07-07 20:42:54 +00:00

107 lines
3.7 KiB
XML

<?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="shorewall_prerequisites">
<!--$Id$-->
<articleinfo>
<title>Shorewall Requirements</title>
<author>
<firstname>Tom</firstname>
<surname>Eastep</surname>
</author>
<pubdate><?dbtimestamp format="Y/m/d"?></pubdate>
<copyright>
<year>2001-2006</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>
<section id="Requirements">
<title>Shorewall Requires:</title>
<itemizedlist>
<listitem>
<para>A <emphasis role="bold">Linux</emphasis> kernel that supports
netfilter (No, it won't work on BSD or Solaris). I've tested with
2.4.2 - 2.6.16. Check <ulink url="kernel.htm">here</ulink> for kernel
configuration information.</para>
</listitem>
<listitem>
<para>iptables 1.2 or later (but I recommend at least version
1.3.3)</para>
</listitem>
<listitem>
<para>Iproute (<quote>ip</quote> and "tc" utilities). The iproute
package is included with most distributions but may not be installed
by default. The official download site is <ulink type="remote"
url="http://developer.osdl.org/dev/iproute2/download/">http://developer.osdl.org/dev/iproute2/download/</ulink>.</para>
</listitem>
<listitem>
<para>A Bourne shell or derivative such as bash or ash. This shell
must have correct support for variable expansion formats
${<emphasis>variable%pattern</emphasis>},
${<emphasis>variable%%pattern</emphasis>},
${<emphasis>variable#pattern</emphasis>} and
${<emphasis>variable##pattern</emphasis>}.</para>
</listitem>
<listitem>
<para>Your shell must produce a sensible result when a number n (128
&lt;= n &lt;= 255) is left shifted by 24 bits. You can check this at a
shell prompt by:<itemizedlist>
<listitem>
<para>echo $((128 &lt;&lt; 24))</para>
</listitem>
<listitem>
<para>The result must be either 2147483648 or
-2147483648.</para>
</listitem>
</itemizedlist></para>
</listitem>
<listitem>
<para>The firewall monitoring display is greatly improved if you have
awk (gawk) installed.</para>
</listitem>
</itemizedlist>
</section>
<section id="Perl">
<title>Shorewall-perl Requirements</title>
<para><ulink url="Shorewall-perl.html">Shorewall-perl</ulink> is a
re-implementation of the Shorewall configuration compiler written in Perl.
It is much faster than the classic Shorewall-shell compiler and produces a
firewall script that runs much faster. It's prerequisites are described in
<ulink url="Shorewall-perl.html#Prerequisites">the Shorewall-perl
article</ulink>.</para>
</section>
</article>