shorewall-zones5Configuration FileszonesShorewall zone declaration file/etc/shorewall/zonesDescriptionThe /etc/shorewall/zones file declares your network zones. You
specify the hosts in each zone through entries in
/etc/shorewall/interfaces or
/etc/shorewall/hosts.The columns in the file are as follows (where the column name is
followed by a different name in parentheses, the different name is used in
the alternate specification syntax).ZONE -
zone[:parent-zone[,parent-zone]...]Name of the zone. Must start with a
letter and consist of letters, digits or '_'. The names "all",
"none", "any", "SOURCE" and "DEST" are reserved and may not be used
as zone names. The maximum length of a zone name is determined by
the setting of the LOGFORMAT option in shorewall.conf(5). With
the default LOGFORMAT, zone names can be at most 5 characters
long.
The maximum length of an iptables log prefix is 29 bytes. As
explained in shorewall.conf (5),
the legacy default LOGPREFIX formatting string is
“Shorewall:%s:%s:” where the first %s is replaced by the chain
name and the second is replaced by the disposition.The "Shorewall:%s:%s:" formatting string has 12 fixed
characters ("Shorewall" and three colons).The longest of the standard dispositions are ACCEPT and
REJECT which have 6 characters each.The canonical name for the chain containing the rules
for traffic going from zone 1 to zone 2 is "<zone
1>2<zone 2>" or "<zone 1>-<zone
2>".So if M is the maximum zone name length, such chains can
have length 2*M + 1.12 + 6 + 2*M + 1 = 29 which reduces to2*M = 29 - 12 - 6 - 1 = 10 orM = 5In Shorewall 5.1.0, the LOGFORMAT in the default and sample
shorewall.conf files was changed to "%s:%s ".That formatting string has 2 fixed characters (":" and a
space).So the maximum zone name length M is calculated
as:2 + 6 + 2*M + 1 = 292M = 29 - 2 - 6 - 1 = 20M = 10
The order in which Shorewall matches addresses from packets to
zones is determined by the order of zone declarations. Where a zone
is nested in one or more other zones, you may either ensure that the
nested zone precedes its parents in this file, or you may follow the
(sub)zone name by ":" and a comma-separated list of the parent
zones. The parent zones must have been declared in earlier records
in this file. See shorewall-nesting(5)
for additional information.Example:#ZONE TYPE OPTIONS IN OPTIONS OUT OPTIONS
a ip
b ip
c:a,b ipCurrently, Shorewall uses this information to reorder the zone
list so that parent zones appear after their subzones in the list.
The IMPLICIT_CONTINUE option in shorewall.conf(5) can
also create implicit CONTINUE policies to/from the subzone.Where an ipsec zone is
explicitly included as a child of an ip zone, the ruleset allows CONTINUE policies
(explicit or implicit) to work as expected.In the future, Shorewall may make additional use of nesting
information.TYPEipThis is the standard Shorewall zone type and is the
default if you leave this column empty or if you enter "-" in
the column. Communication with some zone hosts may be
encrypted. Encrypted hosts are designated using the 'ipsec'
option in shorewall-hosts(5).
For clarity, this zone type may be specified as
in IPv4 configurations and
in IPv6 configurations.ipsecCommunication with all zone hosts is encrypted. Your
kernel and iptables must include policy match support. For
clarity, this zone type may be specified as
in IPv4 configurations and
in IPv6 configurations.firewallDesignates the firewall itself. You must have exactly
one 'firewall' zone. No options are permitted with a
'firewall' zone. The name that you enter in the ZONE column
will be stored in the shell variable $FW which you may use in
other configuration files to designate the firewall
zone.bportThe zone is associated with one or more ports on a
single bridge. For clarity, this zone type may be specified as
in IPv4 configurations and
in IPv6 configurations.vserverAdded in Shorewall 4.4.11 Beta 2 - A zone composed of
Linux-vserver guests. The zone contents must be defined in
shorewall-hosts
(5).Vserver zones are implicitly handled as subzones of the
firewall zone.loopbackAdded in Shorewall 4.5.17.Normally, Shorewall treats the loopback interface (lo)
in the following way:By default, all traffic through the interface is
ACCEPTed.If a $FW -> $FW policy is defined or $FW ->
$FW rules are defined, they are placed in a chain named
${FW}2${F2} or ${FW}-${FW} (e.g., 'fw2fw' or 'fw-fw' )
depending on the ZONE2ZONE setting in shorewall.conf(5).$FW -> $FW traffic is only filtered in the OUTPUT
chain.By defining a loopback
zone and associating it with the loopback interface in
shorewall-interfaces(5), you can effect a slightly different
model. Suppose that the loopback zone name is 'local';
then:Both $FW -> local and local -> $FW chains are
created.The $FW -> local and local -> $FW policies may
be different.Both $FW -> local and local -> $FW rules may
be specified.Rules to/from the loopback zone and any zone other than
the firewall zone are ignored with a warning.loopback zones may be
nested within other loopback
zones.localAdded in Shorewall 4.5.17. local is the same as ipv4 with the exception that the zone
is only accessible from the firewall and vserver zones.OPTIONS, IN OPTIONS and OUT
OPTIONS (options, in_options, out_options) -
[option[,option]...]A comma-separated list of options. With the exception of the
and options, these
only apply to TYPE zones.dynamic_sharedAdded in Shorewall 4.5.9. May only be specified in the
OPTIONS column and indicates that only a single ipset should
be created for this zone if it has multiple dynamic entries in
shorewall-hosts(5).
Without this option, a separate ipset is created for each
interface.reqid=numberwhere number is specified using
setkey(8) using the 'unique:number option
for the SPD level.spi=<number>where number is the SPI of the SA
used to encrypt/decrypt packets.proto=ah|esp|ipcompIPSEC Encapsulation Protocolmss=numbersets the MSS field in TCP packets. If you supply this
option, you should also set FASTACCEPT=No in shorewall.conf(5)
to insure that both the SYN and SYN,ACK packets have their MSS
field adjusted.mode=transport|tunnelIPSEC modetunnel-src=address[/mask]only available with mode=tunneltunnel-dst=address[/mask]only available with mode=tunnelstrictMeans that packets must match all rules.nextSeparates rules; can only be used with strictThe options in the OPTIONS column are applied to both incoming
and outgoing traffic. The IN OPTIONS are applied to incoming traffic
(in addition to OPTIONS) and the OUT OPTIONS are applied to outgoing
traffic.If you wish to leave a column empty but need to make an entry
in a following column, use "-".FILES/etc/shorewall/zones/etc/shorewall6/zonesSee ALSOhttp://www.shorewall.net/Multiple_Zones.html.http://www.shorewall.net/configuration_file_basics.htm#Pairsshorewall(8)