mirror of
https://gitlab.com/shorewall/code.git
synced 2024-11-15 20:24:09 +01:00
4322d7b2af
Signed-off-by: Tom Eastep <teastep@shorewall.net>
163 lines
5.2 KiB
XML
163 lines
5.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
|
|
<refentry>
|
|
<refmeta>
|
|
<refentrytitle>shorewall-exclusion</refentrytitle>
|
|
|
|
<manvolnum>5</manvolnum>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>exclusion</refname>
|
|
|
|
<refpurpose>Exclude a set of hosts from a definition in a shorewall
|
|
configuration file.</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<cmdsynopsis>
|
|
<arg choice="plain"
|
|
rep="repeat"><option>!</option><replaceable>address-or-range</replaceable>[,<replaceable>address-or-range</replaceable>]</arg>
|
|
</cmdsynopsis>
|
|
|
|
<cmdsynopsis>
|
|
<arg choice="plain"
|
|
rep="repeat"><option>!</option><replaceable>zone-name</replaceable>[,<replaceable>zone-name</replaceable>]</arg>
|
|
</cmdsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>Description</title>
|
|
|
|
<para>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., 192.168.1.4) or they may be network addresses in CIDR
|
|
format (e.g., 192.168.1.0/24). If your kernel and iptables include iprange
|
|
support, you may also specify ranges of ip addresses of the form
|
|
<emphasis>lowaddress</emphasis>-<emphasis>highaddress</emphasis></para>
|
|
|
|
<para>No embedded whitespace is allowed.</para>
|
|
|
|
<para>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.</para>
|
|
|
|
<para>Beginning in Shorewall 4.4.13, the second form of exclusion is
|
|
allowed after <emphasis role="bold">all</emphasis> and <emphasis
|
|
role="bold">any</emphasis> 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.</para>
|
|
|
|
<warning>
|
|
<para>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.</para>
|
|
|
|
<para>For example:</para>
|
|
|
|
<blockquote>
|
|
<para>/etc/shorewall/zones:</para>
|
|
|
|
<programlisting>#ZONE TYPE
|
|
z1 ip
|
|
z2:z1 ip
|
|
...</programlisting>
|
|
|
|
<para>/etc/shorewall/policy:</para>
|
|
|
|
<programlisting>#SOURCE DEST POLICY
|
|
z1 net CONTINUE
|
|
z2 net REJECT</programlisting>
|
|
|
|
<para>/etc/shorewall/rules:</para>
|
|
|
|
<programlisting>#ACTION SOURCE DEST PROTO DEST
|
|
# PORT(S)
|
|
ACCEPT all!z2 net tcp 22</programlisting>
|
|
|
|
<para>In this case, SSH connections from <emphasis
|
|
role="bold">z2</emphasis> to <emphasis role="bold">net</emphasis> will
|
|
be accepted by the generated <emphasis role="bold">z1</emphasis> to
|
|
net ACCEPT rule.</para>
|
|
</blockquote>
|
|
</warning>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Examples</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>Example 1 - All IPv4 addresses except 192.168.3.4</term>
|
|
|
|
<listitem>
|
|
<para>!192.168.3.4</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Example 2 - All IPv4 addresses except the network 192.168.1.0/24
|
|
and the host 10.2.3.4</term>
|
|
|
|
<listitem>
|
|
<para>!192.168.1.0/24,10.1.3.4</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Example 3 - All IPv4 addresses except the range
|
|
192.168.1.3-192.168.1.12 and the network 10.0.0.0/8</term>
|
|
|
|
<listitem>
|
|
<para>!192.168.1.3-192.168.1.12,10.0.0.0/8</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Example 4 - The network 192.168.1.0/24 except hosts 192.168.1.3
|
|
and 192.168.1.9</term>
|
|
|
|
<listitem>
|
|
<para>192.168.1.0/24!192.168.1.3,192.168.1.9</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>Example 5 - All parent zones except loc</term>
|
|
|
|
<listitem>
|
|
<para>any!loc</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>FILES</title>
|
|
|
|
<para>/etc/shorewall/hosts</para>
|
|
|
|
<para>/etc/shorewall/masq</para>
|
|
|
|
<para>/etc/shorewall/rules</para>
|
|
|
|
<para>/etc/shorewall/tcrules</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>See ALSO</title>
|
|
|
|
<para>shorewall(8), shorewall-accounting(5), shorewall-actions(5),
|
|
shorewall-blacklist(5), shorewall-hosts(5), shorewall-interfaces(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-tcclasses(5), shorewall-tcdevices(5), shorewall-tcrules(5),
|
|
shorewall-tos(5), shorewall-tunnels(5), shorewall-zones(5)</para>
|
|
</refsect1>
|
|
</refentry>
|