<?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 4.3 and later. If you are running a version of Shorewall earlier than Shorewall 4.3.5 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>. Note that the Busybox versions of the iproute2 utilities (<firstterm>ip</firstterm> and <firstterm>tc</firstterm>) do not support all of the features required for advanced Shorewall use.</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 <= n <= 255) is left shifted by 24 bits. You can check this at a shell prompt by:<itemizedlist> <listitem> <para>echo $((128 << 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> <listitem> <para>On the system where the Shorewall package itself is installed, you must have Perl installed (preferably Perl 5.8.10):</para> <itemizedlist> <listitem> <para>If you want to be able to use DNS names in your Shorewall6 configuration files, then Perl 5.10 is required together with the Perl Socket6 module.</para> </listitem> <listitem> <para>Perl Cwd Module</para> </listitem> <listitem> <para>Perl File::Basename Module</para> </listitem> <listitem> <para>Perl File::Temp Module</para> </listitem> <listitem> <para>Perl Getopt::Long Module</para> </listitem> <listitem> <para>Perl Carp Module</para> </listitem> <listitem> <para>Perl FindBin Module</para> </listitem> <listitem> <para>Perl Scalar::Util Module</para> </listitem> </itemizedlist> </listitem> </itemizedlist> </section> </article>