Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 328521 - net-firewall/shorewall-perl-4.2.11.1: Start fails on boot with masq (NAT)
Summary: net-firewall/shorewall-perl-4.2.11.1: Start fails on boot with masq (NAT)
Status: RESOLVED TEST-REQUEST
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Server (show other bugs)
Hardware: AMD64 Linux
: High major
Assignee: Tony Vroon (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-16 01:12 UTC by Chris Ribble
Modified: 2011-02-12 16:54 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Chris Ribble 2010-07-16 01:12:23 UTC
After the changes from bug 288992, shorewall no longer successfully starts on boot with masq (NAT) configured.

When I reboot my router (which runs shorewall and uses the masq file to define the NAT) shorewall fails to start. This causes a loss of ALL internet access from every PC on my network and requires me to log into the router via the console (to restart shorewall).

Checking the console on the router shows this message:
"ERROR: Unable to determine the routes through interface eth_lan"

From the shorewall documentation:
"ERROR: Unable to determine the routes through interface <interface>

    You have specified <interface> in the SUBNET column of /etc/shorewall/masq which means that Shorewall is supposed to determine the network(s) routed through that interface. To do that, Shorewall issues the command ip addr ls dev <interface> and that command failed. This usually means that you are trying to start Shorewall before the <interface> is brought up."


Reproducible: Always

Steps to Reproduce:
1. Install net-firewall/shorewall-perl-4.2.11.1
2. Configure masq in /etc/shorewall/masq
3. Add shorewall to default run level
4. Reboot
5. Observe console for error

Actual Results:  
Shorewall fails to start on boot with masq (NAT) configured because the network devices have not come up yet.

Expected Results:  
Shorewall should start, even if this means waiting for network devices to come up.

This is a serious issue that affects anyone using shorewall to do NAT; I can not update any routers to recent version of shorewall without this issue being resolved.
Comment 1 Vieri 2010-07-16 16:37:25 UTC
From http://www1.shorewall.net/pub/shorewall/4.4/shorewall-4.4.11/releasenotes.txt :

"Shorewall 4.4.10 includes a new 'Shorewall Init' package."

This should address your issue but requires emerging ~.

Comment 2 Phillip Merensky 2010-10-26 17:57:04 UTC
This happened to me also. Additionally it took me nearly two hours to find the solution and describe it to the guy having physical access to the machine. 

Would it be possible to mark this package as unstable or even mask it? When installing a stable package I normally expect no errors like this or at least no errors which make a remote system completely unusable.

From shorewall upgrade perspective their is no chance to find out about this error.
Comment 3 Phillip Merensky 2010-10-26 18:01:21 UTC
The bug for me was related to 
net-firewall/shorewall-common-4.2.11-r1
net-firewall/shorewall-perl-4.2.11.1
Comment 4 Ian Abbott 2010-11-02 10:58:53 UTC
I hit the same problem.  A workaround is to replace the SOURCE interface name (second column) of /etc/shorewall/masq with a network address and netmask (e.g. 192.168.1.0/24).  It's also possible to use a comma-separated list if you have several subnets that need masquerading.
Comment 5 David Sparks 2010-12-18 00:48:40 UTC
(In reply to comment #2)
> This happened to me also. Additionally it took me nearly two hours to find the
> solution and describe it to the guy having physical access to the machine. 
> 
> Would it be possible to mark this package as unstable or even mask it? When
> installing a stable package I normally expect no errors like this or at least
> no errors which make a remote system completely unusable.

This would've been the right thing to do (and saved me a trip to the colo).  I don't understand why after a critical regression is discovered nothing is done about it?  Especially a regression with a firewall?  

> From shorewall upgrade perspective their is no chance to find out about this
> error.

Comes up pretty fast after a reboot. 

Comment 6 Constanze Hausner (RETIRED) gentoo-dev 2011-02-12 16:54:10 UTC
Does this problem still exist with the newer versions?