Shorewall Installation and
Upgrade
|
Before upgrading, be sure to review the Upgrade Issues
Install using RPM
Install using tarball
Install the .lrp
Upgrade using RPM
Upgrade using tarball
Upgrade the .lrp
Configuring Shorewall
Uninstall/Fallback
To install Shorewall using the RPM:
If you have RedHat 7.2 and are running iptables version 1.2.3 (at a
shell prompt, type "/sbin/iptables --version"), you must upgrade to version
1.2.4 either from the RedHat update
site or from the Shorewall Errata page before
attempting to start Shorewall.
- Install the RPM (rpm -ivh <shorewall rpm>).
Note: Some SuSE users have encountered a problem whereby rpm
reports a conflict with kernel <= 2.2 even though a 2.4 kernel is
installed. If this happens, simply use the --nodeps option to rpm (rpm
-ivh --nodeps <shorewall rpm>).
- Edit the configuration files to match
your configuration. WARNING - YOU CAN NOT
SIMPLY INSTALL THE RPM AND ISSUE A "shorewall start" COMMAND. SOME CONFIGURATION
IS REQUIRED BEFORE THE FIREWALL WILL START. IF YOU ISSUE A "start" COMMAND
AND THE FIREWALL FAILS TO START, YOUR SYSTEM WILL NO LONGER ACCEPT ANY
NETWORK TRAFFIC. IF THIS HAPPENS, ISSUE A "shorewall clear" COMMAND TO
RESTORE NETWORK CONNECTIVITY.
- Start the firewall by typing "shorewall start"
To install Shorewall using the tarball
and install script:
- unpack the tarball (tar -zxf shorewall-x.y.z.tgz).
- cd to the shorewall directory (the version is encoded in the
directory name as in "shorewall-1.1.10").
- If you are using Caldera, RedHat, Mandrake, Corel, Slackware or Debian then type "./install.sh"
- If you are using SuSe then type
"./install.sh /etc/init.d"
- If your distribution has directory /etc/rc.d/init.d
or /etc/init.d then type "./install.sh"
- For other distributions, determine where your distribution
installs init scripts and type "./install.sh <init script
directory>
- Edit the configuration files to match
your configuration.
- Start the firewall by typing "shorewall start"
- If the install script was unable to configure Shorewall to be started
automatically at boot, see these instructions.
To install my version of Shorewall on a fresh Bering
disk, simply replace the "shorwall.lrp" file on the image with the file that
you downloaded. See the two-interface QuickStart
Guide for information about further steps required.
If you already have the Shorewall RPM installed
and are upgrading to a new version:
If you are upgrading from a 1.2 version of Shorewall to a 1.3 version
and you have entries in the /etc/shorewall/hosts file then please check
your /etc/shorewall/interfaces file to be sure that it contains an entry
for each interface mentioned in the hosts file. Also, there are certain
1.2 rule forms that are no longer supported under 1.3 (you must use the
new 1.3 syntax). See the upgrade issues for
details. You can check your rules and host file for 1.3 compatibility using
the "shorewall check" command after installing the latest version of 1.3.
If you already have Shorewall installed
and are upgrading to a new version using the tarball:
If you are upgrading from a 1.2 version of Shorewall to a 1.3 version
and you have entries in the /etc/shorewall/hosts file then please check
your /etc/shorewall/interfaces file to be sure that it contains an entry
for each interface mentioned in the hosts file. Also, there are certain
1.2 rule forms that are no longer supported under 1.3 (you must use the
new 1.3 syntax). See the upgrade issues
for details. You can check your rules and host file for 1.3 compatibility
using the "shorewall check" command after installing the latest version
of 1.3.
- unpack the tarball (tar -zxf shorewall-x.y.z.tgz).
- cd to the shorewall directory (the version is encoded in the
directory name as in "shorewall-3.0.1").
- If you are using Caldera, RedHat, Mandrake, Corel, Slackware or Debian then type "./install.sh"
- If you are using SuSe then type
"./install.sh /etc/init.d"
- If your distribution has directory /etc/rc.d/init.d
or /etc/init.d then type "./install.sh"
- For other distributions, determine where your distribution
installs init scripts and type "./install.sh <init script
directory>
- See if there are any incompatibilities between your configuration
and the new Shorewall version (type "shorewall check") and correct as
necessary.
- Restart the firewall by typing "shorewall restart"
If you already have a running Bering installation
and wish to upgrade to a later version of Shorewall:
UNDER CONSTRUCTION...
Configuring Shorewall
You will need to edit some or all of these configuration files to match
your setup. In most cases, the Shorewall QuickStart Guides
contain all of the information you need.
- /etc/shorewall/shorewall.conf - used to set several firewall
parameters.
- /etc/shorewall/params - use this file to set shell variables that
you will expand in other files.
- /etc/shorewall/zones - partition the firewall's view of the world
into zones.
- /etc/shorewall/policy - establishes firewall high-level policy.
- /etc/shorewall/interfaces - describes the interfaces on the
firewall system.
- /etc/shorewall/hosts - allows defining zones in terms of individual
hosts and subnetworks.
- /etc/shorewall/maclist - verification of the MAC addresses of devices.
- /etc/shorewall/masq - directs the firewall where to use many-to-one
(dynamic) NAT a.k.a. Masquerading.
- /etc/shorewall/modules - directs the firewall to load kernel modules.
- /etc/shorewall/rules - defines rules that are exceptions to the
overall policies established in /etc/shorewall/policy.
- /etc/shorewall/nat - defines static NAT rules.
- /etc/shorewall/proxyarp - defines use of Proxy ARP.
- /etc/shorewall/routestopped (Shorewall 1.3.4 and later) - defines
hosts accessible when Shorewall is stopped.
- /etc/shorewall/tcrules - defines marking of packets for later use
by traffic control/shaping.
- /etc/shorewall/tos - defines rules for setting the TOS field in
packet headers.
- /etc/shorewall/tunnels - defines IPSEC tunnels with end-points on
the firewall system.
- /etc/shorewall/blacklist - lists blacklisted IP/subnet/MAC addresses.
Updated 1/30/2003 - Tom Eastep
Copyright © 2001, 2002, 2003 Thomas M. Eastep.