-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hi all!
This morning we upgraded one of our firewalls, moving from an old
shorewall 4.0.6 to a more current 4.5.4 (CentOS 6.6 RPM -
shorewall-4.5.4-1.el6.noarch).
Everything went OK, with the exception of some DNAT rules. In short:
- - we're running a three-interfaces firewall, with:
- "em1" and "em3" bridged into "br0"
- "em2" used as an 802.1q trunk with several VLANs associated to various
zones/interfaces:
[.......zones.........]
fw firewall
brdg ipv4
net:brdg bport4
dmz:brdg bport4
loc ipv4
mngmt ipv4
...
[^^^^^^^^^^^^^^^^^^^^^^]
[..... interfaces ......]
brdg br0 detect bridge,[...]
net br0:em1
dmz br0:em3
loc em2.51
voser em2.20 # voip server
ibver em2.21 # ibrida verde
...
[^^^^^^^^^^^^^^^^^^^^^^^^]
- - among a quite long series of "rules", we have this one:
[...... rules ......]
DNAT brdg loc:172.18.10.10 tcp 22,25,110,143 - 129.176.15.10
[^^^^^^^^^^^^^^^^^^^]
that, unfortunatly, was not working properly.
After some investigation, we saw that even though shorewall properly
compiled the underlying iptables/netfilter DNAT rules, such rule *IS
NEVER REACHED*. In detail, we saw that:
- - in the PREROUTING chain there were a single JUMP to the "dnat" chain;
- - our DNAT-rule were correctly placed in the "brdg_dnat" chain;
- - along the "dnat" chain, a jump to the "brdg_dnat" chain were *NOT*
reached, due to a couple of RETURN, handling 100% of the bridge-incoming
traffic.
In short:
[----- shorewall show -t nat -------]
Counters reset Thu Mar 26 01:06:22 CET 2015
Chain PREROUTING (policy ACCEPT 2729 packets, 212K bytes)
pkts bytes target prot opt in out source
destination
2730 212K dnat all -- * * 0.0.0.0/0
0.0.0.0/0
[...]
Chain dnat (1 references)
pkts bytes target prot opt in out source
destination
1123 83892 RETURN all -- br0 * 0.0.0.0/0
0.0.0.0/0 PHYSDEV match --physdev-in em1
126 13770 RETURN all -- br0 * 0.0.0.0/0
0.0.0.0/0 PHYSDEV match --physdev-in em3
0 0 brdg_dnat all -- br0 * 0.0.0.0/0
0.0.0.0/0
[....]
Chain brdg_dnat (1 references)
pkts bytes target prot opt in out source
destination
0 0 DNAT tcp -- * * 0.0.0.0/0
129.176.15.10 multiport dports 22,25,110,143
to:172.18.10.10
[...]
[^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]
As it can clearly be seen from the "iptables-save" fragments:
- -------------------------------
- -A dnat -i br0 -m physdev --physdev-in em1 -j RETURN
- -A dnat -i br0 -m physdev --physdev-in em3 -j RETURN
- -A dnat -i br0 -j brdg_dnat
[....]
- -------------------------------
all the traffic coming to the bridge, via the "em1" interface or the
"em3" interface is simply matched by the first two rules and.... never
reach the third rule (...so to be properly managed by the real DNAT
chain/rules).
Is this a bug?
Or are we missing a major point in the 4.5.4 configuration?
Please note that, while searching for a definitive solution, we have
setup an "hack" by putting:
- ----------------
/sbin/iptables -t nat -D dnat -i br0 -m physdev --physdev-in em1 -j RETURN
/sbin/iptables -t nat -D dnat -i br0 -m physdev --physdev-in em3 -j RETURN
- ----------------
in /etc/shorewall/started and... now everything work correctly :-)
Should you need further information, don't hesitate to ask (I'm
deliberately avoinding to provide all the cfg files, as they are quite...
large and, in our opinion, not strictly related to the problem. But,
again, if you need info, please ask).
Cheers,
DV
- --
Damiano Verzulli
e-mail: [email protected]
- ---
possible?ok:while(!possible){open_mindedness++}
- ---
"Technical people tend to fall into two categories: Specialists
and Generalists. The Specialist learns more and more about a
narrower and narrower field, until he eventually, in the limit,
knows everything about nothing. The Generalist learns less and
less about a wider and wider field, until eventually he knows
nothing about everything." - William Stucke - AfrISPA
http://elists.isoc.org/mailman/private/pubsoft/2007-December/001935.html
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
iEYEARECAAYFAlUTUWYACgkQcwT9fsMT4SztJACdFoCwG4+ba20aydzoBaBJGiE+
EEwAn1A6PS48+V1wnIsJnotHBW4dX1DY
=OtBp
-----END PGP SIGNATURE-----
------------------------------------------------------------------------------
Dive into the World of Parallel Programming The Go Parallel Website, sponsored
by Intel and developed in partnership with Slashdot Media, is your hub for all
things parallel software development, from weekly thought leadership blogs to
news, videos, case studies, tutorials and more. Take a look and join the
conversation now. http://goparallel.sourceforge.net/
_______________________________________________
Shorewall-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/shorewall-users