The Shorewall team is pleased to announce the availability of Shorewall 4.4.25.
Problems corrected:
1) A defect in the optimizer that allowed incompatible rules to be
combined has been corrected.
Example:
Rule1: -i eth1 -j chainx
Rule in chainx: -i eth2 -j ACCEPT
Incorrect result: -i eth2 -j ACCEPT
With the change in this release, Rule1 will remain as it is.
2) Routes and rules added as a result of entries in
/etc/shorewall6/providers were previously not deleted by
''stop'' or ''restart''. Repeated
''restart'' commands could therefore
lead to an incorrect routing configuration.
3) Previously, capital letters were disallowed in IPv6 addresses. They
are now permitted.
4) If the COPY column in /etc/shorewall6/providers was non-empty,
previously a run-time error could occur when copying a table. The
diagnostic produced by ip was:
Either "to" is duplicate, or "cache" is garbage
5) When copying IPv6 routes, the generated script previously attempted
to copy ''cache'' entries. Those entries are now omitted.
6) Previously, the use of large provider numbers could cause some
Shorewall-generated routing rules to be ineffective.
Example (provider numbers 110 and 120):
0: from all lookup local
10109: from all fwmark 0x6e/0xff lookup 110
10119: from all fwmark 0x78/0xff lookup 120
11000: from 2001:470:1f04:262::1/64 lookup 110
11001: from 2001:470:c:316::1/64 lookup 120
32766: from all lookup main
47904: from 2001:470:8388::1 lookup 110 <========== 50464: from
2001:470:f032::1 lookup 120 <==========
Now, all routing rules generated by provider interface IP (and IP6)
addresses are created at priority 20000.
0: from all lookup local
10109: from all fwmark 0x6e/0xff lookup 110
10119: from all fwmark 0x78/0xff lookup 120
11000: from 2001:470:1f04:262::1/64 lookup 110
11001: from 2001:470:c:316::1/64 lookup 120
20000: from 2001:470:8388::1 lookup 110 <========== 20000: from
2001:470:f032::1 lookup 120 <========== 32766: from all lookup main
7) In some contexts, IPv6 addresses of the form ::i.j.k.l were
incorrectly classified as invalid by the configuration compiler.
New Features
1) The original static blacklisting implementation was
interface-oriented and only handled blacklisting by source
address. In Shorewall 4.4.12, the ability to blacklist by
destination address was added and blacklisting could be specified
as a ZONE option. This change, plus additional changes in
subsequent releases has lead to an implementation that is complex
and hard to extend.
In this release, a new static blacklisting facility has been
implemented. This facility is separate from the legacy facility, so
existing configurations will continue to work without change.
A BLACKLIST section has been added to the rules file. This section
is now the first section, having been added ahead of the ALL
section. The set of packets that are subject to blacklisting is
still governed by the setting of BLACKLISTNEWONLY in
shorewall.conf. The settings of BLACKLIST_LOGLEVEL and
BLACKLIST_DISPOSITION are not relevant to the new implementation.
Most of the actions available in other sections of the rules file
are available in the BLACKLIST section and logging is specified on
a rule-by-rule basis in the normal way.
In addition to the other actions available, a WHITELIST action has
been added which exempts matching packets from being passed to the
remaining rules in the section.
Each "zone2zone" chain (e.g., net2fw) that has blacklist rules has
a companion blacklisting chain. The name of the blacklisting chain
is formed by appending "~" to the zone2zone chain. For example,
''net2fw'' blacklist rules appear in the chain net2fw~.
There is a likelihood that multiple blacklisting chains will have
exactly the same rules. This is especially true when ''all''
is used
as the zone name in the SOURCE and/or DEST columns. When
optimization level 8 is used, these identical chains are combined
into a single chain with the name ~blacklistN, where N is a number
(possibly with multiple digits).
The ''nosurfs'' and ''tcpflags'' interface
options generate rules that
will be traversed prior to those in the BLACKLIST section. If you
want similar rules to be travered on packets that were not dropped
or rejected in the BLACKLIST chain, you can use the new
''DropSmurfs'' and/or ''TCPFlags'' standard
actions.
The DropSmurfs action has a single parameter whose default value
is ''-''. The action silently drops smurfs without
auditing. If you
want to audit these drops, use DropSmurfs(audit). Logging can be
specified in the normal way (e.g., DropSmurfs:info).
The TCPFlags action has two parameters whose default values are
DROP and -. The first action determines what is to be done with
matching packets and can have the values DROP, REJECT or ACCEPT. If
you want the action to be audited, pass ''audit'' in the
second
parameter.
Example: TCPFlags(REJECT,audit)
Again, logging is specified in the normal way.
The ''maclist'' interface option can also generate rules
that are
traversed prior to those in the BLACKLIST section. If you want them
to come after the the blacklist rules, simply recode your maclist
rules in the NEW section of the rules file. The ''macipmap''
ipset
type is ideally suited for this task.
Example: assumes the ipset name is macipmap and that the
zone to be verified is named wlan
/etc/shorewall/rules:
SECTION NEW
DROP:info wlan:!+macipmap all
2) ''6in4'' has been added as a synonum for
''6to4'' in the TYPE column of
the tunnels file.
3) The handling of IN_BANDWIDTH in both /etc/shorewall/tcdevices and
/etc/shorewall/tcinterfaces has been changed. Previously:
a) Simple rate/burst policing was applied using the value(s)
supplied.
b) IPv4 and IPv6 were policed separately.
Beginning with this release, you have the option of configuring a
rate estimated policing filter. This type of filter is discussed at
http://ace-host.stuart.id.au/russell/files/tc/doc/extimators.txt.
You specify an estimeting filter by preceding the IN-BANDWIDTH with
a tilde (''~'').
Example: ~40mbit
This example limits incoming traffic to an *average* rate of 40mbit.
There are two other other parameters that can be specified, in
addition to the average rate - <interval> and
<decay_interval>. There is an excellent description of these
parameters in the document referenced above.
Example: ~40mbit:1sec:8sec
In that example, the <interval> is 1 second and the
<decay_interval> is 8 seconds. If not given, the default values are
250ms and 4 seconds. Both parameters must be supplied if either is
supplied.
Also in this release, the policing of IPv4 and IPv6 has been
combined so a single filter is applied to all traffic on a
configured interface.
4) Shorewall6 now supports the ''balance'' and
''fallback'' provider
options. These options are restricted to one interface per
configuration for each option.
5) The scripts generated by Shorewall6 now support the
''enable'' and
''disable'' commands.
6) A ''MARK'' column has been added to the route_rules file.
See
shorewall-route_rules (5) and shorewall6-route_rules (5) for
details.
Thank you for using Shorewall.
-Tom
Tom Eastep \ When I die, I want to go like my Grandfather who
Shoreline, \ died peacefully in his sleep. Not screaming like
Washington, USA \ all of the passengers in his car
http://shorewall.net \________________________________________________
------------------------------------------------------------------------------
Get your Android app more play: Bring it to the BlackBerry PlayBook
in minutes. BlackBerry App World™ now supports Android™ Apps
for the BlackBerry® PlayBook™. Discover just how easy and
simple
it is! http://p.sf.net/sfu/android-dev2dev