Red Hat Bugzilla – Bug 472762
Shorewall doesn't load saved state correctly on startup.
Last modified: 2009-07-14 10:17:29 EDT
Description of problem: I installed shorewall-4.0.14-2.fc9.noarch and set-up a basic 2-interface firewall with it. In order to save time on startup, I put the line "OPTIONS=-f" in /etc/sysconfig/shorewall so shorewall will load pre-compiled rules previously saved by "shorewall save". After I updated my Kernel to kernel-2.6.27.7-50.fc9.i686 (a Koji build, not from update repo), shorewall seems to be unable to load the saved state on startup. Previously I opened a bunch of ports on my interfaces but they are not honored. Instead, all ports are closed. This appears after every reboot even if I manually compile and save the rules again. I don't know whether it's indeed a shorewall or kernel problem. However, I can't see anything suspicious in dmesg or /var/log/messages. There's an upstream update available (shorewall 4.2) but I don't know whether this fixes the problem. Version-Release number of selected component (if applicable): shorewall-4.0.14-2.fc9.noarch How reproducible: Always (?) Steps to Reproduce: 1. Save state by "shorewall save" 2. Reboot. 3. Actual results: Opened ports are not remembered. All ports are closed. Expected results: Ports specified in /etc/shorewall/rules should have been opened. Additional info: A workaround is, of course, compile shorewall rules every time after bootup. That pretty defeats the purpose of using the saved state.
A quick update: It seems this bug is not always reproducible. I just now rebooted the machine and all things went well so far. I'll report back when more info is available. Thanks.
Hm. I just tried /sbin/shorewall save on an F-9 machine, and SElinux actually prevents the save file from being created (which is itself a bug that needs fixing). If you have SElinux in enforcing mode, I expect you're not actually creating the save file. So, can you confirm that the save file actually exists and has content as a first step. Regarding shorewal 4.2.x - I don't plan to upgrade F-9 to the 4.2 releases, as it is incompatible with the 4.0.x release config files in several ways, so upgrading may break people's working set ups. 4.2.x is available in F-10 though.
As an aside, note that starting the firewall using -f isn't actually noticably faster than recompiling the rule set if you use the perl compiler. It is faster than the legacy shell compiler though.
(In reply to comment #2) > Hm. I just tried /sbin/shorewall save on an F-9 machine, and SElinux actually > prevents the save file from being created (which is itself a bug that needs > fixing). If you have SElinux in enforcing mode, I expect you're not actually > creating the save file. So, can you confirm that the save file actually exists > and has content as a first step. > > Regarding shorewal 4.2.x - I don't plan to upgrade F-9 to the 4.2 releases, as > it is incompatible with the 4.0.x release config files in several ways, so > upgrading may break people's working set ups. 4.2.x is available in F-10 > though. Hi, I have experienced the same SELinux denial before so I changed the offending file's (/var/lib/shorewall/save) SELinux context type to "iptables_t" and there were no further access denials. Also, at the time the bug was triggered, SELinux was in permissive mode...
OK, but did /var/lib/shorewall/save and /var/lib/shorewall/restore actually contain content after you'd executed shorewall save? Knowing that will help us work out if the problem is at save or restore time.
Created attachment 324686 [details] /var/lib/shorewall/restore
Created attachment 324687 [details] /var/lib/shorewall/save
This message is a reminder that Fedora 9 is nearing its end of life. Approximately 30 (thirty) days from now Fedora will stop maintaining and issuing updates for Fedora 9. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '9'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 9's end of life. Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 9 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora please change the 'version' of this bug to the applicable version. If you are unable to change the version, please add a comment here and someone will do it for you. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Fedora 9 changed to end-of-life (EOL) status on 2009-07-10. Fedora 9 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. Thank you for reporting this bug and we are sorry it could not be fixed.