summaryrefslogtreecommitdiff
path: root/doc/manpage.d/ipsec.conf.5.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/manpage.d/ipsec.conf.5.html')
-rw-r--r--doc/manpage.d/ipsec.conf.5.html1830
1 files changed, 1830 insertions, 0 deletions
diff --git a/doc/manpage.d/ipsec.conf.5.html b/doc/manpage.d/ipsec.conf.5.html
new file mode 100644
index 000000000..36e0452ef
--- /dev/null
+++ b/doc/manpage.d/ipsec.conf.5.html
@@ -0,0 +1,1830 @@
+Content-type: text/html
+
+<HTML><HEAD><TITLE>Manpage of IPSEC.CONF</TITLE>
+</HEAD><BODY>
+<H1>IPSEC.CONF</H1>
+Section: File Formats (5)<BR>Updated: 26 Nov 2001<BR><A HREF="#index">Index</A>
+<A HREF="http://localhost/cgi-bin/man/man2html">Return to Main Contents</A><HR>
+
+
+<A NAME="lbAB">&nbsp;</A>
+<H2>NAME</H2>
+
+ipsec.conf - IPsec configuration and connections
+<A NAME="lbAC">&nbsp;</A>
+<H2>DESCRIPTION</H2>
+
+The optional
+<I>ipsec.conf</I>
+
+file
+specifies most configuration and control information for the
+FreeS/WAN IPsec subsystem.
+(The major exception is secrets for authentication;
+see
+<I><A HREF="ipsec.secrets.5.html">ipsec.secrets</A></I>(5).)
+
+Its contents are not security-sensitive
+<I>unless</I>
+
+manual keying is being done for more than just testing,
+in which case the encryption/authentication keys in the
+descriptions for the manually-keyed connections are very sensitive
+(and those connection descriptions
+are probably best kept in a separate file,
+via the include facility described below).
+<P>
+
+The file is a text file, consisting of one or more
+<I>sections</I>.
+
+White space followed by
+<B>#</B>
+
+followed by anything to the end of the line
+is a comment and is ignored,
+as are empty lines which are not within a section.
+<P>
+
+A line which contains
+<B>include</B>
+
+and a file name, separated by white space,
+is replaced by the contents of that file,
+preceded and followed by empty lines.
+If the file name is not a full pathname,
+it is considered to be relative to the directory containing the
+including file.
+Such inclusions can be nested.
+Only a single filename may be supplied, and it may not contain white space,
+but it may include shell wildcards (see
+<I><A HREF="sh.1.html">sh</A></I>(1));
+
+for example:
+<P>
+
+<B>include</B>
+
+<B>ipsec.*.conf</B>
+
+<P>
+
+The intention of the include facility is mostly to permit keeping
+information on connections, or sets of connections,
+separate from the main configuration file.
+This permits such connection descriptions to be changed,
+copied to the other security gateways involved, etc.,
+without having to constantly extract them from the configuration
+file and then insert them back into it.
+Note also the
+<B>also</B>
+
+and
+<B>alsoflip</B>
+
+parameters (described below) which permit splitting a single logical section
+(e.g. a connection description) into several actual sections.
+<P>
+
+The first significant line of the file must specify the version
+of this specification that it conforms to:
+<P>
+
+<B>version 2</B>
+<P>
+
+A section
+begins with a line of the form:
+<P>
+
+<I>type</I>
+
+<I>name</I>
+
+<P>
+
+where
+<I>type</I>
+
+indicates what type of section follows, and
+<I>name</I>
+
+is an arbitrary name which distinguishes the section from others
+of the same type.
+(Names must start with a letter and may contain only
+letters, digits, periods, underscores, and hyphens.)
+All subsequent non-empty lines
+which begin with white space are part of the section;
+comments within a section must begin with white space too.
+There may be only one section of a given type with a given name.
+<P>
+
+Lines within the section are generally of the form
+<P>
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<I>parameter</I><B>=</B><I>value</I>
+<P>
+
+(note the mandatory preceding white space).
+There can be white space on either side of the
+<B>=</B>.
+
+Parameter names follow the same syntax as section names,
+and are specific to a section type.
+Unless otherwise explicitly specified,
+no parameter name may appear more than once in a section.
+<P>
+
+An empty
+<I>value</I>
+
+stands for the system default value (if any) of the parameter,
+i.e. it is roughly equivalent to omitting the parameter line entirely.
+A
+<I>value</I>
+
+may contain white space only if the entire
+<I>value</I>
+
+is enclosed in double quotes (<B>&quot;</B>);
+a
+<I>value</I>
+
+cannot itself contain a double quote,
+nor may it be continued across more than one line.
+<P>
+
+Numeric values are specified to be either an ``integer''
+(a sequence of digits) or a ``decimal number''
+(sequence of digits optionally followed by `.' and another sequence of digits).
+<P>
+
+There is currently one parameter which is available in any type of
+section:
+<DL COMPACT>
+<DT><B>also</B>
+
+<DD>
+the value is a section name;
+the parameters of that section are appended to this section,
+as if they had been written as part of it.
+The specified section must exist, must follow the current one,
+and must have the same section type.
+(Nesting is permitted,
+and there may be more than one
+<B>also</B>
+
+in a single section,
+although it is forbidden to append the same section more than once.)
+This allows, for example, keeping the encryption keys
+for a connection in a separate file
+from the rest of the description, by using both an
+<B>also</B>
+
+parameter and an
+<B>include</B>
+
+line.
+(Caution, see BUGS below for some restrictions.)
+<DT><B>alsoflip</B>
+
+<DD>
+can be used in a
+<B>conn</B>
+
+section.
+It acts like an
+<B>also</B>
+
+that flips the referenced section's entries left-for-right.
+</DL>
+<P>
+
+Parameter names beginning with
+<B>x-</B>
+
+(or
+<B>X-</B>,
+
+or
+<B>x_</B>,
+
+or
+<B>X_</B>)
+
+are reserved for user extensions and will never be assigned meanings
+by IPsec.
+Parameters with such names must still observe the syntax rules
+(limits on characters used in the name;
+no white space in a non-quoted value;
+no newlines or double quotes within the value).
+All other as-yet-unused parameter names are reserved for future IPsec
+improvements.
+<P>
+
+A section with name
+<B>%default</B>
+
+specifies defaults for sections of the same type.
+For each parameter in it,
+any section of that type which does not have a parameter of the same name
+gets a copy of the one from the
+<B>%default</B>
+
+section.
+There may be multiple
+<B>%default</B>
+
+sections of a given type,
+but only one default may be supplied for any specific parameter name,
+and all
+<B>%default</B>
+
+sections of a given type must precede all non-<B>%default</B>
+
+sections of that type.
+<B>%default</B>
+
+sections may not contain
+<B>also</B>
+
+or
+<B>alsoflip</B>
+
+parameters.
+<P>
+
+Currently there are two types of section:
+a
+<B>config</B>
+
+section specifies general configuration information for IPsec,
+while a
+<B>conn</B>
+
+section specifies an IPsec connection.
+<A NAME="lbAD">&nbsp;</A>
+<H2>CONN SECTIONS</H2>
+
+A
+<B>conn</B>
+
+section contains a
+<I>connection specification</I>,
+
+defining a network connection to be made using IPsec.
+The name given is arbitrary, and is used to identify the connection to
+<I><A HREF="ipsec_auto.8.html">ipsec_auto</A></I>(8)
+
+and
+<I><A HREF="ipsec_manual.8.html">ipsec_manual</A></I>(8).
+
+Here's a simple example:
+<P>
+
+
+<PRE>
+<B>
+conn snt
+ left=10.11.11.1
+ leftsubnet=10.0.1.0/24
+ leftnexthop=172.16.55.66
+ right=192.168.22.1
+ rightsubnet=10.0.2.0/24
+ rightnexthop=172.16.88.99
+ keyingtries=%forever
+</B></PRE>
+
+<P>
+
+A note on terminology...
+In automatic keying, there are two kinds of communications going on:
+transmission of user IP packets, and gateway-to-gateway negotiations for
+keying, rekeying, and general control.
+The data path (a set of ``IPsec SAs'') used for user packets is herein
+referred to as the ``connection'';
+the path used for negotiations (built with ``ISAKMP SAs'') is referred to as
+the ``keying channel''.
+<P>
+
+To avoid trivial editing of the configuration file to suit it to each system
+involved in a connection,
+connection specifications are written in terms of
+<I>left</I>
+
+and
+<I>right</I>
+
+participants,
+rather than in terms of local and remote.
+Which participant is considered
+<I>left</I>
+
+or
+<I>right</I>
+
+is arbitrary;
+IPsec figures out which one it is being run on based on internal information.
+This permits using identical connection specifications on both ends.
+There are cases where there is no symmetry; a good convention is to
+use
+<I>left</I>
+
+for the local side and
+<I>right</I>
+
+for the remote side (the first letters are a good mnemonic).
+<P>
+
+Many of the parameters relate to one participant or the other;
+only the ones for
+<I>left</I>
+
+are listed here, but every parameter whose name begins with
+<B>left</B>
+
+has a
+<B>right</B>
+
+counterpart,
+whose description is the same but with
+<B>left</B>
+
+and
+<B>right</B>
+
+reversed.
+<P>
+
+Parameters are optional unless marked ``(required)'';
+a parameter required for manual keying need not be included for
+a connection which will use only automatic keying, and vice versa.
+<A NAME="lbAE">&nbsp;</A>
+<H3>CONN PARAMETERS: GENERAL</H3>
+
+The following parameters are relevant to both automatic and manual keying.
+Unless otherwise noted,
+for a connection to work,
+in general it is necessary for the two ends to agree exactly
+on the values of these parameters.
+<DL COMPACT>
+<DT><B>type</B>
+
+<DD>
+the type of the connection; currently the accepted values
+are
+<B>tunnel</B>
+
+(the default)
+signifying a host-to-host, host-to-subnet, or subnet-to-subnet tunnel;
+<B>transport</B>,
+
+signifying host-to-host transport mode;
+<B>passthrough</B>,
+
+signifying that no IPsec processing should be done at all;
+<B>drop</B>,
+
+signifying that packets should be discarded; and
+<B>reject</B>,
+
+signifying that packets should be discarded and a diagnostic ICMP returned.
+<DT><B>left</B>
+
+<DD>
+(required)
+the IP address of the left participant's public-network interface,
+in any form accepted by
+<I><A HREF="ipsec_ttoaddr.3.html">ipsec_ttoaddr</A></I>(3)
+
+or one of several magic values.
+If it is
+<B>%defaultroute</B>,
+
+and
+the
+<B>config</B>
+
+<B>setup</B>
+
+section's,
+<B>interfaces</B>
+
+specification contains
+<B>%defaultroute,</B>
+
+<B>left</B>
+
+will be filled in automatically with the local address
+of the default-route interface (as determined at IPsec startup time);
+this also overrides any value supplied for
+<B>leftnexthop</B>.
+
+(Either
+<B>left</B>
+
+or
+<B>right</B>
+
+may be
+<B>%defaultroute</B>,
+
+but not both.)
+The value
+<B>%any</B>
+
+signifies an address to be filled in (by automatic keying) during
+negotiation.
+The value
+<B>%opportunistic</B>
+
+signifies that both
+<B>left</B>
+
+and
+<B>leftnexthop</B>
+
+are to be filled in (by automatic keying) from DNS data for
+<B>left</B>'s
+
+client.
+The values
+<B>%group</B>
+
+and
+<B>%opportunisticgroup</B>
+
+makes this a policy group conn: one that will be instantiated
+into a regular or opportunistic conn for each CIDR block listed in the
+policy group file with the same name as the conn.
+<DT><B>leftsubnet</B>
+
+<DD>
+private subnet behind the left participant, expressed as
+<I>network</I><B>/</B><I>netmask</I>
+(actually, any form acceptable to
+<I><A HREF="ipsec_ttosubnet.3.html">ipsec_ttosubnet</A></I>(3));
+
+if omitted, essentially assumed to be <I>left</I><B>/32</B>,
+signifying that the left end of the connection goes to the left participant only
+<DT><B>leftnexthop</B>
+
+<DD>
+next-hop gateway IP address for the left participant's connection
+to the public network;
+defaults to
+<B>%direct</B>
+
+(meaning
+<I>right</I>).
+
+If the value is to be overridden by the
+<B>left=%defaultroute</B>
+
+method (see above),
+an explicit value must
+<I>not</I>
+
+be given.
+If that method is not being used,
+but
+<B>leftnexthop</B>
+
+is
+<B>%defaultroute</B>,
+
+and
+<B>interfaces=%defaultroute</B>
+
+is used in the
+<B>config</B>
+
+<B>setup</B>
+
+section,
+the next-hop gateway address of the default-route interface
+will be used.
+The magic value
+<B>%direct</B>
+
+signifies a value to be filled in (by automatic keying)
+with the peer's address.
+Relevant only locally, other end need not agree on it.
+<DT><B>leftupdown</B>
+
+<DD>
+what ``updown'' script to run to adjust routing and/or firewalling
+when the status of the connection
+changes (default
+<B>ipsec _updown</B>).
+
+May include positional parameters separated by white space
+(although this requires enclosing the whole string in quotes);
+including shell metacharacters is unwise.
+See
+<I><A HREF="ipsec_pluto.8.html">ipsec_pluto</A></I>(8)
+
+for details.
+Relevant only locally, other end need not agree on it.
+<DT><B>leftfirewall</B>
+
+<DD>
+whether the left participant is doing forwarding-firewalling
+(including masquerading) for traffic from <I>leftsubnet</I>,
+which should be turned off (for traffic to the other subnet)
+once the connection is established;
+acceptable values are
+<B>yes</B>
+
+and (the default)
+<B>no</B>.
+
+May not be used in the same connection description with
+<B>leftupdown</B>.
+
+Implemented as a parameter to the default
+<I>updown</I>
+
+script.
+See notes below.
+Relevant only locally, other end need not agree on it.
+</DL>
+<P>
+
+If one or both security gateways are doing forwarding firewalling
+(possibly including masquerading),
+and this is specified using the firewall parameters,
+tunnels established with IPsec are exempted from it
+so that packets can flow unchanged through the tunnels.
+(This means that all subnets connected in this manner must have
+distinct, non-overlapping subnet address blocks.)
+This is done by the default
+<I>updown</I>
+
+script (see
+<I><A HREF="ipsec_pluto.8.html">ipsec_pluto</A></I>(8)).
+
+<P>
+
+The implementation of this makes certain assumptions about firewall setup,
+notably the use of the old
+<I>ipfwadm</I>
+
+interface to the firewall.
+In situations calling for more control,
+it may be preferable for the user to supply his own
+<I>updown</I>
+
+script,
+which makes the appropriate adjustments for his system.
+<A NAME="lbAF">&nbsp;</A>
+<H3>CONN PARAMETERS: AUTOMATIC KEYING</H3>
+
+The following parameters are relevant only to automatic keying,
+and are ignored in manual keying.
+Unless otherwise noted,
+for a connection to work,
+in general it is necessary for the two ends to agree exactly
+on the values of these parameters.
+<DL COMPACT>
+<DT><B>keyexchange</B>
+
+<DD>
+method of key exchange;
+the default and currently the only accepted value is
+<B>ike</B>
+
+<DT><B>auto</B>
+
+<DD>
+what operation, if any, should be done automatically at IPsec startup;
+currently-accepted values are
+<B>add</B>
+
+(signifying an
+<B>ipsec auto</B>
+
+<B>--add</B>),
+
+<B>route</B>
+
+(signifying that plus an
+<B>ipsec auto</B>
+
+<B>--route</B>),
+
+<B>start</B>
+
+(signifying that plus an
+<B>ipsec auto</B>
+
+<B>--up</B>),
+
+<B>manual</B>
+
+(signifying an
+<B>ipsec</B>
+
+<B>manual</B>
+
+<B>--up</B>),
+
+and
+<B>ignore</B>
+
+(also the default) (signifying no automatic startup operation).
+See the
+<B>config</B>
+
+<B>setup</B>
+
+discussion below.
+Relevant only locally, other end need not agree on it
+(but in general, for an intended-to-be-permanent connection,
+both ends should use
+<B>auto=start</B>
+
+to ensure that any reboot causes immediate renegotiation).
+<DT><B>auth</B>
+
+<DD>
+whether authentication should be done as part of
+ESP encryption, or separately using the AH protocol;
+acceptable values are
+<B>esp</B>
+
+(the default) and
+<B>ah</B>.
+
+<DT><B>authby</B>
+
+<DD>
+how the two security gateways should authenticate each other;
+acceptable values are
+<B>secret</B>
+
+for shared secrets,
+<B>rsasig</B>
+
+for RSA digital signatures (the default),
+<B>secret|rsasig</B>
+
+for either, and
+<B>never</B>
+
+if negotiation is never to be attempted or accepted (useful for shunt-only conns).
+Digital signatures are superior in every way to shared secrets.
+<DT><B>leftid</B>
+
+<DD>
+how
+the left participant
+should be identified for authentication;
+defaults to
+<B>left</B>.
+
+Can be an IP address (in any
+<I><A HREF="ipsec_ttoaddr.3.html">ipsec_ttoaddr</A></I>(3)
+
+syntax)
+or a fully-qualified domain name preceded by
+<B>@</B>
+
+(which is used as a literal string and not resolved).
+The magic value
+<B>%myid</B>
+
+stands for the current setting of <I>myid</I>.
+This is set in <B>config setup</B> or by <I><A HREF="ipsec_whack.8.html">ipsec_whack</A></I>(8)), or, if not set,
+it is the IP address in <B>%defaultroute</B> (if that is supported by a TXT record in its reverse domain), or otherwise
+it is the system's hostname (if that is supported by a TXT record in its forward domain), or otherwise it is undefined.
+<DT><B>leftrsasigkey</B>
+
+<DD>
+the left participant's
+public key for RSA signature authentication,
+in RFC 2537 format using
+<I><A HREF="ipsec_ttodata.3.html">ipsec_ttodata</A></I>(3)
+
+encoding.
+The magic value
+<B>%none</B>
+
+means the same as not specifying a value (useful to override a default).
+The value
+<B>%dnsondemand</B>
+
+(the default)
+means the key is to be fetched from DNS at the time it is needed.
+The value
+<B>%dnsonload</B>
+
+means the key is to be fetched from DNS at the time
+the connection description is read from
+<I>ipsec.conf</I>;
+
+currently this will be treated as
+<B>%none</B>
+
+if
+<B>right=%any</B>
+
+or
+<B>right=%opportunistic</B>.
+
+The value
+<B>%dns</B>
+
+is currently treated as
+<B>%dnsonload</B>
+
+but will change to
+<B>%dnsondemand</B>
+
+in the future.
+The identity used for the left participant
+must be a specific host, not
+<B>%any</B>
+
+or another magic value.
+<B>Caution:</B>
+
+if two connection descriptions
+specify different public keys for the same
+<B>leftid</B>,
+
+confusion and madness will ensue.
+<DT><B>leftrsasigkey2</B>
+
+<DD>
+if present, a second public key.
+Either key can authenticate the signature, allowing for key rollover.
+<DT><B>pfs</B>
+
+<DD>
+whether Perfect Forward Secrecy of keys is desired on the connection's
+keying channel
+(with PFS, penetration of the key-exchange protocol
+does not compromise keys negotiated earlier);
+acceptable values are
+<B>yes</B>
+
+(the default)
+and
+<B>no</B>.
+
+<DT><B>keylife</B>
+
+<DD>
+how long a particular instance of a connection
+(a set of encryption/authentication keys for user packets) should last,
+from successful negotiation to expiry;
+acceptable values are an integer optionally followed by
+<B>s</B>
+
+(a time in seconds)
+or a decimal number followed by
+<B>m</B>,
+
+<B>h</B>,
+
+or
+<B>d</B>
+
+(a time
+in minutes, hours, or days respectively)
+(default
+<B>8.0h</B>,
+
+maximum
+<B>24h</B>).
+
+Normally, the connection is renegotiated (via the keying channel)
+before it expires.
+The two ends need not exactly agree on
+<B>keylife</B>,
+
+although if they do not,
+there will be some clutter of superseded connections on the end
+which thinks the lifetime is longer.
+<DT><B>rekey</B>
+
+<DD>
+whether a connection should be renegotiated when it is about to expire;
+acceptable values are
+<B>yes</B>
+
+(the default)
+and
+<B>no</B>.
+
+The two ends need not agree,
+but while a value of
+<B>no</B>
+
+prevents Pluto from requesting renegotiation,
+it does not prevent responding to renegotiation requested from the other end,
+so
+<B>no</B>
+
+will be largely ineffective unless both ends agree on it.
+<DT><B>rekeymargin</B>
+
+<DD>
+how long before connection expiry or keying-channel expiry
+should attempts to
+negotiate a replacement
+begin; acceptable values as for
+<B>keylife</B>
+
+(default
+<B>9m</B>).
+
+Relevant only locally, other end need not agree on it.
+<DT><B>rekeyfuzz</B>
+
+<DD>
+maximum percentage by which
+<B>rekeymargin</B>
+
+should be randomly increased to randomize rekeying intervals
+(important for hosts with many connections);
+acceptable values are an integer,
+which may exceed 100,
+followed by a `%'
+(default set by
+<I><A HREF="ipsec_pluto.8.html">ipsec_pluto</A></I>(8),
+
+currently
+<B>100%</B>).
+
+The value of
+<B>rekeymargin</B>,
+
+after this random increase,
+must not exceed
+<B>keylife</B>.
+
+The value
+<B>0%</B>
+
+will suppress time randomization.
+Relevant only locally, other end need not agree on it.
+<DT><B>keyingtries</B>
+
+<DD>
+how many attempts (a whole number or <B>%forever</B>) should be made to
+negotiate a connection, or a replacement for one, before giving up
+(default
+<B>%forever</B>).
+
+The value <B>%forever</B>
+means ``never give up'' (obsolete: this can be written <B>0</B>).
+Relevant only locally, other end need not agree on it.
+<DT><B>ikelifetime</B>
+
+<DD>
+how long the keying channel of a connection (buzzphrase: ``ISAKMP SA'')
+should last before being renegotiated;
+acceptable values as for
+<B>keylife</B>
+
+(default set by
+<I><A HREF="ipsec_pluto.8.html">ipsec_pluto</A></I>(8),
+
+currently
+<B>1h</B>,
+
+maximum
+<B>8h</B>).
+
+The two-ends-disagree case is similar to that of
+<B>keylife</B>.
+
+<DT><B>compress</B>
+
+<DD>
+whether IPComp compression of content is proposed on the connection
+(link-level compression does not work on encrypted data,
+so to be effective, compression must be done <I>before</I> encryption);
+acceptable values are
+<B>yes</B>
+
+and
+<B>no</B>
+
+(the default).
+The two ends need not agree.
+A value of
+<B>yes</B>
+
+causes IPsec to propose both compressed and uncompressed,
+and prefer compressed.
+A value of
+<B>no</B>
+
+prevents IPsec from proposing compression;
+a proposal to compress will still be accepted.
+<DT><B>disablearrivalcheck</B>
+
+<DD>
+whether KLIPS's normal tunnel-exit check
+(that a packet emerging from a tunnel has plausible addresses in its header)
+should be disabled;
+acceptable values are
+<B>yes</B>
+
+and
+<B>no</B>
+
+(the default).
+Tunnel-exit checks improve security and do not break any normal configuration.
+Relevant only locally, other end need not agree on it.
+<DT><B>failureshunt</B>
+
+<DD>
+what to do with packets when negotiation fails.
+The default is
+<B>none</B>:
+
+no shunt;
+<B>passthrough</B>,
+
+<B>drop</B>,
+
+and
+<B>reject</B>
+
+have the obvious meanings.
+</DL>
+<A NAME="lbAG">&nbsp;</A>
+<H3>CONN PARAMETERS: MANUAL KEYING</H3>
+
+The following parameters are relevant only to manual keying,
+and are ignored in automatic keying.
+Unless otherwise noted,
+for a connection to work,
+in general it is necessary for the two ends to agree exactly
+on the values of these parameters.
+A manually-keyed
+connection must specify at least one of AH or ESP.
+<DL COMPACT>
+<DT><B>spi</B>
+
+<DD>
+(this or
+<B>spibase</B>
+
+required for manual keying)
+the SPI number to be used for the connection (see
+<I><A HREF="ipsec_manual.8.html">ipsec_manual</A></I>(8));
+
+must be of the form <B>0x</B><I>hex</I><B></B>,
+where
+<I>hex</I>
+
+is one or more hexadecimal digits
+(note, it will generally be necessary to make
+<I>spi</I>
+
+at least
+<B>0x100</B>
+
+to be acceptable to KLIPS,
+and use of SPIs in the range
+<B>0x100</B>-<B>0xfff</B>
+
+is recommended)
+<DT><B>spibase</B>
+
+<DD>
+(this or
+<B>spi</B>
+
+required for manual keying)
+the base number for the SPIs to be used for the connection (see
+<I><A HREF="ipsec_manual.8.html">ipsec_manual</A></I>(8));
+
+must be of the form <B>0x</B><I>hex</I><B>0</B>,
+where
+<I>hex</I>
+
+is one or more hexadecimal digits
+(note, it will generally be necessary to make
+<I>spibase</I>
+
+at least
+<B>0x100</B>
+
+for the resulting SPIs
+to be acceptable to KLIPS,
+and use of numbers in the range
+<B>0x100</B>-<B>0xff0</B>
+
+is recommended)
+<DT><B>esp</B>
+
+<DD>
+ESP encryption/authentication algorithm to be used
+for the connection, e.g.
+<B>3des-md5-96</B>
+
+(must be suitable as a value of
+<I><A HREF="ipsec_spi.8.html">ipsec_spi</A></I>(8)'s
+
+<B>--esp</B>
+
+option);
+default is not to use ESP
+<DT><B>espenckey</B>
+
+<DD>
+ESP encryption key
+(must be suitable as a value of
+<I><A HREF="ipsec_spi.8.html">ipsec_spi</A></I>(8)'s
+
+<B>--enckey</B>
+
+option)
+(may be specified separately for each direction using
+<B>leftespenckey</B>
+
+(leftward SA)
+and
+<B>rightespenckey</B>
+
+parameters)
+<DT><B>espauthkey</B>
+
+<DD>
+ESP authentication key
+(must be suitable as a value of
+<I><A HREF="ipsec_spi.8.html">ipsec_spi</A></I>(8)'s
+
+<B>--authkey</B>
+
+option)
+(may be specified separately for each direction using
+<B>leftespauthkey</B>
+
+(leftward SA)
+and
+<B>rightespauthkey</B>
+
+parameters)
+<DT><B>espreplay_window</B>
+
+<DD>
+ESP replay-window setting,
+an integer from
+<B>0</B>
+
+(the
+<I>ipsec_manual</I>
+
+default, which turns off replay protection) to
+<B>64</B>;
+
+relevant only if ESP authentication is being used
+<DT><B>leftespspi</B>
+
+<DD>
+SPI to be used for the leftward ESP SA, overriding
+automatic assignment using
+<B>spi</B>
+
+or
+<B>spibase</B>;
+
+typically a hexadecimal number beginning with
+<B>0x</B>
+
+<DT><B>ah</B>
+
+<DD>
+AH authentication algorithm to be used
+for the connection, e.g.
+<B>hmac-md5-96</B>
+
+(must be suitable as a value of
+<I><A HREF="ipsec_spi.8.html">ipsec_spi</A></I>(8)'s
+
+<B>--ah</B>
+
+option);
+default is not to use AH
+<DT><B>ahkey</B>
+
+<DD>
+(required if
+<B>ah</B>
+
+is present) AH authentication key
+(must be suitable as a value of
+<I><A HREF="ipsec_spi.8.html">ipsec_spi</A></I>(8)'s
+
+<B>--authkey</B>
+
+option)
+(may be specified separately for each direction using
+<B>leftahkey</B>
+
+(leftward SA)
+and
+<B>rightahkey</B>
+
+parameters)
+<DT><B>ahreplay_window</B>
+
+<DD>
+AH replay-window setting,
+an integer from
+<B>0</B>
+
+(the
+<I>ipsec_manual</I>
+
+default, which turns off replay protection) to
+<B>64</B>
+
+<DT><B>leftahspi</B>
+
+<DD>
+SPI to be used for the leftward AH SA, overriding
+automatic assignment using
+<B>spi</B>
+
+or
+<B>spibase</B>;
+
+typically a hexadecimal number beginning with
+<B>0x</B>
+
+</DL>
+<A NAME="lbAH">&nbsp;</A>
+<H2>CONFIG SECTIONS</H2>
+
+At present, the only
+<B>config</B>
+
+section known to the IPsec software is the one named
+<B>setup</B>,
+
+which contains information used when the software is being started
+(see
+<I><A HREF="ipsec_setup.8.html">ipsec_setup</A></I>(8)).
+
+Here's an example:
+<P>
+
+
+<PRE>
+<B>
+config setup
+ interfaces=&quot;ipsec0=eth1 ipsec1=ppp0&quot;
+ klipsdebug=none
+ plutodebug=all
+ manualstart=
+</B></PRE>
+
+<P>
+
+Parameters are optional unless marked ``(required)''.
+The currently-accepted
+<I>parameter</I>
+
+names in a
+<B>config</B>
+
+<B>setup</B>
+
+section are:
+<DL COMPACT>
+<DT><B>myid</B>
+
+<DD>
+the identity to be used for
+<B>%myid</B>.
+
+<B>%myid</B>
+
+is used in the implicit policy group conns and can be used as
+an identity in explicit conns.
+If unspecified,
+<B>%myid</B>
+
+is set to the IP address in <B>%defaultroute</B> (if that is supported by a TXT record in its reverse domain), or otherwise
+the system's hostname (if that is supported by a TXT record in its forward domain), or otherwise it is undefined.
+An explicit value generally starts with ``<B>@</B>''.
+<DT><B>interfaces</B>
+
+<DD>
+virtual and physical interfaces for IPsec to use:
+a single
+<I>virtual</I><B>=</B><I>physical</I> pair, a (quoted!) list of pairs separated
+by white space, or
+<B>%none</B>.
+
+One of the pairs may be written as
+<B>%defaultroute</B>,
+
+which means: find the interface <I>d</I> that the default route points to,
+and then act as if the value was ``<B>ipsec0=</B><I>d</I>''.
+<B>%defaultroute</B>
+
+is the default;
+<B>%none</B>
+
+must be used to denote no interfaces.
+If
+<B>%defaultroute</B>
+
+is used (implicitly or explicitly)
+information about the default route and its interface is noted for
+use by
+<I><A HREF="ipsec_manual.8.html">ipsec_manual</A></I>(8)
+
+and
+<I><A HREF="ipsec_auto.8.html">ipsec_auto</A></I>(8).)
+
+<DT><B>forwardcontrol</B>
+
+<DD>
+whether
+<I>setup</I>
+
+should turn IP forwarding on
+(if it's not already on) as IPsec is started,
+and turn it off again (if it was off) as IPsec is stopped;
+acceptable values are
+<B>yes</B>
+
+and (the default)
+<B>no</B>.
+
+For this to have full effect, forwarding must be
+disabled before the hardware interfaces are brought
+up (e.g.,
+<B>net.ipv4.ip_forward&nbsp;=&nbsp;0</B>
+
+in Red Hat 6.x
+<I>/etc/sysctl.conf</I>),
+
+because IPsec doesn't get control early enough to do that.
+<DT><B>rp_filter</B>
+
+<DD>
+whether and how
+<I>setup</I>
+
+should adjust the reverse path filtering mechanism for the
+physical devices to be used.
+Values are <B>%unchanged</B> (to leave it alone)
+or <B>0</B>, <B>1</B>, <B>2</B> (values to set it to).
+<I>/proc/sys/net/ipv4/conf/PHYS/rp_filter</I>
+is badly documented; it must be <B>0</B> in many cases
+for ipsec to function.
+The default value for the parameter is <B>0</B>.
+<DT><B>syslog</B>
+
+<DD>
+the
+<I><A HREF="syslog.2.html">syslog</A></I>(2)
+
+``facility'' name and priority to use for
+startup/shutdown log messages,
+default
+<B>daemon.error</B>.
+
+<DT><B>klipsdebug</B>
+
+<DD>
+how much KLIPS debugging output should be logged.
+An empty value,
+or the magic value
+<B>none</B>,
+
+means no debugging output (the default).
+The magic value
+<B>all</B>
+
+means full output.
+Otherwise only the specified types of output
+(a quoted list, names separated by white space) are enabled;
+for details on available debugging types, see
+<I><A HREF="ipsec_klipsdebug.8.html">ipsec_klipsdebug</A></I>(8).
+
+<DT><B>plutodebug</B>
+
+<DD>
+how much Pluto debugging output should be logged.
+An empty value,
+or the magic value
+<B>none</B>,
+
+means no debugging output (the default).
+The magic value
+<B>all</B>
+
+means full output.
+Otherwise only the specified types of output
+(a quoted list, names without the
+<B>--debug-</B>
+
+prefix,
+separated by white space) are enabled;
+for details on available debugging types, see
+<I><A HREF="ipsec_pluto.8.html">ipsec_pluto</A></I>(8).
+
+<DT><B>plutoopts</B>
+
+<DD>
+additional options to pass to pluto upon startup. See
+<I><A HREF="ipsec_pluto.8.html">ipsec_pluto</A></I>(8).
+
+<DT><B>plutostderrlog</B>
+
+<DD>
+do not use syslog, but rather log to stderr, and direct stderr to the
+argument file.
+<DT><B>dumpdir</B>
+
+<DD>
+in what directory should things started by
+<I>setup</I>
+
+(notably the Pluto daemon) be allowed to
+dump core?
+The empty value (the default) means they are not
+allowed to.
+<DT><B>manualstart</B>
+
+<DD>
+which manually-keyed connections to set up at startup
+(empty, a name, or a quoted list of names separated by white space);
+see
+<I><A HREF="ipsec_manual.8.html">ipsec_manual</A></I>(8).
+
+Default is none.
+<DT><B>pluto</B>
+
+<DD>
+whether to start Pluto or not;
+Values are
+<B>yes</B>
+
+(the default)
+or
+<B>no</B>
+
+(useful only in special circumstances).
+<DT><B>plutowait</B>
+
+<DD>
+should Pluto wait for each
+negotiation attempt that is part of startup to
+finish before proceeding with the next?
+Values are
+<B>yes</B>
+
+or
+<B>no</B>
+
+(the default).
+<DT><B>prepluto</B>
+
+<DD>
+shell command to run before starting Pluto
+(e.g., to decrypt an encrypted copy of the
+<I>ipsec.secrets</I>
+
+file).
+It's run in a very simple way;
+complexities like I/O redirection are best hidden within a script.
+Any output is redirected for logging,
+so running interactive commands is difficult unless they use
+<I>/dev/tty</I>
+
+or equivalent for their interaction.
+Default is none.
+<DT><B>postpluto</B>
+
+<DD>
+shell command to run after starting Pluto
+(e.g., to remove a decrypted copy of the
+<I>ipsec.secrets</I>
+
+file).
+It's run in a very simple way;
+complexities like I/O redirection are best hidden within a script.
+Any output is redirected for logging,
+so running interactive commands is difficult unless they use
+<I>/dev/tty</I>
+
+or equivalent for their interaction.
+Default is none.
+<DT><B>fragicmp</B>
+
+<DD>
+whether a tunnel's need to fragment a packet should be reported
+back with an ICMP message,
+in an attempt to make the sender lower his PMTU estimate;
+acceptable values are
+<B>yes</B>
+
+(the default)
+and
+<B>no</B>.
+
+<DT><B>hidetos</B>
+
+<DD>
+whether a tunnel packet's TOS field should be set to
+<B>0</B>
+
+rather than copied from the user packet inside;
+acceptable values are
+<B>yes</B>
+
+(the default)
+and
+<B>no</B>.
+
+<DT><B>uniqueids</B>
+
+<DD>
+whether a particular participant ID should be kept unique,
+with any new (automatically keyed)
+connection using an ID from a different IP address
+deemed to replace all old ones using that ID;
+acceptable values are
+<B>yes</B>
+
+(the default)
+and
+<B>no</B>.
+
+Participant IDs normally <I>are</I> unique,
+so a new (automatically-keyed) connection using the same ID is
+almost invariably intended to replace an old one.
+<DT><B>overridemtu</B>
+
+<DD>
+value that the MTU of the ipsec<I>n</I> interface(s) should be set to,
+overriding IPsec's (large) default.
+This parameter is needed only in special situations.
+</DL>
+<A NAME="lbAI">&nbsp;</A>
+<H2>IMPLICIT CONNS</H2>
+
+<P>
+
+The system automatically defines several conns to implement
+default policy groups. Each can be overridden by explicitly
+defining a new conn with the same name. If the new conn has <B>auto=ignore</B>,
+the definition is suppressed.
+<P>
+
+Here are the automatically supplied definitions.
+<P>
+
+
+<PRE>
+<B>
+conn clear
+ type=passthrough
+ authby=never
+ left=%defaultroute
+ right=%group
+ auto=route
+
+conn clear-or-private
+ type=passthrough
+ left=%defaultroute
+ leftid=%myid
+ right=%opportunisticgroup
+ failureshunt=passthrough
+ keyingtries=3
+ ikelifetime=1h
+ keylife=1h
+ rekey=no
+ auto=route
+
+conn private-or-clear
+ type=tunnel
+ left=%defaultroute
+ leftid=%myid
+ right=%opportunisticgroup
+ failureshunt=passthrough
+ keyingtries=3
+ ikelifetime=1h
+ keylife=1h
+ rekey=no
+ auto=route
+
+conn private
+ type=tunnel
+ left=%defaultroute
+ leftid=%myid
+ right=%opportunisticgroup
+ failureshunt=drop
+ keyingtries=3
+ ikelifetime=1h
+ keylife=1h
+ rekey=no
+ auto=route
+
+conn block
+ type=reject
+ authby=never
+ left=%defaultroute
+ right=%group
+ auto=route
+
+# default policy
+conn packetdefault
+ type=tunnel
+ left=%defaultroute
+ leftid=%myid
+ left=0.0.0.0/0
+ right=%opportunistic
+ failureshunt=passthrough
+ keyingtries=3
+ ikelifetime=1h
+ keylife=1h
+ rekey=no
+ auto=route
+</B></PRE>
+
+<P>
+
+These conns are <I>not</I> affected by anything in <B>conn %default</B>.
+They will only work if <B>%defaultroute</B> works.
+The <B>leftid</B> will be the interfaces IP address; this
+requires that reverse DNS records be set up properly.
+<P>
+
+The implicit conns are defined after all others. It is
+appropriate and reasonable to use <B>also=private-or-clear</B>
+(for example) in any other opportunistic conn.
+<A NAME="lbAJ">&nbsp;</A>
+<H2>POLICY GROUP FILES</H2>
+
+<P>
+
+The optional files under
+<I>/etc/ipsec.d/policy</I>,
+
+including
+<PRE>
+
+/etc/ipsec.d/policies/clear
+/etc/ipsec.d/policies/clear-or-private
+/etc/ipsec.d/policies/private-or-clear
+/etc/ipsec.d/policies/private
+/etc/ipsec.d/policies/block
+
+</PRE>
+
+may contain policy group configuration information to
+supplement
+<I>ipsec.conf</I>.
+
+Their contents are not security-sensitive.
+<P>
+
+These files are text files.
+Each consists of a list of CIDR blocks, one per line.
+White space followed by # followed by anything to the end of the line
+is a comment and is ignored, as are empty lines.
+<P>
+
+A connection in
+<I>/etc/ipsec.conf</I>
+
+which has
+<B>right=%group</B>
+
+or
+<B>right=%opportunisticgroup</B>
+
+is a policy group connection.
+When a policy group file of the same name is loaded, with
+<P>
+
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<B>ipsec auto --rereadgroups</B>
+<P>
+
+or at system start, the connection is instantiated such that each
+CIDR block serves as an instance's
+<B>right</B>
+
+value. The system treats the
+resulting instances as normal connections.
+<P>
+
+For example, given a suitable connection definition
+<B>private</B>,
+
+and the file
+<I>/etc/ipsec.d/policy/private </I>
+
+with an entry 192.0.2.3,
+the system creates a connection instance
+<B>private#192.0.2.3.</B>
+
+This connection inherits all details from
+<B>private</B>,
+
+except that its right client is 192.0.2.3.
+<A NAME="lbAK">&nbsp;</A>
+<H2>DEFAULT POLICY GROUPS</H2>
+
+<P>
+
+The standard FreeS/WAN install includes several policy groups
+which provide a way of classifying possible peers into IPsec security classes:
+<B>private</B>
+
+(talk encrypted only),
+<B>private-or-clear</B>
+
+(prefer encryption),
+<B>clear-or-private</B>
+
+(respond to requests for encryption),
+<B>clear</B>
+
+and
+<B>block</B>.
+
+Implicit policy groups apply to the local host only,
+and are implemented by the
+<B>IMPLICIT CONNECTIONS </B>
+
+described above.
+<A NAME="lbAL">&nbsp;</A>
+<H2>CHOOSING A CONNECTION</H2>
+
+<P>
+
+When choosing a connection to apply to an outbound packet caught with a
+<B>%trap,</B>
+
+the system prefers the one with the most specific eroute that
+includes the packet's source and destination IP addresses.
+Source subnets are examined before destination subnets.
+For initiating, only routed connections are considered. For responding,
+unrouted but added connections are considered.
+<P>
+
+When choosing a connection to use to respond to a negotiation which
+doesn't match an ordinary conn, an opportunistic connection
+may be instantiated. Eventually, its instance will be /32 -&gt; /32, but
+for earlier stages of the negotiation, there will not be enough
+information about the client subnets to complete the instantiation.
+<A NAME="lbAM">&nbsp;</A>
+<H2>FILES</H2>
+
+<PRE>
+/etc/ipsec.conf
+/etc/ipsec.d/policies/clear
+/etc/ipsec.d/policies/clear-or-private
+/etc/ipsec.d/policies/private-or-clear
+/etc/ipsec.d/policies/private
+/etc/ipsec.d/policies/block
+</PRE>
+
+<A NAME="lbAN">&nbsp;</A>
+<H2>SEE ALSO</H2>
+
+<A HREF="ipsec.8.html">ipsec</A>(8), <A HREF="ipsec_ttoaddr.8.html">ipsec_ttoaddr</A>(8), <A HREF="ipsec_auto.8.html">ipsec_auto</A>(8), <A HREF="ipsec_manual.8.html">ipsec_manual</A>(8), <A HREF="ipsec_rsasigkey.8.html">ipsec_rsasigkey</A>(8)
+<A NAME="lbAO">&nbsp;</A>
+<H2>HISTORY</H2>
+
+Designed for the FreeS/WAN project
+&lt;<A HREF="http://www.freeswan.org">http://www.freeswan.org</A>&gt;
+by Henry Spencer.
+<A NAME="lbAP">&nbsp;</A>
+<H2>BUGS</H2>
+
+<P>
+
+When
+<B>type</B>
+
+or
+<B>failureshunt</B>
+
+is set to
+<B>drop</B>
+
+or
+<B>reject,</B>
+
+FreeS/WAN blocks outbound packets using eroutes, but assumes inbound
+blocking is handled by the firewall. FreeS/WAN offers firewall hooks
+via an ``updown'' script. However, the default
+<B>ipsec _updown</B>
+
+provides no help in controlling a modern firewall.
+<P>
+
+Including attributes of the keying channel
+(authentication methods,
+<B>ikelifetime</B>,
+
+etc.)
+as an attribute of a connection,
+rather than of a participant pair, is dubious and incurs limitations.
+<P>
+
+<I>Ipsec_manual</I>
+
+is not nearly as generous about the syntax of subnets,
+addresses, etc. as the usual FreeS/WAN user interfaces.
+Four-component dotted-decimal must be used for all addresses.
+It
+<I>is</I>
+
+smart enough to translate bit-count netmasks to dotted-decimal form.
+<P>
+
+It would be good to have a line-continuation syntax,
+especially for the very long lines involved in
+RSA signature keys.
+<P>
+
+The ability to specify different identities,
+<B>authby</B>,
+
+and public keys for different automatic-keyed connections
+between the same participants is misleading;
+this doesn't work dependably because the identity of the participants
+is not known early enough.
+This is especially awkward for the ``Road Warrior'' case,
+where the remote IP address is specified as
+<B>0.0.0.0</B>,
+
+and that is considered to be the ``participant'' for such connections.
+<P>
+
+In principle it might be necessary to control MTU on an
+interface-by-interface basis,
+rather than with the single global override that
+<B>overridemtu</B>
+
+provides.
+<P>
+
+A number of features which <I>could</I> be implemented in
+both manual and automatic keying
+actually are not yet implemented for manual keying.
+This is unlikely to be fixed any time soon.
+<P>
+
+If conns are to be added before DNS is available,
+<B>left=</B><I>FQDN</I>,
+<B>leftnextop=</B><I>FQDN</I>,
+and
+<B>leftrsasigkey=%dnsonload</B>
+
+will fail.
+<I><A HREF="ipsec_pluto.8.html">ipsec_pluto</A></I>(8)
+
+does not actually use the public key for our side of a conn but it
+isn't generally known at a add-time which side is ours (Road Warrior
+and Opportunistic conns are currently exceptions).
+<P>
+
+The <B>myid</B> option does not affect explicit <B> ipsec auto --add</B> or <B>ipsec auto --replace</B> commands for implicit conns.
+<P>
+
+<HR>
+<A NAME="index">&nbsp;</A><H2>Index</H2>
+<DL>
+<DT><A HREF="#lbAB">NAME</A><DD>
+<DT><A HREF="#lbAC">DESCRIPTION</A><DD>
+<DT><A HREF="#lbAD">CONN SECTIONS</A><DD>
+<DL>
+<DT><A HREF="#lbAE">CONN PARAMETERS: GENERAL</A><DD>
+<DT><A HREF="#lbAF">CONN PARAMETERS: AUTOMATIC KEYING</A><DD>
+<DT><A HREF="#lbAG">CONN PARAMETERS: MANUAL KEYING</A><DD>
+</DL>
+<DT><A HREF="#lbAH">CONFIG SECTIONS</A><DD>
+<DT><A HREF="#lbAI">IMPLICIT CONNS</A><DD>
+<DT><A HREF="#lbAJ">POLICY GROUP FILES</A><DD>
+<DT><A HREF="#lbAK">DEFAULT POLICY GROUPS</A><DD>
+<DT><A HREF="#lbAL">CHOOSING A CONNECTION</A><DD>
+<DT><A HREF="#lbAM">FILES</A><DD>
+<DT><A HREF="#lbAN">SEE ALSO</A><DD>
+<DT><A HREF="#lbAO">HISTORY</A><DD>
+<DT><A HREF="#lbAP">BUGS</A><DD>
+</DL>
+<HR>
+This document was created by
+<A HREF="http://localhost/cgi-bin/man/man2html">man2html</A>,
+using the manual pages.<BR>
+Time: 21:40:17 GMT, November 11, 2003
+</BODY>
+</HTML>