forked from extern/shorewall_code
Remove error messages doc
git-svn-id: https://shorewall.svn.sourceforge.net/svnroot/shorewall/trunk@6700 fbd18981-670d-0410-9b5c-8dc0c1a9a2bb
This commit is contained in:
parent
aef34d7908
commit
8a933ff98a
@ -1,867 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<article>
|
||||
<!--$Id$-->
|
||||
|
||||
<articleinfo>
|
||||
<title>Shorewall Error Messages</title>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<firstname>Tom</firstname>
|
||||
|
||||
<surname>Eastep</surname>
|
||||
</author>
|
||||
</authorgroup>
|
||||
|
||||
<pubdate><?dbtimestamp format="Y/m/d"?></pubdate>
|
||||
|
||||
<copyright>
|
||||
<year>2004</year>
|
||||
|
||||
<year>2005</year>
|
||||
|
||||
<holder>Thomas M. Eastep</holder>
|
||||
</copyright>
|
||||
|
||||
<legalnotice>
|
||||
<para>Permission is granted to copy, distribute and/or modify this
|
||||
document under the terms of the GNU Free Documentation License, Version
|
||||
1.2 or any later version published by the Free Software Foundation; with
|
||||
no Invariant Sections, with no Front-Cover, and with no Back-Cover
|
||||
Texts. A copy of the license is included in the section entitled
|
||||
<quote><ulink url="GnuCopyright.htm">GNU Free Documentation
|
||||
License</ulink></quote>.</para>
|
||||
</legalnotice>
|
||||
</articleinfo>
|
||||
|
||||
<section>
|
||||
<title>Introduction</title>
|
||||
|
||||
<para>Shorewall can produce a wide variety of error messages when a
|
||||
problem is detected with your configuration. This article attempts to
|
||||
explain the cause of and cures for some of these messages.</para>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Messages Produced by /sbin/shorewall</title>
|
||||
|
||||
<para>Some error messages are produced by the /sbin/shorewall utility.
|
||||
These messages are detailed in this section.</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>ERROR: <label> must specify a simple file name:
|
||||
<name></term>
|
||||
|
||||
<listitem>
|
||||
<para>This means that you have specified a restore file name with a
|
||||
"/". Restore files must be simple file names with no slashes.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Shorewall is not properly installed</term>
|
||||
|
||||
<listitem>
|
||||
<para>The files <filename>/usr/share/shorewall/firewall</filename>
|
||||
and/or <filename>/usr/share/shorewall/version</filename> do not
|
||||
exist.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: <file name> exists and is not a saved Shorewall
|
||||
configuration</term>
|
||||
|
||||
<listitem>
|
||||
<para>The named file in <filename>/var/lib/shorewall</filename>
|
||||
exists but is not executable.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Reserved file name: <file name></term>
|
||||
|
||||
<listitem>
|
||||
<para>You have specified either <filename>save</filename> or
|
||||
<filename>restore-base</filename> as the name of a restore file --
|
||||
those names are reserved for use by Shorewall.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Currently-running Configuration Not Saved</term>
|
||||
|
||||
<listitem>
|
||||
<para>During processing of a <command>shorewall save</command>
|
||||
command, the <command>iptables-save</command> command failed.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: /var/lib/shorewall/restore-base does not exist</term>
|
||||
|
||||
<listitem>
|
||||
<para>The <command>shorewall start</command> and <command>shorewall
|
||||
restart</command> commands create a file called
|
||||
<filename>/var/lib/shorewall/restore-base</filename> which forms the
|
||||
basis for creating a restore file using <command>shorewall
|
||||
save</command>. This error message is issued when <command>shorewall
|
||||
save</command> is not able to find that file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: The program specified in IPTABLES does not exist or is
|
||||
not executable</term>
|
||||
|
||||
<listitem>
|
||||
<para>The IPTABLES option in
|
||||
<filename>/etc/shorewall/shorewall.conf</filename> specifies a file
|
||||
that is not executable.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Can't find iptables executable</term>
|
||||
|
||||
<listitem>
|
||||
<para>There is no executable file named "iptables" in any directory
|
||||
in $PATH.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: The program specified in SHOREWALL_SHELL does not exist
|
||||
or is not executable</term>
|
||||
|
||||
<listitem>
|
||||
<para>The SHOREWALL_SHELL option in
|
||||
<filename>/etc/shorewall/shorewall.conf</filename> names does not
|
||||
name an executable file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: /var/lib/shorewall/<file> exists and is not a saved
|
||||
Shorewall configuration</term>
|
||||
|
||||
<listitem>
|
||||
<para>The restore file (<file>) specified or implied in a
|
||||
<command>shorewall save</command> command already exists but is not
|
||||
executable (and hence cannot be a value restore file). Either
|
||||
remove/rename the file or specify a different file name.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Messages Produced by /usr/share/shorewall/firewall</title>
|
||||
|
||||
<para>The program <filename>/usr/share/shorewall/firewall</filename> is
|
||||
responsible for parsing the Shorewall configuration files and for creating
|
||||
and changing the Netfilter configuration. Some of the error messages
|
||||
generated by this program are listed below.</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>ERROR: Invalid nested zone syntax: :<parent-zone></term>
|
||||
|
||||
<listitem>
|
||||
<para>The zone name in the ZONE column of
|
||||
<filename>/etc/shorewall/zones</filename> may not start with a colon
|
||||
(":").</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Sub-zones of the firewall zone are not allowed</term>
|
||||
|
||||
<listitem>
|
||||
<para>The firewall zone may not be defined to have zones nested
|
||||
within it.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Parent zone not defined: <parent-zone></term>
|
||||
|
||||
<listitem>
|
||||
<para>When defining nested zones in
|
||||
<filename>/etc/shorewall/zones</filename>, the parent zone must be
|
||||
defined before any zones nested inside of it.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Zone name longer than 5 characters: <zone></term>
|
||||
|
||||
<listitem>
|
||||
<para>Zone names are restricted to 5 characters or less in
|
||||
length.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Illegal zone name "<zone>" in zones file</term>
|
||||
|
||||
<listitem>
|
||||
<para>The zone name quoted in the error message begins with a digit
|
||||
-- zone names must begin with an alphabetic character.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Reserved zone name "<zone>" in zones file</term>
|
||||
|
||||
<listitem>
|
||||
<para>The names "none" and "all" are reserved and may not be used as
|
||||
zone names in <filename>/etc/shorewall/zones</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Zone <zone> is defined more than once</term>
|
||||
|
||||
<listitem>
|
||||
<para>There are two records in
|
||||
<filename>/etc/shorewall/zones</filename> that define the named
|
||||
zone.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Your kernel and/or iptables does not support policy
|
||||
match</term>
|
||||
|
||||
<listitem>
|
||||
<para>You have defined a zone of type <emphasis
|
||||
role="bold">ipsec</emphasis> in
|
||||
<filename>/etc/shorewall/zones</filename> or have specified the
|
||||
ipsec option in an <filename>/etc/shorewall/hosts</filename> record
|
||||
but your kernel and/or iptables don't include policy match support
|
||||
-- see <ulink url="IPSEC-2.6.html">this article</ulink> for
|
||||
details.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: The firewall zone may not be nested</term>
|
||||
|
||||
<listitem>
|
||||
<para>You have defined a zone of type <emphasis
|
||||
role="bold">firewall</emphasis> to be nested inside another zone.
|
||||
Shorewall does not support such nesting.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: OPTIONS not allowed on the firewall zone</term>
|
||||
|
||||
<listitem>
|
||||
<para>The zone of type <emphasis role="bold">firewall</emphasis> may
|
||||
not have any options specified in the OPTIONS, IN OPTIONS or OUT
|
||||
OPTIONS columns of <filename>/etc/shorewall/zones</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Only one firewall zone may be defined</term>
|
||||
|
||||
<listitem>
|
||||
<para>You may have only one record in
|
||||
<filename>/etc/shorewall/zones</filename> that has type <emphasis
|
||||
role="bold">firewall</emphasis>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: No ipv4 or ipsec Zones Defined</term>
|
||||
|
||||
<listitem>
|
||||
<para>You must define at least one ipv4 or ipsec zone in
|
||||
<filename>/etc/shorewall/zones</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: No Firewall Zone Defined</term>
|
||||
|
||||
<listitem>
|
||||
<para>You must define one (and only one) zone if type <emphasis
|
||||
role="bold">firewall</emphasis> in
|
||||
<filename>/etc/shorewall/zones</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Invalid Mark or Mask value: <number></term>
|
||||
|
||||
<listitem>
|
||||
<para>Shorewall-assigned packet and connection marks are limited to
|
||||
the range 1-255.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Invalid zone definition for zone <zone></term>
|
||||
|
||||
<listitem>
|
||||
<para>The zone named in the message is defined to be associated with
|
||||
an interface in <filename>/etc/shorewall/interfaces</filename> yet
|
||||
it also has an entry for that same interface in
|
||||
<filename>/etc/shorewall/hosts</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Invalid zone (<zone>) in record
|
||||
"<record>"</term>
|
||||
|
||||
<listitem>
|
||||
<para>The zone named in the ZONE column of the listed record from
|
||||
<filename>/etc/shorewall/interfaces</filename> or
|
||||
<filename>/etc/shorewall/hosts</filename> is not defined in
|
||||
<filename>/etc/shorewall/zones</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: The routeback option may not be specified on a multi-zone
|
||||
interface</term>
|
||||
|
||||
<listitem>
|
||||
<para>The ZONE column of a record in
|
||||
<filename>/etc/shorewall/interfaces</filename> was empty ("-"). Such
|
||||
interfaces may not specify the <emphasis
|
||||
role="bold">routeback</emphasis> option.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: The "detectnets" option may not be used with a wild-card
|
||||
interface</term>
|
||||
|
||||
<listitem>
|
||||
<para>The interface name in the INTERFACE column is a wild-card
|
||||
(ends with "+"). Such interfaces may not specify the <emphasis
|
||||
role="bold">detectnets</emphasis> option.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Duplicate Interface <interface></term>
|
||||
|
||||
<listitem>
|
||||
<para>The named interface has two entries in
|
||||
<filename>/etc/shorewall/interfaces</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Invalid Interface Name: <interface></term>
|
||||
|
||||
<listitem>
|
||||
<para>The interface name contains a colon (":") or is "+". If the
|
||||
name includes a ":", you probably need to read <ulink
|
||||
url="Shorewall_and_Aliased_Interfaces.xml">this
|
||||
article</ulink>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: The 'norfc1918' option may not be specified on an
|
||||
interface with an RFC 1918 address. Interface:
|
||||
<interface></term>
|
||||
|
||||
<listitem>
|
||||
<para>The <interface> named in the message is configured with
|
||||
an IP address that is reserved by RFC 1918 -- that address is
|
||||
incompatible with the <emphasis role="bold">norfc1918</emphasis>
|
||||
interface option.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Unknown interface (<interface>) in record
|
||||
"<record>"</term>
|
||||
|
||||
<listitem>
|
||||
<para>The <emphasis><interface></emphasis> name listed in the
|
||||
<emphasis><record></emphasis> from
|
||||
<filename>/etc/shorewall/hosts</filename> was not defined in
|
||||
<filename>/etc/shorewall/interfaces</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Invalid HOST(S) column contents: <hosts></term>
|
||||
|
||||
<listitem>
|
||||
<para>The contests of the HOST(S) column in a record from
|
||||
<filename>/etc/shorewall/hosts</filename> does not follow the proper
|
||||
syntax for that column in that it doesn't contain at least one colon
|
||||
(":"). See the <ulink
|
||||
url="Documentation.htm#Hosts">/etc/shorewall/hosts
|
||||
documentation</ulink>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Bridged interfaces may not be defined in
|
||||
/etc/shorewall/interfaces: <interface>[:<address>]</term>
|
||||
|
||||
<listitem>
|
||||
<para>The named interface appears in /etc/shorewall/hosts and
|
||||
appears as a bridge port (after a colon) but is also defined in
|
||||
<filename>/etc/shorewall/interfaces</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Undefined zone <zone></term>
|
||||
|
||||
<listitem>
|
||||
<para>The named zone appears in the /etc/shorewall/policy file but
|
||||
not in the /etc/shorewall/zones file.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: <policy record>: NONE policy not allowed to/from
|
||||
the <firewall-zone-name> zone</term>
|
||||
|
||||
<listitem>
|
||||
<para>Shorewall does not support a policy of NONE when the source or
|
||||
destination zone is the firewall itself.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: <policy record>: NONE policy not allowed with
|
||||
"all"</term>
|
||||
|
||||
<listitem>
|
||||
<para>Shorewall does not support a policy of NONE when the source or
|
||||
destination zone is "all".</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Duplicate policy: <source zone> <destination
|
||||
zone> <policy> </term>
|
||||
|
||||
<listitem>
|
||||
<para>There is an earlier record in the file with the same
|
||||
<source zone> and <destination zone></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Can't determine the IP address of
|
||||
<interface></term>
|
||||
|
||||
<listitem>
|
||||
<para>You have specified DETECT_DNAT_ADDRS=Yes in
|
||||
/etc/shorewall/shorewall.conf and Shorewall is unablee to determine
|
||||
the IP address of the named <emphasis><interface></emphasis>.
|
||||
Be sure that the interface is started before starting Shorewall or
|
||||
set DETECT_DNAT_ADDRS=No.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Invalid gateway zone (<zone>) -- Tunnel
|
||||
"<record></term>
|
||||
|
||||
<listitem>
|
||||
<para>The listed <emphasis><zone></emphasis> name appears in
|
||||
the GATEWAY ZONE column of the listed
|
||||
<emphasis><record></emphasis> from
|
||||
<filename>/etc/shorewall/tunnels</filename> but is not defined in
|
||||
<filename>/etc/shorewall/zones</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: No hosts on <interface> have the maclist option
|
||||
specified</term>
|
||||
|
||||
<listitem>
|
||||
<para>The named <emphasis><interface></emphasis> appears in a
|
||||
record in <filename>/etc/shorewall/maclist</filename> yet that
|
||||
interface's record in <filename>/etc/shorewall/interfaces</filename>
|
||||
does not specify the <emphasis role="bold">maclist</emphasis> option
|
||||
and no record in <filename>/etc/shorewall/hosts</filename> that
|
||||
names that interface includes the <emphasis
|
||||
role="bold">maclist</emphasis> option.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Interface <interface> must be up before Shorewall
|
||||
can start</term>
|
||||
|
||||
<listitem>
|
||||
<para>You have specified the <emphasis
|
||||
role="bold">maclist</emphasis> option for this interface but the
|
||||
command <command>ip list show <interface></command>
|
||||
fails.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Unknown interface <interface></term>
|
||||
|
||||
<listitem>
|
||||
<para>The interface appears in a configuration file but is not
|
||||
defined in <filename>/etc/shorewall/interfaces</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: BRIDGING=Yes requires Physdev Match support in your
|
||||
Kernel and iptables</term>
|
||||
|
||||
<listitem>
|
||||
<para>You have set BRIDGING=Yes in
|
||||
<filename>/etc/shorewall/shorewall.conf</filename> but it appears
|
||||
that your kernel and/or iptables do not have physdev match
|
||||
support.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Invalid Action Name: <action></term>
|
||||
|
||||
<listitem>
|
||||
<para>The <action> contains one of the following characters:
|
||||
".", "-", or "%". Those characters are not allowed in an action
|
||||
name.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Invalid Macro Parameter in rule "<rule>"</term>
|
||||
|
||||
<listitem>
|
||||
<para>The value being passed to a parameterized macro is not ACCEPT,
|
||||
DROP, REJECT, LOG, QUEUE or CONTINUE.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Missing Action File: action.<action name></term>
|
||||
|
||||
<listitem>
|
||||
<para>The specified <action name> has an entry in
|
||||
<filename>/usr/share/shorewall/actions.std</filename> or in
|
||||
<filename>/etc/shorewall/actions</filename> but the corresponding
|
||||
action file does not exist on the CONFIG_PATH.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Unknown interface <interface> in rule:
|
||||
"<rule>"</term>
|
||||
|
||||
<listitem>
|
||||
<para>You have BRIDGING=No in
|
||||
<filename>/etc/shorewall/shorewall.conf</filename> and the
|
||||
<emphasis><interface></emphasis> given in a rule does not
|
||||
match an entry in
|
||||
<filename>/etc/shorewall/interfaces</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: SNAT may no longer be specified in a DNAT rule; use
|
||||
/etc/shorewall/masq instead</term>
|
||||
|
||||
<listitem>
|
||||
<para>In earlier Shorewall versions, the ORIGINAL DEST column
|
||||
allowed following the original destination IP address with ":" and
|
||||
an address to use as the source of the forwarded connection request.
|
||||
Now that /etc/shorewall/masq supports qualification of SNAT rules by
|
||||
protocol and port, this feature is no longer required and has been
|
||||
deimplemented.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: "Invalid Source in rule "<rule>"</term>
|
||||
|
||||
<listitem>
|
||||
<para>The SOURCE column has the firewall zone name immediately
|
||||
followed by "!". This syntax is use to exclude a subzone and
|
||||
Shorewall currently doesn't support subzones of the firewall
|
||||
zone.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Rule "<rule>" - Destination may not be specified by
|
||||
MAC Address</term>
|
||||
|
||||
<listitem>
|
||||
<para>Netfilter (and hence Shorewall) does not allow qualification
|
||||
of a rule by destination source IP address.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Destination interface not allowed with
|
||||
<action></term>
|
||||
|
||||
<listitem>
|
||||
<para>The named <emphasis><action></emphasis> will be ACCEPT+
|
||||
or NONAT. These actions are inforced in part in the PREROUTING nat
|
||||
chain where the destination interface is not yet known (because the
|
||||
packet has not yet been routed). As a result, the DESTINATION column
|
||||
may not contain an interface name.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Only DNAT and REDIRECT rules may specify destination
|
||||
mapping; rule "<rule>"</term>
|
||||
|
||||
<listitem>
|
||||
<para>The <emphasis><rule></emphasis> specifies a server
|
||||
address that is different from the ORIGINAL DEST address and/or it
|
||||
specifies a server port that is different from the destination port
|
||||
but the ACTION is neither DNAT[-] nor REJECT[-].</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Empty source zone or qualifier: rule
|
||||
"<rule>"</term>
|
||||
|
||||
<listitem>
|
||||
<para>The SOURCE column is of one of the forms
|
||||
<emphasis><zone></emphasis>:,
|
||||
:<emphasis><qualifier></emphasis> or :.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Exclude list only allowed with DNAT or REDIRECT</term>
|
||||
|
||||
<listitem>
|
||||
<para>In DNAT[-] and REDIRECT[-] rules, you can have a SOURCE of the
|
||||
form
|
||||
<emphasis><zone></emphasis>:<emphasis><net1></emphasis>!<emphasis><net2></emphasis>.
|
||||
This means <emphasis><net1></emphasis> in the
|
||||
<emphasis><zone></emphasis> zone <emphasis role="bold">except
|
||||
for</emphasis> <emphasis><net2></emphasis>. This syntax is not
|
||||
available with other ACTIONs.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Invalid use of a user-qualification: rule
|
||||
"<rule>"</term>
|
||||
|
||||
<listitem>
|
||||
<para>The USER/GROUP column may only have and entry if the SOURCE is
|
||||
the firewall zone.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Empty destination zone or qualifier: rule
|
||||
"<rule>"</term>
|
||||
|
||||
<listitem>
|
||||
<para>The DEST column is of one of the forms
|
||||
<emphasis><zone></emphasis>:,
|
||||
:<emphasis><qualifier></emphasis> or :.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Undefined Client Zone in rule "<rule>"</term>
|
||||
|
||||
<listitem>
|
||||
<para>The zone given in the SOURCE column was not defined in
|
||||
<filename>/etc/shorewall/zones</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Undefined Server Zone in rule "<rule>"</term>
|
||||
|
||||
<listitem>
|
||||
<para>The zone given in the DEST column was not defined in
|
||||
<filename>/etc/shorewall/zones</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Rules may not override a NONE policy: rule
|
||||
"<rule>"</term>
|
||||
|
||||
<listitem>
|
||||
<para>If the policy from zone z1 to zone z2 is NONE that means that
|
||||
Shorewall sets up no infrastructure to handle traffic from z1 to z2.
|
||||
Consequently, you cannot have any rules that control traffic from z1
|
||||
to z2.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Invalid Action in rule "<rule>"</term>
|
||||
|
||||
<listitem>
|
||||
<para>The ACTION column contains an action that is not one of the
|
||||
built-in actions and it is not defined in
|
||||
<filename>/etc/shorewall/actions</filename> or in
|
||||
<filename>/usr/share/shorewall/actions.std</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: Unable to determine the routes through interface
|
||||
<interface></term>
|
||||
|
||||
<listitem>
|
||||
<para>You have specified <emphasis><interface></emphasis> in
|
||||
the SUBNET column of <filename>/etc/shorewall/masq</filename> which
|
||||
means that Shorewall is supposed to determine the network(s) routed
|
||||
through that interface. To do that, Shorewall issues the command
|
||||
<command>ip addr ls dev <interface></command> and that command
|
||||
failed. This usually means that you are trying to start Shorewall
|
||||
before the <emphasis><interface></emphasis> is brought
|
||||
up.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>ERROR: No appropriate chain for zone <z1> to zone
|
||||
<z2></term>
|
||||
|
||||
<listitem>
|
||||
<para>There is no policy defined in
|
||||
<filename>/etc/shorewall/policy</filename> for connections from zone
|
||||
<emphasis><z1></emphasis> to zone
|
||||
<emphasis><z2></emphasis>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Warnings</title>
|
||||
|
||||
<para>This sections describes some of the more common warnings generated
|
||||
by Shorewall.</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term>Warning: default route ignored on interface
|
||||
<interface></term>
|
||||
|
||||
<listitem>
|
||||
<para>This means that the interface named in the SUBNET column of
|
||||
<filename>/etc/shorewall/masq</filename> has the default route. This
|
||||
almost always means that you have the contents of the INTERFACE and
|
||||
SUBNET columns reversed.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>Warning: Zone <zone> is empty</term>
|
||||
|
||||
<listitem>
|
||||
<para>This warning alerts you to the fact tha <zone> is
|
||||
defined in <filename>/etc/shorewall/zones</filename> but has no
|
||||
corresponding entries in
|
||||
<filename>/etc/shorewall/interfaces</filename> or in
|
||||
<filename>/etc/shorewall/hosts</filename>.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry>
|
||||
<term>WARNING: Shorewall startup is disabled. To enable startup, set
|
||||
STARTUP_ENABLED=Yes in /etc/shorewall/shorewall.conf</term>
|
||||
|
||||
<listitem>
|
||||
<para>If you need help understanding that warning message then you
|
||||
probably need to take up another hobby or line of work.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Iptables Error Messages</title>
|
||||
|
||||
<para>By far the most asked about iptables error messages are:</para>
|
||||
|
||||
<glosslist>
|
||||
<glossentry>
|
||||
<glossterm>iptables: No chain/target/match by that name</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>This almost always means that you are trying to use a
|
||||
Shorewall feature that your iptables and/or kernel do not support.
|
||||
Beginning with version 2.2.0, Shorewall follows this message with a
|
||||
copy of the iptables command that is failing. Most commonly, the
|
||||
problem is that one of the match types (keyword following "-m" in
|
||||
the command) isn't supported by your iptables/kernel. The output of
|
||||
"shorewall show capabilities" shows you what your iptables/kernel
|
||||
support:</para>
|
||||
|
||||
<programlisting>gateway:~# shorewall show capabilities
|
||||
Shorewall has detected the following iptables/netfilter capabilities:
|
||||
<emphasis role="bold"> NAT: Available
|
||||
Packet Mangling: Available
|
||||
Multi-port Match: Available
|
||||
Extended Multi-port Match: Available
|
||||
Connection Tracking Match: Available
|
||||
Packet Type Match: Available
|
||||
Policy Match: Available
|
||||
Physdev Match: Available
|
||||
IP range Match: Available
|
||||
Recent Match: Available
|
||||
Owner Match: Available
|
||||
Ipset Match: Available
|
||||
ROUTE Target: Not available
|
||||
Extended MARK Target: Available
|
||||
CONNMARK Target: Available
|
||||
Connmark Match: Available</emphasis>
|
||||
<emphasis role="bold">Raw Table: Available</emphasis>
|
||||
gateway:~#</programlisting>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
|
||||
<glossentry>
|
||||
<glossterm>iptables: invalid argument</glossterm>
|
||||
|
||||
<glossdef>
|
||||
<para>Answer: 99.999% of the time, this error is caused by a
|
||||
mismatch between your iptables and kernel.</para>
|
||||
|
||||
<orderedlist>
|
||||
<listitem>
|
||||
<para>Your iptables must be compiled against a kernel source
|
||||
tree that is Netfilter-compatible with the kernel that you are
|
||||
running.</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>If you rebuild iptables using the defaults and install it,
|
||||
it will be installed in /usr/local/sbin/iptables. As shown
|
||||
above, you have the IPTABLES variable in shorewall.conf set to
|
||||
"/sbin/iptables".</para>
|
||||
</listitem>
|
||||
</orderedlist>
|
||||
</glossdef>
|
||||
</glossentry>
|
||||
</glosslist>
|
||||
</section>
|
||||
</article>
|
Loading…
Reference in New Issue
Block a user