Shorewall 1.2 Errata

IMPORTANT

If you use a Windows system to download a corrected script, be sure to run the script through dos2unix after you have moved it to your Linux system.

When the instructions say to install a corrected firewall script in /etc/shorewall/firewall, use the 'cp' (or 'scp') utility to overwrite the existing file. DO NOT REMOVE OR RENAME THE OLD /etc/shorewall/firewall before you do that. /etc/shorewall/firewall is a symbolic link that points to the 'shorewall' file used by your system initialization scripts to start Shorewall during boot and it is that file that must be overwritten with the corrected script.


Problems in Version 1.2

Version 1.2.13

Version 1.2.11

Both problems are corrected by this new version of /sbin/shorewall.

Sample Configurations:

All Versions through 1.2.10

ZONE HOST(S) OPTIONS
loc eth2:192.168.1.0/24 routestopped
loc ppp+:192.168.1.0/24  

All Versions through 1.2.8

Version 1.2.7

Version 1.2.7 is quite broken -- please install 1.2.8

If you have installed and started version 1.2.7 then before trying to restart under 1.2.8:

  1. Look at your /etc/shorewall/shorewall.conf file and note the directory named in the STATEDIR variable. If that variable is empty, assume /var/state/shorewall.
  2. Remove the file 'lock' in the directory determined in step 1.

You may now restart using 1.2.8.

Version 1.2.6

To correct the above problems, install this corrected firewall script in  /etc/shorewall/firewall..

Version 1.2.5

To correct the above problems, install this corrected firewall script in /etc/shorewall/firewall.

 

Version 1.2.4

Version 1.2.3

Alternatively, edit /etc/shorewall/firewall and change line 1564 from:

          run_iptables -A blacklst -d $addr -j LOG $LOGPARAMS --log-prefix \

to

          run_iptables -A blacklst -s $addr -j LOG $LOGPARAMS --log-prefix \

Version 1.2.2

       status)
clear

to this:

       status)
get_config
clear

Version 1.2.1

Version 1.2.0

Note: If you are upgrading from one of the Beta RPMs to 1.2.0, you must use the "--oldpackage" option to rpm (e.g., rpm -Uvh --oldpackage shorewall-1.2-0.noarch.rpm).

The tunnel script released in version 1.2.0 contained errors -- a corrected script is available.


Problem with iptables version 1.2.3

There are a couple of serious bugs in iptables 1.2.3 that prevent it from working with Shorewall. Regrettably, RedHat released this buggy iptables in RedHat 7.2. 

I have built a corrected 1.2.3 rpm which you can download here  and I have also built an iptables-1.2.4 rpm which you can download here. If you are currently running RedHat 7.1, you can install either of these RPMs before you upgrade to RedHat 7.2.

Update 11/9/2001: RedHat has released an iptables-1.2.4 RPM of their own which you can download from http://www.redhat.com/support/errata/RHSA-2001-144.html. I have installed this RPM on my firewall and it works fine.

If you would like to patch iptables 1.2.3 yourself, the patches are available for download. This patch which corrects a problem with parsing of the --log-level specification while this patch corrects a problem in handling the  TOS target.

To install one of the above patches:

Problems with kernel 2.4.18 and RedHat iptables

Users who use RedHat iptables RPMs and who upgrade to kernel 2.4.18 may experience the following:

# shorewall start
Processing /etc/shorewall/shorewall.conf ...
Processing /etc/shorewall/params ...
Starting Shorewall...
Loading Modules...
Initializing...
Determining Zones...
Zones: net
Validating interfaces file...
Validating hosts file...
Determining Hosts in Zones...
Net Zone: eth0:0.0.0.0/0
iptables: libiptc/libip4tc.c:380: do_check: Assertion
`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed.
Aborted (core dumped)
iptables: libiptc/libip4tc.c:380: do_check: Assertion
`h->info.valid_hooks == (1 << 0 | 1 << 3)' failed.
Aborted (core dumped)

The RedHat iptables RPM is compiled with debugging enabled but the user-space debugging code was not updated to reflect recent changes in the Netfilter 'mangle' table. You can correct the problem by installing this iptables RPM. If you are already running a 1.2.5 version of iptables, you will need to specify the --oldpackage option to rpm (e.g., "iptables -Uvh --oldpackage iptables-1.2.5-1.i386.rpm").

Last updated 5/24/2002 - Tom Eastep

Copyright © 2001, 2002 Thomas M. Eastep.