Shorewall Errata Tom Eastep 2004-09-02 2001-2004 Thomas M. Eastep 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. 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. If you are installing Shorewall for the first time and plan to use the .tgz and install.sh script, you can untar the archive, replace the firewall script in the untarred directory with the one you downloaded below, and then run install.sh. When the instructions say to install a corrected firewall script in /usr/share/shorewall/firewall, you may rename the existing file before copying in the new file. DO NOT INSTALL CORRECTED COMPONENTS ON A RELEASE EARLIER THAN THE ONE THAT THEY ARE LISTED UNDER BELOW. For example, do NOT install the 2.0.2 firewall script if you are running 2.0.0-RC2
RFC1918 File Here is the most up to date version of the rfc1918 file. This file only applies to Shorewall version 2.0.0 and its bugfix updates. In Shorewall 2.0.1 and later releases, the bogons file lists IP ranges that are reserved by the IANA and the rfc1918 file only lists those three ranges that are reserved by RFC 1918.
Bogons File Here is the most up to date version of the bogons file.
Problems in Version 2.0
Shorewall 2.0.3 through 2.0.8 An empty PROTO column in /etc/shorewall/tcrules produced iptables errors during shorewall start. A value of all in that column produced a similar error. Corrected in this firewall script which may be installed in /usr/share/shorewall/firewall as described above.
Shorewall 2.0.3a through 2.0.7 Entries in the USER/GROUP column of an action file (made from action.template) may be ignored or cause odd errors. Corrected in this firewall script which may be installed in /usr/share/shorewall/firewall as described above.
Shorewall 2.0.3a through 2.0.4 Error messages regarding $RESTOREBASE occur during shorewall stop if DISABLE_IPV6=Yes in shorewall.conf. Corrected in this firewall script which may be installed in /usr/share/shorewall/firewall as described above. Also fixed in Shorewall Version 2.0.5.
Shorewall 2.0.2 and all Shorewall 2.0.3 Releases. DNAT rules with fw as the source zone and that specify logging cause shorewall start to fail with an iptables error. The problem is corrected for Shorewall 2.0.3 users in this firewall script which may be installed in /usr/share/shorewall/firewall as described above.
Shorewall 2.0.3a and 2.0.3b Error messages regarding $RESTOREBASE occur during shorewall stop. If CLEAR_TC=Yes in shorewall.conf, shorewall stop fails without removing the lock file. The above problems are corrected in Shorewall version 2.0.3c.
Shorewall 2.0.3a Slackware users find that version 2.0.3a fails to start because their mktemp utility does not support the -d option. This may be corrected by installing this corrected functions file in /var/lib/shorewall/functions. Shorewall fails to start if there is no mktemp utility. These problems are corrected in Shorewall version 2.0.3b.
Shorewall 2.0.3 A non-empty entry in the DEST column of /etc/shorewall/tcrules will result in an error message and Shorewall fails to start. This problem is fixed in Shorewall version 2.0.3a. A potentially exploitable vulnerability in the way that Shorewall handles temporary files and directories has been found by Javier Fernández-Sanguino Peña. This vulnerability is corrected in Shorewall 2.0.3a. All Shorewall 2.0.x users are urged to upgrade to 2.0.3a.
Shorewall 2.0.2 Temporary restore files with names of the form restore-nnnnn are left in /var/lib/shorewall. "shorewall restore" and "shorewall -f start" do not load kernel modules. The above two problems are corrected in Shorewall 2.0.2a Specifying a null common action in /etc/shorewall/actions (e.g., :REJECT) results in a startup error. If /var/lib/shorewall does not exist, shorewall start fails. The above four problems are corrected in Shorewall 2.0.2b DNAT rules work incorrectly with dynamic zones in that the source interface is not included in the nat table DNAT rule. The above five problems are corrected in Shorewall 2.0.2c During start and restart, Shorewall is detecting capabilities before loading kernel modules. Consequently, if kernel module autoloading is disabled, capabilities can be mis-detected during boot. The newnotsyn option in /etc/shorewall/hosts has no effect. The above seven problems are corrected in Shorewall 2.0.2d Use of the LOG target in an action results in two LOG or ULOG rules. The above eight problems are corrected in Shorewall 2.0.2e Kernel modules fail to load when MODULE_SUFFIX isn't set in shorewall.conf All of the above problems are corrected in Shorewall 2.0.2f These problems are all corrected by the firewall and functions files in this directory. Both files must be installed in /usr/share/shorewall/ as described above.
Shorewall 2.0.1 Confusing message mentioning IPV6 occur at startup. Modules listed in /etc/shorewall/modules don't load or produce errors on Mandrake 10.0 Final. The shorewall delete command does not remove all dynamic rules pertaining to the host(s) being deleted. These problems are corrected in this firewall script which may be installed in /usr/share/shorewall/firewall as described above. When run on a SuSE system, the install.sh script fails to configure Shorewall to start at boot time. That problem is corrected in this version of the script.
Shorewall 2.0.1/2.0.0 On Debian systems, an install using the tarball results in an inability to start Shorewall at system boot. If you already have this problem, install this file as /etc/init.d/shorewall (replacing the existing file with that name). If you are just installing or upgrading to Shorewall 2.0.0 or 2.0.1, then replace the init.debian.sh file in the Shorewall distribution directory (shorewall-2.0.x) with the updated file before running install.sh from that directory.
Shorewall 2.0.0 When using an Action in the ACTIONS column of a rule, you may receive a warning message about the rule being a policy. While this warning may be safely ignored, it can be eliminated by installing the script from the link below. Thanks to Sean Mathews, a long-standing problem with Proxy ARP and IPSEC has been corrected. The first problem has been corrected in Shorewall update 2.0.0a. All of these problems may be corrected by installing this firewall script in /usr/share/shorewall as described above.
Upgrade Issues The upgrade issues have moved to a separate page.
Problem with iptables 1.2.9 If you want to use the new features in Shorewall 2.0.2 (Betas, RCs, Final) or later then you need to patch your iptables 1.2.9 with this patch or you need to use the CVS version of iptables.
Problems with RH Kernels after 2.4.20-9 and REJECT (also applies to 2.4.21-RC1) Beginning with errata kernel 2.4.20-13.9, REJECT --reject-with tcp-reset is broken. The symptom most commonly seen is that REJECT rules act just like DROP rules when dealing with TCP. A kernel patch and precompiled modules to fix this problem are available at ftp://ftp1.shorewall.net/pub/shorewall/errata/kernel RedHat have corrected this problem in their 2.4.20-27.x kernels.