Provided by: shorewall_4.4.21-1_all bug


       exclusion - Exclude a set of hosts from a definition in a shorewall
       configuration file.





       The first form of exclusion is used when you wish to exclude one or
       more addresses from a definition. An exclaimation point is followed by
       a comma-separated list of addresses. The addresses may be single host
       addresses (e.g., or they may be network addresses in CIDR
       format (e.g., If your kernel and iptables include
       iprange support, you may also specify ranges of ip addresses of the
       form lowaddress-highaddress

       No embedded whitespace is allowed.

       Exclusion can appear after a list of addresses and/or address ranges.
       In that case, the final list of address is formed by taking the first
       list and then removing the addresses defined in the exclusion.

       Beginning in Shorewall 4.4.13, the second form of exclusion is allowed
       after all and any in the SOURCE and DEST columns of
       /etc/shorewall/rules. It allows you to omit arbitrary zones from the
       list generated by those key words.

           If you omit a sub-zone and there is an explicit or explicit
           CONTINUE policy, a connection to/from that zone can still be
           matched by the rule generated for a parent zone.

           For example:


               #ZONE          TYPE
               z1             ip
               z2:z1          ip


               #SOURCE         DEST          POLICY
               z1              net           CONTINUE
               z2              net           REJECT


               #ACTION         SOURCE        DEST        PROTO         DEST
               #                                                       PORT(S)
               ACCEPT          all!z2        net         tcp           22

           In this case, SSH connections from z2 to net will be accepted by
           the generated z1 to net ACCEPT rule.

       In most contexts, ipset names can be used as an address-or-range.
       Beginning with Shorewall 4.4.14, ipset lists enclosed in +[...] may
       also be included (see shorewall-ipsets[1] (5)). The semantics of these
       lists when used in an exclusion are as follows:

       ·   !+[set1,set2,...setN] produces a packet match if the packet does
           not match at least one of the sets. In other words, it is like NOT
           match set1 OR NOT match set2 ... OR NOT match setN.

       ·   +[!set1,!set2,...!setN] produces a packet match if the packet does
           not match any of the sets. In other words, it is like NOT match
           set1 AND NOT match set2 ... AND NOT match setN.


       Example 1 - All IPv4 addresses except

       Example 2 - All IPv4 addresses except the network and
       the host

       Example 3 - All IPv4 addresses except the range and the network

       Example 4 - The network except hosts and

       Example 5 - All parent zones except loc







       shorewall(8), shorewall-accounting(5), shorewall-actions(5),
       shorewall-blacklist(5), shorewall-hosts(5), shorewall_interfaces(5),
       shorewall-ipsets(5), shorewall-maclist(5), shorewall-masq(5),
       shorewall-nat(5), shorewall-netmap(5), shorewall-params(5),
       shorewall-policy(5), shorewall-providers(5), shorewall-proxyarp(5),
       shorewall-route_rules(5), shorewall-routestopped(5),
       shorewall-rules(5), shorewall.conf(5), shorewall-secmarks(5),
       shorewall-tcclasses(5), shorewall-tcdevices(5), shorewall-tcrules(5),
       shorewall-tos(5), shorewall-tunnels(5), shorewall-zones(5)


        1. shorewall-ipsets

[FIXME: source]                   07/10/2011            SHOREWALL-EXCLUSION(5)