.\" $NetBSD: racoon.conf.5,v 1.34.4.3 2007/09/03 18:07:29 mgrooms Exp $
|
.\"
|
.\" Id: racoon.conf.5,v 1.54 2006/08/22 18:17:17 manubsd Exp
|
.\"
|
.\" Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
|
.\" All rights reserved.
|
.\"
|
.\" Redistribution and use in source and binary forms, with or without
|
.\" modification, are permitted provided that the following conditions
|
.\" are met:
|
.\" 1. Redistributions of source code must retain the above copyright
|
.\" notice, this list of conditions and the following disclaimer.
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
.\" notice, this list of conditions and the following disclaimer in the
|
.\" documentation and/or other materials provided with the distribution.
|
.\" 3. Neither the name of the project nor the names of its contributors
|
.\" may be used to endorse or promote products derived from this software
|
.\" without specific prior written permission.
|
.\"
|
.\" THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
.\" SUCH DAMAGE.
|
.\"
|
.Dd September 19, 2006
|
.Dt RACOON.CONF 5
|
.Os
|
.\"
|
.Sh NAME
|
.Nm racoon.conf
|
.Nd configuration file for racoon
|
.\"
|
.\" .Sh SYNOPSIS
|
.\"
|
.Sh DESCRIPTION
|
.Nm
|
is the configuration file for the
|
.Xr racoon 8
|
ISAKMP daemon.
|
.Xr racoon 8
|
negotiates security associations for itself (ISAKMP SA, or phase 1 SA)
|
and for kernel IPsec (IPsec SA, or phase 2 SA).
|
The file consists of a sequence of directives and statements.
|
Each directive is composed by a tag and statements, enclosed by
|
.Ql {
|
and
|
.Ql } .
|
Lines beginning with
|
.Ql #
|
are comments.
|
.\"
|
.Ss Meta Syntax
|
Keywords and special characters that the parser expects exactly are
|
displayed using
|
.Ic this
|
font.
|
Parameters are specified with
|
.Ar this
|
font.
|
Square brackets
|
.Po
|
.Ql \&[
|
and
|
.Ql \&]
|
.Pc
|
are used to show optional keywords and parameters.
|
Note that
|
you have to pay attention when this manual is describing
|
.Ar port
|
numbers.
|
The
|
.Ar port
|
number is always enclosed by
|
.Ql \&[
|
and
|
.Ql \&] .
|
In this case, the port number is not an optional keyword.
|
If it is possible to omit the
|
.Ar port
|
number,
|
the expression becomes
|
.Bq Bq Ar port .
|
The vertical bar
|
.Pq Ql \&|
|
is used to indicate
|
a choice between optional parameters.
|
Parentheses
|
.Po
|
.Ql \&(
|
and
|
.Ql \&)
|
.Pc
|
are used to group keywords and parameters when necessary.
|
Major parameters are listed below.
|
.Pp
|
.Bl -tag -width addressx -compact
|
.It Ar number
|
means a hexadecimal or a decimal number.
|
The former must be prefixed with
|
.Ql Li 0x .
|
.It Ar string
|
.It Ar path
|
.It Ar file
|
means any string enclosed in
|
.Ql \&"
|
.Pq double quotes .
|
.It Ar address
|
means IPv6 and/or IPv4 address.
|
.It Ar port
|
means a TCP/UDP port number.
|
The port number is always enclosed by
|
.Ql \&[
|
and
|
.Ql \&] .
|
.It Ar timeunit
|
is one of following:
|
.Ic sec , secs , second , seconds ,
|
.Ic min , mins , minute , minutes ,
|
.Ic hour , hours .
|
.El
|
.\"
|
.Ss Privilege separation
|
.Bl -tag -width Ds -compact
|
.It Ic privsep { Ar statements Ic }
|
Specifies privilege separation parameters.
|
When enabled, these enable
|
.Xr racoon 8
|
to operate with an unprivileged instance doing most of the work, while
|
a privileged instance takes care of performing the following operations
|
as root: reading PSK and private keys, launching hook scripts, and
|
validating passwords against system databases or against PAM.
|
Please note that using privilege separation makes changes to the
|
.Ar listen
|
and
|
.Ar paths
|
sections ignored upon configuration reloads.
|
A
|
.Xr racoon 8
|
restart is required if you want such changes to be taken into account.
|
.Pp
|
.Bl -tag -width Ds -compact
|
.It Ic user Ar user ;
|
The user to which the unprivileged instance of
|
.Xr racoon 8 ,
|
should switch.
|
This can be a quoted user name or a numeric UID.
|
.It Ic group Ar group ;
|
The group the unprivilegied instance of
|
.Xr racoon 8 ,
|
should switch.
|
This can be a quoted group name or a numeric GID.
|
.It Ic chroot Ar path ;
|
A directory to which the unprivileged instance of
|
.Xr racoon 8
|
should
|
.Xr chroot 2 .
|
This directory should hold a tree where the following files must be
|
reachable:
|
.Bl -tag -width Ds -compact
|
.It Pa /dev/random
|
.It Pa /dev/urandom
|
.It The certificates
|
.It The file containing the Xauth banner
|
.El
|
.Pp
|
The PSK file, the private keys, and the hook scripts are accessed through the
|
privileged instance of
|
.Xr racoon 8
|
and do not need to be reachable in the
|
.Xr chroot 2 Ap ed
|
tree.
|
.El
|
.El
|
.Ss Path Specification
|
This section specifies various paths used by racoon.
|
When running in privilege separation mode,
|
.Ic certificate
|
and
|
.Ic script
|
paths are mandatory. A
|
.Xr racoon 8
|
restart is required if you want path changes to be taken into account.
|
.Bl -tag -width Ds -compact
|
.It Ic path include Ar path ;
|
Specifies a path to include a file.
|
See
|
.Sx File Inclusion .
|
.It Ic path pre_shared_key Ar file ;
|
Specifies a file containing pre-shared key(s) for various ID(s).
|
See
|
.Sx Pre-shared key File .
|
.It Ic path certificate Ar path ;
|
.Xr racoon 8
|
will search this directory if a certificate or certificate request is received.
|
If you run with privilege separation,
|
.Xr racoon 8
|
will refuse to use a certificate stored outside of this directory.
|
.It Ic path backupsa Ar file ;
|
Specifies a file to which SA information negotiated by
|
racoon should be stored.
|
.Xr racoon 8
|
will install SA(s) from the file when started with the
|
.Fl B
|
flag.
|
The file is growing because
|
.Xr racoon 8
|
simply adds SAs to it.
|
You should maintain the file manually.
|
.It Ic path script Ar path ;
|
.Xr racoon 8
|
will search this directory for scripts hooks.
|
If you run with privilege separation,
|
.Xr racoon 8
|
will refuse to execute a script stored outside of this directory.
|
.It Ic path pidfile Ar file ;
|
Specifies file where to store PID of process.
|
If path starts with
|
.Pa /
|
it is treated as an absolute path. Otherwise, it is treated as a relative
|
path to the VARRUN directory specified at compilation time.
|
Default is
|
.Pa racoon.pid .
|
.El
|
.\"
|
.Ss File Inclusion
|
.Bl -tag -width Ds -compact
|
.It Ic include Ar file
|
Specifies other configuration files to be included.
|
.El
|
.\"
|
.Ss Identifier Specification
|
is obsolete.
|
It must be defined at each
|
.Ic remote
|
directive.
|
.\"
|
.Ss Timer Specification
|
.Bl -tag -width Ds -compact
|
.It Ic timer { Ar statements Ic }
|
This section specifies various timer values used by racoon.
|
.Pp
|
.Bl -tag -width Ds -compact
|
.It Ic counter Ar number ;
|
The maximum number of retries to send.
|
The default is 5.
|
.It Ic interval Ar number Ar timeunit ;
|
The interval to resend, in seconds.
|
The default time is 10 seconds.
|
.It Ic persend Ar number ;
|
The number of packets per send.
|
The default is 1.
|
.It Ic phase1 Ar number Ar timeunit ;
|
The maximum time it should take to complete phase 1.
|
The default time is 15 seconds.
|
.It Ic phase2 Ar number Ar timeunit ;
|
The maximum time it should take to complete phase 2.
|
The default time is 10 seconds.
|
.It Ic natt_keepalive Ar number Ar timeunit ;
|
The interval between sending NAT-Traversal keep-alive packets.
|
The default time is 20 seconds.
|
Set to 0s to disable keep-alive packets.
|
.El
|
.El
|
.\"
|
.Ss Listening Port Specification
|
.Bl -tag -width Ds -compact
|
.It Ic listen { Ar statements Ic }
|
If no
|
.Ar listen
|
directive is specified,
|
.Xr racoon 8
|
will listen on all available interface addresses.
|
The following is the list of valid statements:
|
.Pp
|
.Bl -tag -width Ds -compact
|
.\" How do I express bold brackets; `[' and `]' .
|
.\" Answer: For bold brackets, do "Ic \&[ foo \&]".
|
.\" Is the "Bq Ic [ Ar port ] ;" buggy ?
|
.It Ic isakmp Ar address Bq Bq Ar port ;
|
If this is specified,
|
.Xr racoon 8
|
will only listen on the defined
|
.Ar address .
|
The default port is 500, which is specified by IANA.
|
You can provide more than one address definition.
|
.It Ic isakmp_natt Ar address Bq Ar port ;
|
Same as
|
.Ic isakmp
|
but also sets the socket options to accept UDP-encapsulated ESP traffic for
|
NAT-Traversal.
|
If you plan to use NAT-T, you should provide at least one address
|
with port 4500, which is specified by IANA.
|
There is no default.
|
.It Ic strict_address ;
|
Requires that all addresses for ISAKMP be bound.
|
This statement will be ignored if you do not specify address definitions.
|
.El
|
When running in privilege separation mode, you need to restart
|
.Xr racoon 8
|
to have changes to the
|
.Ar listen
|
section taken into account.
|
.Pp
|
The
|
.Ar listen
|
section can also be used to specify the admin socket mode and ownership
|
if racoon was built with support for admin port.
|
.Bl -tag -width Ds -compact
|
.It Ic adminsock Ar path Op Ar owner\ group\ mode ;
|
The
|
.Ar path ,
|
.Ar owner ,
|
and
|
.Ar group
|
values specify the socket path, owner, and group. They must be quoted.
|
The defaults are
|
.Pa /var/racoon/racoon.sock ,
|
UID 0, and GID 0.
|
.Ar mode
|
is the access mode in octal. The default is 0600.
|
.It Ic adminsock disabled ;
|
This directive tells racoon to not listen on the admin socket.
|
.El
|
.El
|
.\"
|
.Ss Miscellaneous Global Parameters
|
.Bl -tag -width Ds -compact
|
.It Ic gss_id_enc Ar enctype ;
|
Older versions of
|
.Xr racoon 8
|
used ISO-Latin-1 as the encoding of the GSS-API identifier attribute.
|
For interoperability with Microsoft Windows' GSS-API authentication
|
scheme, the default encoding has been changed to UTF-16LE.
|
The
|
.Ic gss_id_enc
|
parameter allows
|
.Xr racoon 8
|
to be configured to use the old encoding for compatibility with existing
|
.Xr racoon 8
|
installations.
|
The following are valid values for
|
.Ar enctype :
|
.Pp
|
.Bl -tag -width Ds -compact
|
.It Ic utf-16le
|
Use UTF-16LE to encode the GSS-API identifier attribute.
|
This is the default encoding.
|
This encoding is compatible with Microsoft Windows.
|
.It Ic latin1
|
Use ISO-Latin-1 to encode the GSS-API identifier attribute.
|
This is the encoding used by older versions of
|
.Xr racoon 8 .
|
.El
|
.El
|
.\"
|
.Ss Remote Nodes Specifications
|
.Bl -tag -width Ds -compact
|
.It Xo
|
.Ic remote ( Ar address | Ic anonymous )
|
.Bq Bq Ar port
|
.Bq Ic inherit Ar parent
|
.Ic { Ar statements Ic }
|
.Xc
|
Specifies the IKE phase 1 parameters for each remote node.
|
The default port is 500.
|
If
|
.Ic anonymous
|
is specified, the statements will apply to any peer that does not match a
|
more specific
|
.Ic remote
|
directive.
|
.Pp
|
Sections with
|
.Ic inherit Ar parent
|
statements (where
|
.Ar parent
|
is either
|
.Ar address
|
or a keyword
|
.Ic anonymous )
|
that have all values predefined to those of a given
|
.Ar parent .
|
In these sections it is enough to redefine only the changed parameters.
|
.Pp
|
The following are valid statements.
|
.Pp
|
.Bl -tag -width Ds -compact
|
.\"
|
.It Ic exchange_mode ( main | aggressive | base ) ;
|
Defines the exchange mode for phase 1 when racoon is the initiator.
|
It also means the acceptable exchange mode when racoon is the responder.
|
More than one mode can be specified by separating them with a comma.
|
All of the modes are acceptable.
|
The first exchange mode is what racoon uses when it is the initiator.
|
.\"
|
.It Ic doi Ic ipsec_doi ;
|
Means to use IPsec DOI as specified in RFC 2407.
|
You can omit this statement.
|
.\"
|
.It Ic situation Ic identity_only ;
|
Means to use SIT_IDENTITY_ONLY as specified in RFC 2407.
|
You can omit this statement.
|
.\"
|
.It Ic identifier Ar idtype ;
|
This statment is obsolete. Instead, use
|
.Ic my_identifier .
|
.\"
|
.It Xo
|
.Ic my_identifier Bq Ar qualifier
|
.Ar idtype ... ;
|
.Xc
|
Specifies the identifier sent to the remote host
|
and the type to use in the phase 1 negotiation.
|
.Ic address, fqdn , user_fqdn , keyid ,
|
and
|
.Ic asn1dn
|
can be used as an
|
.Ar idtype .
|
The
|
.Ar qualifier
|
is currently only used for
|
.Ic keyid ,
|
and can be either
|
.Ic file
|
or
|
.Ic tag .
|
The possible values are :
|
.Bl -tag -width Ds -compact
|
.It Ic my_identifier Ic address Bq Ar address ;
|
The type is the IP address.
|
This is the default type if you do not specify an identifier to use.
|
.It Ic my_identifier Ic user_fqdn Ar string ;
|
The type is a USER_FQDN (user fully-qualified domain name).
|
.It Ic my_identifier Ic fqdn Ar string ;
|
The type is a FQDN (fully-qualified domain name).
|
.It Xo
|
.Ic my_identifier Ic keyid Bq Ic file
|
.Ar file ;
|
.Xc
|
The type is a KEY_ID, read from the file.
|
.It Ic my_identifier Ic keyid Ic tag Ar string ;
|
The type is a KEY_ID, specified in the quoted string.
|
.It Ic my_identifier Ic asn1dn Bq Ar string ;
|
The type is an ASN.1 distinguished name.
|
If
|
.Ar string
|
is omitted,
|
.Xr racoon 8
|
will get the DN from the Subject field in the certificate.
|
.El
|
.\"
|
.It Ic xauth_login Bq Ar string ;
|
Specifies the login to use in client-side Hybrid authentication.
|
It is available only if
|
.Xr racoon 8
|
has been built with this option.
|
The associated password is looked up in the pre-shared key files,
|
using the login
|
.Ic string
|
as the key id.
|
.\"
|
.It Ic peers_identifier Ar idtype ... ;
|
Specifies the peer's identifier to be received.
|
If it is not defined then
|
.Xr racoon 8
|
will not verify the peer's identifier in ID payload transmitted from the peer.
|
If it is defined, the behavior of the verification depends on the flag of
|
.Ic verify_identifier .
|
The usage of
|
.Ar idtype
|
is the same as
|
.Ic my_identifier
|
except that the individual component values of an
|
.Ic asn1dn
|
identifier may specified as
|
.Ic *
|
to match any value (e.g. "C=XX, O=MyOrg, OU=*, CN=Mine").
|
Alternative acceptable peer identifiers may be specified by repeating the
|
.Ic peers_identifier
|
statement.
|
.\"
|
.It Ic verify_identifier (on | off) ;
|
If you want to verify the peer's identifier,
|
set this to on.
|
In this case, if the value defined by
|
.Ic peers_identifier
|
is not the same as the peer's identifier in the ID payload,
|
the negotiation will fail.
|
The default is off.
|
.\"
|
.It Ic certificate_type Ar certspec ;
|
Specifies a certificate specification.
|
.Ar certspec
|
is one of followings:
|
.Bl -tag -width Ds -compact
|
.It Ic x509 Ar certfile Ar privkeyfile ;
|
.Ar certfile
|
means a file name of a certificate.
|
.Ar privkeyfile
|
means a file name of a secret key.
|
.El
|
.Bl -tag -width Ds -compact
|
.It Ic plain_rsa Ar privkeyfile ;
|
.Ar privkeyfile
|
means a file name of a private key generated by plainrsa-gen(8). Required
|
for RSA authentication.
|
.El
|
.It Ic ca_type Ar cacertspec ;
|
Specifies a root certificate authority specification.
|
.Ar cacertspec
|
is one of followings:
|
.Bl -tag -width Ds -compact
|
.It Ic x509 Ar cacertfile ;
|
.Ar cacertfile
|
means a file name of the root certificate authority.
|
Default is
|
.Pa /etc/openssl/cert.pem
|
.El
|
.\"
|
.It Ic mode_cfg (on | off) ;
|
Gather network information through ISAKMP mode configuration.
|
Default is off.
|
.\"
|
.It Ic weak_phase1_check (on | off) ;
|
Tells racoon to act on unencrypted deletion messages during phase 1.
|
This is a small security risk, so the default is off, meaning that
|
racoon will keep on trying to establish a connection even if the
|
user credentials are wrong, for instance.
|
.\"
|
.It Ic peers_certfile ( dnssec | Ar certfile | Ic plain_rsa Ar pubkeyfile ) ;
|
If
|
.Ic dnssec
|
is defined,
|
.Xr racoon 8
|
will ignore the CERT payload from the peer,
|
and try to get the peer's certificate from DNS instead.
|
If
|
.Ar certfile
|
is defined,
|
.Xr racoon 8
|
will ignore the CERT payload from the peer,
|
and will use this certificate as the peer's certificate.
|
If
|
.Ic plain_rsa
|
is defined,
|
.Xr racoon 8
|
will expect
|
.Ar pubkeyfile
|
to be the peer's public key that was generated
|
by plainrsa-gen(8).
|
.\"
|
.It Ic script Ar script Ic phase1_up
|
.It Ic script Ar script Ic phase1_down
|
Shell scripts that get executed when a phase 1 SA goes up or down.
|
Both scripts get either
|
.Ic phase1_up
|
or
|
.Ic phase1_down
|
as first argument, and the following
|
variables are set in their environment:
|
.Bl -tag -width Ds -compact
|
.It Ev LOCAL_ADDR
|
The local address of the phase 1 SA.
|
.It Ev LOCAL_PORT
|
The local port used for IKE for the phase 1 SA.
|
.It Ev REMOTE_ADDR
|
The remote address of the phase 1 SA.
|
.It Ev REMOTE_PORT
|
The remote port used for IKE for the phase 1 SA.
|
.El
|
The following variables are only set if
|
.Ic mode_cfg
|
was enabled:
|
.Bl -tag -width Ds -compact
|
.It INTERNAL_ADDR4
|
An IPv4 internal address obtained by ISAKMP mode config.
|
.It INTERNAL_NETMASK4
|
An IPv4 internal netmask obtained by ISAKMP mode config.
|
.It INTERNAL_CIDR4
|
An IPv4 internal netmask obtained by ISAKMP mode config, in CIDR notation.
|
.It INTERNAL_DNS4
|
The first internal DNS server IPv4 address obtained by ISAKMP mode config.
|
.It INTERNAL_DNS4_LIST
|
A list of internal DNS servers IPv4 address obtained by ISAKMP mode config,
|
separated by spaces.
|
.It INTERNAL_WINS4
|
The first internal WINS server IPv4 address obtained by ISAKMP mode config.
|
.It INTERNAL_WINS4_LIST
|
A list of internal WINS servers IPv4 address obtained by ISAKMP mode config,
|
separated by spaces.
|
.It SPLIT_INCLUDE
|
The space separated list of IPv4 addresses and masks (address slash mask)
|
that define the networks to be encrypted (as opposed to the default where
|
all the traffic should be encrypted) ; obtained by ISAKMP mode config ;
|
SPLIT_INCLUDE and SPLIT_LOCAL are mutually exclusive.
|
.It SPLIT_LOCAL
|
The space separated list of IPv4 addresses and masks (address slash mask)
|
that define the networks to be considered local, and thus excluded from the
|
tunnels ; obtained by ISAKMP mode config.
|
.It DEFAULT_DOMAIN
|
The DNS default domain name obtained by ISAKMP mode config.
|
.El
|
.\"
|
.\"
|
.It Ic send_cert (on | off) ;
|
If you do not want to send a certificate, set this to off.
|
The default is on.
|
.\"
|
.It Ic send_cr (on | off) ;
|
If you do not want to send a certificate request, set this to off.
|
The default is on.
|
.\"
|
.It Ic verify_cert (on | off) ;
|
By default, the identifier sent by the remote host (as specified in its
|
.Ic my_identifier
|
statement) is compared with the credentials in the certificate
|
used to authenticate the remote host as follows:
|
.Bl -tag -width Ds -compact
|
.It Type Ic asn1dn:
|
The entire certificate subject name is compared with the identifier,
|
e.g. "C=XX, O=YY, ...".
|
.It Type Ic address, fqdn, or user_fqdn:
|
The certificate's subjectAltName is compared with the identifier.
|
.El
|
If the two do not match the negotiation will fail.
|
If you do not want to verify the identifier using the peer's certificate,
|
set this to off.
|
.\"
|
.It Ic lifetime time Ar number Ar timeunit ;
|
Define a lifetime of a certain time
|
which will be proposed in the phase 1 negotiations.
|
Any proposal will be accepted, and the attribute(s) will not be proposed to
|
the peer if you do not specify it (them).
|
They can be individually specified in each proposal.
|
.\"
|
.It Ic ike_frag (on | off | force) ;
|
Enable receiver-side IKE fragmentation if
|
.Xr racoon 8
|
has been built with this feature.
|
If set to on, racoon will advertise
|
itself as being capable of receiving packets split by IKE fragmentation.
|
This extension is there to work around broken firewalls that do not
|
work with fragmented UDP packets.
|
IKE fragmentation is always enabled on the sender-side, and it is
|
used if the peer advertises itself as IKE fragmentation capable.
|
By selecting force, IKE Fragmentation will
|
be used when racoon is acting as the initiator even before the remote
|
peer has advertised itself as IKE fragmentation capable.
|
.\"
|
.It Ic esp_frag Ar fraglen ;
|
This option is only relevant if you use NAT traversal in tunnel mode.
|
Its purpose is to work around broken DSL routers that reject UDP
|
fragments, by fragmenting the IP packets before ESP encapsulation.
|
The result is ESP over UDP of fragmented packets instead of fragmented
|
ESP over UDP packets (i.e., IP:UDP:ESP:frag(IP) instead of
|
frag(IP:UDP:ESP:IP)).
|
.Ar fraglen
|
is the maximum size of the fragments.
|
552 should work anywhere,
|
but the higher
|
.Ar fraglen
|
is, the better the performance.
|
.Pp
|
Note that because PMTU discovery is broken on many sites, you will
|
have to use MSS clamping if you want TCP to work correctly.
|
.\"
|
.It Ic initial_contact (on | off) ;
|
Enable this to send an INITIAL-CONTACT message.
|
The default value is
|
.Ic on .
|
This message is useful only when the responder implementation chooses an
|
old SA when there are multiple SAs with different established time and the
|
initiator reboots.
|
If racoon did not send the message,
|
the responder would use an old SA even when a new SA was established.
|
For systems that use a KAME derived IPSEC stack, the
|
.Xr sysctl 8
|
variable net.key.preferred_oldsa can be used to control this preference.
|
When the value is zero, the stack always uses a new SA.
|
.\"
|
.It Ic passive (on | off) ;
|
If you do not want to initiate the negotiation, set this to on.
|
The default value is
|
.Ic off .
|
It is useful for a server.
|
.\"
|
.It Ic proposal_check Ar level ;
|
Specifies the action of lifetime length, key length and PFS of the phase 2
|
selection on the responder side, and the action of lifetime check in
|
phase 1.
|
The default level is
|
.Ic strict .
|
If the
|
.Ar level
|
is:
|
.Bl -tag -width Ds -compact
|
.It Ic obey
|
The responder will obey the initiator anytime.
|
.It Ic strict
|
If the responder's lifetime length is longer than the initiator's or
|
the responder's key length is shorter than the initiator's,
|
the responder will use the initiator's value.
|
Otherwise, the proposal will be rejected.
|
If PFS is not required by the responder, the responder will obey the proposal.
|
If PFS is required by both sides and the responder's group is not equal to
|
the initiator's, then the responder will reject the proposal.
|
.It Ic claim
|
If the responder's lifetime length is longer than the initiator's or
|
the responder's key length is shorter than the initiator's,
|
the responder will use the initiator's value.
|
If the responder's lifetime length is shorter than the initiator's,
|
the responder uses its own length AND sends a RESPONDER-LIFETIME notify
|
message to an initiator in the case of lifetime (phase 2 only).
|
For PFS, this directive behaves the same as
|
.Ic strict .
|
.It Ic exact
|
If the initiator's lifetime or key length is not equal to the responder's,
|
the responder will reject the proposal.
|
If PFS is required by both sides and the responder's group is not equal to
|
the initiator's, then the responder will reject the proposal.
|
.El
|
.\"
|
.It Ic support_proxy (on | off) ;
|
If this value is set to on, then both values of ID payloads in the
|
phase 2 exchange are always used as the addresses of end-point of
|
IPsec-SAs.
|
The default is off.
|
.\"
|
.It Ic generate_policy (on | off | require | unique) ;
|
This directive is for the responder.
|
Therefore you should set
|
.Ic passive
|
to on in order that
|
.Xr racoon 8
|
only becomes a responder.
|
If the responder does not have any policy in SPD during phase 2
|
negotiation, and the directive is set to on, then
|
.Xr racoon 8
|
will choose the first proposal in the
|
SA payload from the initiator, and generate policy entries from the proposal.
|
It is useful to negotiate with clients whose IP address is allocated
|
dynamically.
|
Note that an inappropriate policy might be installed into the responder's SPD
|
by the initiator,
|
so other communications might fail if such policies are installed
|
due to a policy mismatch between the initiator and the responder.
|
.Ic on
|
and
|
.Ic require
|
values mean the same thing (generate a require policy).
|
.Ic unique
|
tells racoon to set up unique policies, with a monotoning increasing
|
reqid number (between 1 and IPSEC_MANUAL_REQID_MAX).
|
This directive is ignored in the initiator case.
|
The default value is
|
.Ic off .
|
.\"
|
.\"
|
.It Ic nat_traversal (on | off | force) ;
|
This directive enables use of the NAT-Traversal IPsec extension
|
(NAT-T).
|
NAT-T allows one or both peers to reside behind a NAT gateway (i.e.,
|
doing address- or port-translation).
|
If a NAT gateway is detected during the phase 1 handshake, racoon will
|
attempt to negotiate the use of NAT-T with the remote peer.
|
If the negotiation succeeds, all ESP and AH packets for the given connection
|
will be encapsulated into UDP datagrams (port 4500, by default).
|
Possible values are:
|
.Bl -tag -width Ds -compact
|
.It Ic on
|
NAT-T is used when a NAT gateway is detected between the peers.
|
.It Ic off
|
NAT-T is not proposed/accepted.
|
This is the default.
|
.It Ic force
|
NAT-T is used regardless of whether a NAT gateway is detected between the
|
peers or not.
|
.El
|
Please note that NAT-T support is a compile-time option.
|
Although it is enabled in the source distribution by default, it
|
may not be available in your particular build.
|
In that case you will get a
|
warning when using any NAT-T related config options.
|
.\"
|
.It Ic dpd_delay Ar delay ;
|
This option activates the DPD and sets the time (in seconds) allowed
|
between 2 proof of liveliness requests.
|
The default value is
|
.Ic 0 ,
|
which disables DPD monitoring, but still negotiates DPD support.
|
.\"
|
.It Ic dpd_retry Ar delay ;
|
If
|
.Ic dpd_delay
|
is set, this sets the delay (in seconds) to wait for a proof of
|
liveliness before considering it as failed and send another request.
|
The default value is
|
.Ic 5 .
|
.\"
|
.It Ic dpd_maxfail Ar number ;
|
If
|
.Ic dpd_delay
|
is set, this sets the maximum number of liveliness proofs to request
|
(without reply) before considering the peer is dead.
|
The default value is
|
.Ic 5 .
|
.\"
|
.It Ic nonce_size Ar number ;
|
define the byte size of nonce value.
|
Racoon can send any value although
|
RFC2409 specifies that the value MUST be between 8 and 256 bytes.
|
The default size is 16 bytes.
|
.\"
|
.It Ic ph1id Ar number ;
|
An optionnal number to identify the remote proposal and to link it
|
only with sainfos who have the same number.
|
Defaults to 0.
|
.\"
|
.It Xo
|
.Ic proposal { Ar sub-substatements Ic }
|
.Xc
|
.Bl -tag -width Ds -compact
|
.\"
|
.It Ic encryption_algorithm Ar algorithm ;
|
Specifies the encryption algorithm used for the phase 1 negotiation.
|
This directive must be defined.
|
.Ar algorithm
|
is one of following:
|
.Ic des, 3des, blowfish, cast128, aes, camellia
|
.\".Ic rc5 , idea
|
for Oakley.
|
For other transforms, this statement should not be used.
|
.\"
|
.It Ic hash_algorithm Ar algorithm ;
|
Defines the hash algorithm used for the phase 1 negotiation.
|
This directive must be defined.
|
.Ar algorithm
|
is one of following:
|
.Ic md5, sha1, sha256, sha384, sha512
|
for Oakley.
|
.\"
|
.It Ic authentication_method Ar type ;
|
Defines the authentication method used for the phase 1 negotiation.
|
This directive must be defined.
|
.Ar type
|
is one of:
|
.Ic pre_shared_key , rsasig
|
(for plain RSA authentication),
|
.Ic gssapi_krb , hybrid_rsa_server ,
|
.Ic hybrid_rsa_client , xauth_rsa_server , xauth_rsa_client , xauth_psk_server
|
or
|
.Ic xauth_psk_client .
|
.\"
|
.It Ic dh_group Ar group ;
|
Defines the group used for the Diffie-Hellman exponentiations.
|
This directive must be defined.
|
.Ar group
|
is one of following:
|
.Ic modp768 , modp1024 , modp1536 ,
|
.Ic modp2048 , modp3072 , modp4096 ,
|
.Ic modp6144 , modp8192 .
|
Or you can define 1, 2, 5, 14, 15, 16, 17, or 18 as the DH group number.
|
When you want to use aggressive mode,
|
you must define the same DH group in each proposal.
|
.It Ic lifetime time Ar number Ar timeunit ;
|
Defines the lifetime of the phase 1 SA proposal.
|
Refer to the description of the
|
.Ic lifetime
|
directive defined in the
|
.Ic remote
|
directive.
|
.It Ic gss_id Ar string ;
|
Defines the GSS-API endpoint name, to be included as an attribute in the SA,
|
if the
|
.Ic gssapi_krb
|
authentication method is used.
|
If this is not defined, the default value of
|
.Ql host/hostname
|
is used, where hostname is the value returned by the
|
.Xr hostname 1
|
command.
|
.El
|
.El
|
.El
|
.\"
|
.Ss Policy Specifications
|
The policy directive is obsolete, policies are now in the SPD.
|
.Xr racoon 8
|
will obey the policy configured into the kernel by
|
.Xr setkey 8 ,
|
and will construct phase 2 proposals by combining
|
.Ic sainfo
|
specifications in
|
.Nm ,
|
and policies in the kernel.
|
.\"
|
.Ss Sainfo Specifications
|
.Bl -tag -width Ds -compact
|
.It Xo
|
.Ic sainfo ( Ar source_id destination_id | Ar source_id Ic anonymous | Ic anonymous Ar destination_id | Ic anonymous ) [ from Ar idtype [ Ar string ] ] [ Ic group Ar string ]
|
.Ic { Ar statements Ic }
|
.Xc
|
defines the parameters of the IKE phase 2 (IPsec-SA establishment).
|
.Ar source_id
|
and
|
.Ar destination_id
|
are constructed like:
|
.Pp
|
.Ic address Ar address
|
.Bq Ic / Ar prefix
|
.Bq Ic [ Ar port ]
|
.Ar ul_proto
|
.Pp
|
or
|
.Pp
|
.Ic subnet Ar address
|
.Bq Ic / Ar prefix
|
.Bq Ic [ Ar port ]
|
.Ar ul_proto
|
.Pp
|
or
|
.Pp
|
.Ar idtype Ar string
|
.Pp
|
An id string should be expressed to match the exact value of an ID payload
|
(source is the local end, destination is the remote end).
|
This is not like a filter rule.
|
For example, if you define 3ffe:501:4819::/48 as
|
.Ar source_id .
|
3ffe:501:4819:1000:/64 will not match.
|
.Pp
|
In the case of a longest prefix (selecting a single host),
|
.Ar address
|
instructs to send ID type of ADDRESS while
|
.Ar subnet
|
instructs to send ID type of SUBNET.
|
Otherwise, these instructions are identical.
|
.Pp
|
The group keyword allows an XAuth group membership check to be performed
|
for this sainfo section.
|
When the mode_cfg auth source is set to
|
.Ic system
|
or
|
.Ic ldap ,
|
the XAuth user is verified to be a member of the specified group
|
before allowing a matching SA to be negotiated.
|
.Pp
|
.Bl -tag -width Ds -compact
|
.\"
|
.It Ic pfs_group Ar group ;
|
define the group of Diffie-Hellman exponentiations.
|
If you do not require PFS then you can omit this directive.
|
Any proposal will be accepted if you do not specify one.
|
.Ar group
|
is one of following:
|
.Ic modp768 , modp1024 , modp1536 ,
|
.Ic modp2048 , modp3072 , modp4096 ,
|
.Ic modp6144 , modp8192 .
|
Or you can define 1, 2, 5, 14, 15, 16, 17, or 18 as the DH group number.
|
.\"
|
.It Ic lifetime time Ar number Ar timeunit ;
|
define how long an IPsec-SA will be used, in timeunits.
|
Any proposal will be accepted, and no attribute(s) will be proposed to
|
the peer if you do not specify it(them).
|
See the
|
.Ic proposal_check
|
directive.
|
.\"
|
.It Ic remoteid Ar number ;
|
Sainfos will only be used if their remoteid matches the ph1id of the
|
remote section used for phase 1.
|
Defaults to 0, which is also the default for ph1id.
|
.\"
|
.It Ic my_identifier Ar idtype ... ;
|
is obsolete.
|
It does not make sense to specify an identifier in the phase 2.
|
.El
|
.\"
|
.Pp
|
.Xr racoon 8
|
does not have a list of security protocols to be negotiated.
|
The list of security protocols are passed by SPD in the kernel.
|
Therefore you have to define all of the potential algorithms
|
in the phase 2 proposals even if there are algorithms which will not be used.
|
These algorithms are define by using the following three directives,
|
with a single comma as the separator.
|
For algorithms that can take variable-length keys, algorithm names
|
can be followed by a key length, like
|
.Dq Li blowfish 448 .
|
.Xr racoon 8
|
will compute the actual phase 2 proposals by computing
|
the permutation of the specified algorithms,
|
and then combining them with the security protocol specified by the SPD.
|
For example, if
|
.Ic des , 3des , hmac_md5 ,
|
and
|
.Ic hmac_sha1
|
are specified as algorithms, we have four combinations for use with ESP,
|
and two for AH.
|
Then, based on the SPD settings,
|
.Xr racoon 8
|
will construct the actual proposals.
|
If the SPD entry asks for ESP only, there will be 4 proposals.
|
If it asks for both AH and ESP, there will be 8 proposals.
|
Note that the kernel may not support the algorithm you have specified.
|
.\"
|
.Bl -tag -width Ds -compact
|
.It Ic encryption_algorithm Ar algorithms ;
|
.Ic des , 3des , des_iv64 , des_iv32 ,
|
.Ic rc5 , rc4 , idea , 3idea ,
|
.Ic cast128 , blowfish , null_enc ,
|
.Ic twofish , rijndael , aes , camellia
|
.Pq used with ESP
|
.\"
|
.It Ic authentication_algorithm Ar algorithms ;
|
.Ic des , 3des , des_iv64 , des_iv32 ,
|
.Ic hmac_md5 , hmac_sha1 , hmac_sha256, hmac_sha384, hmac_sha512, non_auth
|
.Pq used with ESP authentication and AH
|
.\"
|
.It Ic compression_algorithm Ar algorithms ;
|
.Ic deflate
|
.Pq used with IPComp
|
.El
|
.El
|
.\"
|
.Ss Logging level
|
.Bl -tag -width Ds -compact
|
.It Ic log Ar level ;
|
Defines the logging level.
|
.Ar level
|
is one of following:
|
.Ic error , warning , notify , info , debug
|
and
|
.Ic debug2 .
|
The default is
|
.Ic info .
|
If you set the logging level too high on slower machines,
|
IKE negotiation can fail due to timing constraint changes.
|
.El
|
.\"
|
.Ss Specifies the way to pad
|
.Bl -tag -width Ds -compact
|
.It Ic padding { Ar statements Ic }
|
specifies the padding format.
|
The following are valid statements:
|
.Bl -tag -width Ds -compact
|
.It Ic randomize (on | off) ;
|
Enables the use of a randomized value for padding.
|
The default is on.
|
.It Ic randomize_length (on | off) ;
|
The pad length will be random.
|
The default is off.
|
.It Ic maximum_length Ar number ;
|
Defines a maximum padding length.
|
If
|
.Ic randomize_length
|
is off, this is ignored.
|
The default is 20 bytes.
|
.It Ic exclusive_tail (on | off) ;
|
Means to put the number of pad bytes minus one into the last part
|
of the padding.
|
The default is on.
|
.It Ic strict_check (on | off) ;
|
Means to constrain the peer to set the number of pad bytes.
|
The default is off.
|
.El
|
.El
|
.Ss ISAKMP mode configuration settings
|
.Bl -tag -width Ds -compact
|
.It Ic mode_cfg { Ar statements Ic }
|
Defines the information to return for remote hosts' ISAKMP mode config
|
requests.
|
Also defines the authentication source for remote peers
|
authenticating through Xauth.
|
.Pp
|
The following are valid statements:
|
.Bl -tag -width Ds -compact
|
.It Ic auth_source (system | radius | pam | ldap) ;
|
Specifies the source for authentication of users through Xauth.
|
.Ar system
|
means to use the Unix user database.
|
This is the default.
|
.Ar radius
|
means to use a RADIUS server.
|
It works only if
|
.Xr racoon 8
|
was built with libradius support. Radius configuration is hanlded by
|
.Xr radius.conf 5 .
|
.Ar pam
|
means to use PAM.
|
It works only if
|
.Xr racoon 8
|
was built with libpam support.
|
.Ar ldap
|
means to use LDAP.
|
It works only if
|
.Xr racoon 8
|
was built with libldap support. LDAP configuration is handled by
|
statements in the
|
.Ic ldapcfg
|
section.
|
.It Ic auth_groups Ar "group1", ... ;
|
Specifies the group memberships for Xauth in quoted group name strings.
|
When defined, the authenticating user must be a member of at least one
|
group for Xauth to succeed.
|
.It Ic group_source (system | ldap) ;
|
Specifies the source for group validataion of users through Xauth.
|
.Ar system
|
means to use the Unix user database.
|
This is the default.
|
.Ar ldap
|
means to use LDAP.
|
It works only if
|
.Xr racoon 8
|
was built with libldap support and requires LDAP authentication.
|
LDAP configuration is handled by statements in the
|
.Ic ldapcfg
|
section.
|
.It Ic conf_source (local | radius | ldap) ;
|
Specifies the source for IP addresses and netmask allocated through ISAKMP
|
mode config.
|
.Ar local
|
means to use the local IP pool defined by the
|
.Ic network4
|
and
|
.Ic pool_size
|
statements.
|
This is the default.
|
.Ar radius
|
means to use a RADIUS server.
|
It works only if
|
.Xr racoon 8
|
was built with libradius support and requires RADIUS authentiation.
|
RADIUS configuration is handled by
|
.Xr radius.conf 5 .
|
.Ar ldap
|
means to use an LDAP server.
|
It works only if
|
.Xr racoon 8
|
was built with libldap support and requires LDAP authentication.
|
LDAP configuration is handled by
|
statements in the
|
.Ic ldapcfg
|
section.
|
.It Ic accounting (none | system | radius | pam) ;
|
Enables or disables accounting for Xauth logins and logouts.
|
The default is
|
.Ar none
|
which disable accounting.
|
Specifying
|
.Ar system
|
enables system accounting through
|
.Xr utmp 5 .
|
Specifying
|
.Ar radius
|
enables RADIUS accounting.
|
It works only if
|
.Xr racoon 8
|
was built with libradius support and requires RADIUS authentication.
|
RADIUS configuration is handled by
|
.Xr radius.conf 5 .
|
Specifying
|
.Ar pam
|
enables PAM accounting.
|
It works only if
|
.Xr racoon 8
|
was build with libpam support and requires PAM authentication.
|
.It Ic pool_size Ar size
|
Specify the size of the IP address pool, either local or allocated
|
through RADIUS.
|
.Ic conf_source
|
selects the local pool or the RADIUS configuration, but in both
|
configurations, you cannot have more than
|
.Ar size
|
users connected at the same time.
|
The default is 255.
|
.It Ic network4 Ar address ;
|
.It Ic netmask4 Ar address ;
|
The local IP pool base address and network mask from which dynamically
|
allocated IPv4 addresses should be taken.
|
This is used if
|
.Ic conf_source
|
is set to
|
.Ar local
|
or if the RADIUS server returned
|
.Ar 255.255.255.254 .
|
Default is
|
.Ar 0.0.0.0/0.0.0.0 .
|
.It Ic dns4 Ar addresses ;
|
A list of IPv4 addresses for DNS servers, separated by commas, or on multiple
|
.Ic dns4
|
lines.
|
.It Ic wins4 Ar addresses ;
|
A list of IPv4 address for WINS servers. The keyword
|
.It nbns4
|
can also be used as an alias for
|
.It wins4 .
|
.It Ic split_network (include | local_lan) Ar network/mask, ...
|
The network configuration to send, in cidr notation (e.g. 192.168.1.0/24).
|
If
|
.Ic include
|
is specified, the tunnel should be only used to encrypt the indicated
|
destinations ; otherwise, if
|
.Ic local_lan
|
is used, everything will pass through the tunnel but those destinations.
|
.It Ic default_domain Ar domain ;
|
The default DNS domain to send.
|
.It Ic split_dns Ar "domain", ...
|
The split dns configuration to send, in quoted domain name strings.
|
This list can be used to describe a list of domain names for which
|
a peer should query a modecfg assigned dns server.
|
DNS queries for all other domains would be handled locally.
|
(Cisco VPN client only).
|
.It Ic banner Ar path ;
|
The path of a file displayed on the client at connection time.
|
Default is
|
.Ar /etc/motd .
|
.It Ic auth_throttle Ar delay ;
|
On each failed Xauth authentication attempt, refuse new attempts for a set
|
.Ar delay
|
of seconds.
|
This is to avoid dictionary attacks on Xauth passwords.
|
Default is one second.
|
Set to zero to disable authentication delay.
|
.It Ic pfs_group Ar group ;
|
Sets the PFS group used in the client proposal (Cisco VPN client only).
|
Default is 0.
|
.It Ic save_passwd (on | off) ;
|
Allow the client to save the Xauth password (Cisco VPN client only).
|
Default is off.
|
.El
|
.El
|
.Ss Ldap configuration settings
|
.Bl -tag -width Ds -compact
|
.It Ic ldapcfg { Ar statements Ic }
|
Defines the parameters that will be used to communicate with an ldap
|
server for
|
.Ic xauth
|
authentication.
|
.Pp
|
The following are valid statements:
|
.Bl -tag -width Ds -compact
|
.It Ic version (2 | 3) ;
|
The ldap protocol version used to communicate with the server.
|
The default is
|
.Ic 3 .
|
.It Ic host Ar (hostname | address) ;
|
The host name or ip address of the ldap server.
|
The default is
|
.Ic localhost .
|
.It Ic port Ar number;
|
The port that the ldap server is configured to listen on.
|
The default is
|
.Ic 389 .
|
.It Ic base Ar distinguished name;
|
The ldap search base.
|
This option has no default value.
|
.It Ic subtree (on | off) ;
|
Use the subtree ldap search scope.
|
Otherwise, use the one level search scope.
|
The default is
|
.Ic off .
|
.It Ic bind_dn Ar distinguised name;
|
The user dn used to optionaly bind as before performing ldap search operations.
|
If this option is not specified, anonymous binds are used.
|
.It Ic bind_pw Ar string;
|
The password used when binding as
|
.Ic bind_dn .
|
.It Ic attr_user Ar attribute name;
|
The attribute used to specify a users name in an ldap directory.
|
For example,
|
if a user dn is "cn=jdoe,dc=my,dc=net" then the attribute would be "cn".
|
The default value is
|
.Ic cn .
|
.It Ic attr_addr Ar attribute name;
|
.It Ic attr_mask Ar attribute name;
|
The attributes used to specify a users network address and subnet mask in an
|
ldap directory.
|
These values are forwarded during mode_cfg negotiation when
|
the conf_source is set to ldap.
|
The default values are
|
.Ic racoon-address
|
and
|
.Ic racoon-netmask .
|
.It Ic attr_group Ar attribute name;
|
The attribute used to specify a group name in an ldap directory.
|
For example,
|
if a group dn is "cn=users,dc=my,dc=net" then the attribute would be "cn".
|
The default value is
|
.Ic cn .
|
.It Ic attr_member Ar attribute name;
|
The attribute used to specify group membership in an ldap directory.
|
The default value is
|
.Ic member .
|
.El
|
.El
|
.Ss Special directives
|
.Bl -tag -width Ds -compact
|
.It Ic complex_bundle (on | off) ;
|
defines the interpretation of proposal in the case of SA bundle.
|
Normally
|
.Dq IP AH ESP IP payload
|
is proposed as
|
.Dq AH tunnel and ESP tunnel .
|
The interpretation is more common to other IKE implementations, however,
|
it allows very limited set of combinations for proposals.
|
With the option enabled, it will be proposed as
|
.Dq AH transport and ESP tunnel .
|
The default value is
|
.Ic off .
|
.El
|
.\"
|
.Ss Pre-shared key File
|
The pre-shared key file defines pairs of identifiers and corresponding
|
shared secret keys which are used in the pre-shared key authentication
|
method in phase 1.
|
The pair in each line is separated by some number of blanks and/or tab
|
characters like in the
|
.Xr hosts 5
|
file.
|
Key can include blanks because everything after the first blanks
|
is interpreted as the secret key.
|
Lines starting with
|
.Ql #
|
are ignored.
|
Keys which start with
|
.Ql 0x
|
are interpreted as hexadecimal strings.
|
Note that the file must be owned by the user ID running
|
.Xr racoon 8
|
.Pq usually the privileged user ,
|
and must not be accessible by others.
|
.\"
|
.Sh EXAMPLES
|
The following shows how the remote directive should be configured.
|
.Bd -literal -offset
|
path pre_shared_key "/usr/local/v6/etc/psk.txt" ;
|
remote anonymous
|
{
|
exchange_mode aggressive,main,base;
|
lifetime time 24 hour;
|
proposal {
|
encryption_algorithm 3des;
|
hash_algorithm sha1;
|
authentication_method pre_shared_key;
|
dh_group 2;
|
}
|
}
|
|
sainfo anonymous
|
{
|
pfs_group 2;
|
lifetime time 12 hour ;
|
encryption_algorithm 3des, blowfish 448, twofish, rijndael ;
|
authentication_algorithm hmac_sha1, hmac_md5 ;
|
compression_algorithm deflate ;
|
}
|
.Ed
|
.Pp
|
If you are configuring plain RSA authentication, the remote directive
|
should look like the following:
|
.Bd -literal -offset
|
path certificate "/usr/local/v6/etc" ;
|
remote anonymous
|
{
|
exchange_mode main,base ;
|
lifetime time 12 hour ;
|
certificate_type plain_rsa "/usr/local/v6/etc/myrsakey.priv";
|
peers_certfile plain_rsa "/usr/local/v6/etc/yourrsakey.pub";
|
proposal {
|
encryption_algorithm aes ;
|
hash_algorithm sha1 ;
|
authentication_method rsasig ;
|
dh_group 2 ;
|
}
|
}
|
.Ed
|
.Pp
|
The following is a sample for the pre-shared key file.
|
.Bd -literal -offset
|
10.160.94.3 mekmitasdigoat
|
172.16.1.133 0x12345678
|
194.100.55.1 whatcertificatereally
|
3ffe:501:410:ffff:200:86ff:fe05:80fa mekmitasdigoat
|
3ffe:501:410:ffff:210:4bff:fea2:8baa mekmitasdigoat
|
foo@kame.net mekmitasdigoat
|
foo.kame.net hoge
|
.Ed
|
.\"
|
.Sh SEE ALSO
|
.Xr racoon 8 ,
|
.Xr racoonctl 8 ,
|
.Xr setkey 8
|
.\"
|
.Sh HISTORY
|
The
|
.Nm
|
configuration file first appeared in the
|
.Dq YIPS
|
Yokogawa IPsec implementation.
|
.\"
|
.Sh BUGS
|
Some statements may not be handled by
|
.Xr racoon 8
|
yet.
|
.Pp
|
Diffie-Hellman computation can take a very long time, and may cause
|
unwanted timeouts, specifically when a large D-H group is used.
|
.\"
|
.Sh SECURITY CONSIDERATIONS
|
The use of IKE phase 1 aggressive mode is not recommended,
|
as described in
|
.Li http://www.kb.cert.org/vuls/id/886601 .
|