2002-02-10 21:57:54 +00:00
|
|
|
.Dd 2002-02-06
|
|
|
|
.Dt TINC.CONF 5
|
|
|
|
.\" Manual page created by:
|
|
|
|
.\" Ivo Timmermans <itimmermans@bigfoot.com>
|
|
|
|
.\" Guus Sliepen <guus@sliepen.warande.net>
|
|
|
|
.Sh NAME
|
|
|
|
.Nm tinc.conf
|
|
|
|
.Nd tinc daemon configuration
|
|
|
|
.Sh DESCRIPTION
|
|
|
|
The files in the
|
|
|
|
.Pa /etc/tinc/
|
|
|
|
directory contain runtime and security information for the tinc daemon.
|
|
|
|
.Sh NETWORKS
|
|
|
|
It is perfectly ok for you to run more than one tinc daemon.
|
|
|
|
However, in its default form,
|
|
|
|
you will soon notice that you can't use two different configuration files without the
|
|
|
|
.Fl c
|
|
|
|
option.
|
|
|
|
.Pp
|
|
|
|
We have thought of another way of dealing with this: network names.
|
|
|
|
This means that you call
|
|
|
|
.Nm
|
|
|
|
with the
|
|
|
|
.Fl n
|
|
|
|
option, which will assign a name to this daemon.
|
|
|
|
.Pp
|
|
|
|
The effect of this is that the daemon will set its configuration root to
|
|
|
|
.Pa /etc/tinc/ Ns Ar NETNAME Ns Pa / ,
|
|
|
|
where
|
|
|
|
.Ar NETNAME
|
|
|
|
is your argument to the
|
|
|
|
.Fl n
|
|
|
|
option.
|
|
|
|
You'll notice that messages appear in syslog as coming from
|
|
|
|
.Nm tincd. Ns Ar NETNAME .
|
|
|
|
.Pp
|
|
|
|
However, it is not strictly necessary that you call tinc with the
|
|
|
|
.Fl n
|
|
|
|
option.
|
|
|
|
In this case, the network name would just be empty,
|
|
|
|
and it will be used as such.
|
|
|
|
.Nm tinc
|
|
|
|
now looks for files in
|
|
|
|
.Pa /etc/tinc/ ,
|
|
|
|
instead of
|
|
|
|
.Pa /etc/tinc/ Ns Ar NETNAME Ns Pa / ;
|
|
|
|
the configuration file should be
|
|
|
|
.Pa /etc/tinc/tinc.conf ,
|
|
|
|
and the host configuration files are now expected to be in
|
|
|
|
.Pa /etc/tinc/hosts/ .
|
|
|
|
.Pp
|
|
|
|
But it is highly recommended that you use this feature of
|
|
|
|
.Nm tinc ,
|
|
|
|
because it will be so much clearer whom your daemon talks to.
|
|
|
|
Hence, we will assume that you use it.
|
|
|
|
.Sh NAMES
|
|
|
|
Each tinc daemon should have a name that is unique in the network which it will be part of.
|
|
|
|
The name will be used by other tinc daemons for identification.
|
|
|
|
The name has to be declared in the
|
|
|
|
.Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /tinc.conf
|
|
|
|
file.
|
|
|
|
.Pp
|
|
|
|
To make things easy,
|
|
|
|
choose something that will give unique and easy to remember names to your tinc daemon(s).
|
2000-10-30 10:19:06 +00:00
|
|
|
You could try things like hostnames, owner surnames or location names.
|
2002-02-10 21:57:54 +00:00
|
|
|
.Sh PUBLIC/PRIVATE KEYS
|
|
|
|
You should use
|
|
|
|
.Ic tincd -K
|
|
|
|
to generate public/private keypairs.
|
|
|
|
It will generate two keys.
|
|
|
|
The private key should be stored in a separate file
|
|
|
|
.Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /rsa_key.priv
|
|
|
|
\-\- where
|
|
|
|
.Ar NETNAME
|
|
|
|
stands for the network (see
|
|
|
|
.Sx NETWORKS )
|
|
|
|
above.
|
|
|
|
The public key should be stored in the host configuration file
|
|
|
|
.Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /hosts/ Ns Va NAME
|
|
|
|
\-\- where
|
|
|
|
.Va NAME
|
|
|
|
stands for the name of the local tinc daemon (see
|
|
|
|
.Sx NAMES ) .
|
|
|
|
.Sh SERVER CONFIGURATION
|
2000-10-30 00:22:54 +00:00
|
|
|
The server configuration of the daemon is done in the file
|
2002-02-10 21:57:54 +00:00
|
|
|
.Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /tinc.conf .
|
|
|
|
This file consists of comments (lines started with a
|
|
|
|
.Li # )
|
|
|
|
or assignments in the form of:
|
|
|
|
.Pp
|
|
|
|
.Va Variable Li = Ar Value .
|
|
|
|
.Pp
|
2000-03-26 00:33:07 +00:00
|
|
|
The variable names are case insensitive, and any spaces, tabs,
|
2002-02-10 21:57:54 +00:00
|
|
|
newlines and carriage returns are ignored.
|
|
|
|
Note: it is not required that you put in the
|
|
|
|
.Li =
|
|
|
|
sign, but doing so improves readability.
|
|
|
|
If you leave it out, remember to replace it with at least one space character.
|
|
|
|
.Pp
|
|
|
|
Here are all valid variables, listed in alphabetical order.
|
|
|
|
The default value is given between parentheses.
|
|
|
|
.Bl -tag -width indent
|
2002-02-18 16:25:19 +00:00
|
|
|
.It Va AddressFamily Li = ipv4 | ipv6 | any Pq ipv4
|
|
|
|
This option affects the address family of listening and outgoing sockets.
|
|
|
|
If
|
|
|
|
.Qq any
|
|
|
|
is selected, then the listening sockets will be IPv6 sockets,
|
|
|
|
but on most platforms those will also accept IPv4 connections.
|
2002-02-10 21:57:54 +00:00
|
|
|
.It Va BindToInterface Li = Ar interface Bq experimental
|
|
|
|
If your computer has more than one network interface,
|
|
|
|
.Nm tinc
|
|
|
|
will by default listen on all of them for incoming connections.
|
|
|
|
It is possible to bind only to a single interface with this variable.
|
|
|
|
.Pp
|
|
|
|
This option may not work on all platforms.
|
|
|
|
.It Va BindToIP Li = Ar address Bq experimental
|
|
|
|
If your computer has more than one IP address on a single interface
|
|
|
|
(for example if you are running virtual hosts),
|
|
|
|
.Nm tinc
|
|
|
|
will by default listen on all of them for incoming connections.
|
|
|
|
It is possible to bind only to a single IP address with this variable.
|
|
|
|
It is still possible to listen on several interfaces at the same time though,
|
|
|
|
if they share the same IP address.
|
|
|
|
.Pp
|
|
|
|
This option may not work on all platforms.
|
|
|
|
.It Va ConnectTo Li = Ar name
|
|
|
|
Specifies which other tinc daemon to connect to on startup.
|
|
|
|
Multiple
|
|
|
|
.Va ConnectTo
|
|
|
|
variables may be specified;
|
|
|
|
if connecting to the first one fails then tinc will try the next one, and so on.
|
|
|
|
The names should be known to this tinc daemon
|
|
|
|
(i.e., there should be a host configuration file for the name on the
|
|
|
|
.Va ConnectTo
|
2000-10-30 00:22:54 +00:00
|
|
|
line).
|
2002-02-10 21:57:54 +00:00
|
|
|
.Pp
|
|
|
|
If you don't specify a host with
|
|
|
|
.Va ConnectTo ,
|
|
|
|
.Nm tinc
|
|
|
|
won't try to connect to other daemons at all,
|
2000-10-30 00:22:54 +00:00
|
|
|
and will instead just listen for incoming connections.
|
2002-02-10 21:57:54 +00:00
|
|
|
.It Va Device Li = Ar device Po /dev/tap0 or /dev/misc/net/tun Pc
|
|
|
|
The virtual network device to use.
|
|
|
|
.Nm tinc
|
|
|
|
will automatically detect what kind of device it is.
|
|
|
|
Note that you can only use one device per daemon.
|
|
|
|
The info pages of the tinc package contain more information
|
|
|
|
about configuring the virtual network device.
|
|
|
|
.It Va Hostnames Li = yes | no Pq no
|
2000-08-21 12:50:15 +00:00
|
|
|
This option selects whether IP addresses (both real and on the VPN) should
|
|
|
|
be resolved. Since DNS lookups are blocking, it might affect tinc's
|
2002-02-10 21:57:54 +00:00
|
|
|
efficiency, even stopping the daemon for a few seconds every time it does
|
2000-08-21 12:50:15 +00:00
|
|
|
a lookup if your DNS server is not responding.
|
2002-02-10 21:57:54 +00:00
|
|
|
.Pp
|
2000-10-30 00:22:54 +00:00
|
|
|
This does not affect resolving hostnames to IP addresses from the
|
|
|
|
host configuration files.
|
2002-02-10 21:57:54 +00:00
|
|
|
.It Va Interface Li = Ar interface
|
|
|
|
Defines the name of the interface corresponding to the virtual network device.
|
|
|
|
Depending on the operating system and the type of device this may or may not actually set the name.
|
|
|
|
Currently this option only affects the Linux tun/tap device.
|
|
|
|
.It Va KeyExpire Li = Ar period Pq 3600
|
|
|
|
This option controls the period the encryption keys used to encrypt the data are valid.
|
|
|
|
It is common practice to change keys at regular intervals to make it even harder for crackers,
|
|
|
|
even though it is thought to be nearly impossible to crack a single key.
|
|
|
|
.It Va MaxTimeout Li = Ar period Pq 900
|
|
|
|
This is the maximum delay before trying to reconnect to other tinc daemons.
|
|
|
|
.It Va Mode Li = router | switch | hub Pq router
|
|
|
|
This option selects the way packets are routed to other daemons.
|
|
|
|
.Bl -tag -width indent
|
|
|
|
.It router
|
|
|
|
In this mode
|
|
|
|
.Va Subnet
|
|
|
|
variables in the host configuration files will be used to form a routing table.
|
|
|
|
Only unicast packets of routable protocols (IPv4 and IPv6) are supported in this mode.
|
|
|
|
.It switch
|
|
|
|
In this mode the MAC addresses of the packets on the VPN will be used to
|
|
|
|
dynamically create a routing table just like a network switch does.
|
|
|
|
Unicast, multicast and broadcast packets of every Ethernet protocol are supported in this mode
|
|
|
|
at the cost of frequent broadcast ARP requests and routing table updates.
|
|
|
|
.It hub
|
|
|
|
In this mode every packet will be broadcast to the other daemons.
|
|
|
|
.El
|
|
|
|
.It Va Name Li = Ar name Bq required
|
|
|
|
This is the name which identifies this tinc daemon.
|
|
|
|
It must be unique for the virtual private network this daemon will connect to.
|
|
|
|
.It Va PingTimeout Li = Ar period Pq 60
|
|
|
|
The number of seconds of inactivity that
|
|
|
|
.Nm tinc
|
|
|
|
will wait before sending a probe to the other end.
|
|
|
|
If that other end doesn't answer within that same amount of time,
|
|
|
|
the connection is terminated,
|
|
|
|
and the others will be notified of this.
|
|
|
|
.It Va PrivateKey Li = Ar key Bq obsolete
|
|
|
|
The private RSA key of this tinc daemon.
|
|
|
|
It will allow this tinc daemon to authenticate itself to other daemons.
|
|
|
|
.It Va PrivateKeyFile Li = Ar filename Bq recommended
|
2001-01-06 18:44:55 +00:00
|
|
|
The file in which the private RSA key of this tinc daemon resides.
|
2002-02-10 21:57:54 +00:00
|
|
|
Note that there must be exactly one of
|
|
|
|
.Va PrivateKey
|
|
|
|
or
|
|
|
|
.Va PrivateKeyFile
|
2001-01-06 18:44:55 +00:00
|
|
|
specified in the configuration file.
|
2002-02-10 21:57:54 +00:00
|
|
|
.El
|
|
|
|
.Sh HOST CONFIGURATION FILES
|
|
|
|
The host configuration files contain all information needed
|
|
|
|
to establish a connection to those hosts.
|
|
|
|
A host configuration file is also required for the local tinc daemon,
|
|
|
|
it will use it to read in it's listen port, public key and subnets.
|
|
|
|
.Pp
|
|
|
|
The idea is that these files are portable.
|
|
|
|
You can safely mail your own host configuration file to someone else.
|
|
|
|
That other person can then copy it to his own hosts directory,
|
|
|
|
and now his tinc daemon will be able to connect to your tinc daemon.
|
|
|
|
Since host configuration files only contain public keys,
|
|
|
|
no secrets are revealed by sending out this information.
|
|
|
|
.Bl -tag -width indent
|
|
|
|
.It Va Address Li = Ar address Bq recommended
|
|
|
|
The IP address or hostname of this tinc daemon on the real network.
|
|
|
|
.It Va Cipher Li = Ar cipher Pq blowfish
|
|
|
|
The symmetric cipher algorithm used to encrypt UDP packets.
|
|
|
|
Any cipher supported by OpenSSL is recognised.
|
|
|
|
Furthermore, specifying
|
|
|
|
.Qq none
|
|
|
|
will turn off packet encryption.
|
2002-02-11 15:59:18 +00:00
|
|
|
.It Va Compression Li = Ar level Pq 0
|
|
|
|
This option sets the level of compression used for UDP packets.
|
|
|
|
Possible values are 0 (off), 1 (fast) and any integer up to 9 (best).
|
2002-02-10 21:57:54 +00:00
|
|
|
.It Va Digest Li = Ar digest Pq sha1
|
|
|
|
The digest algorithm used to authenticate UDP packets.
|
|
|
|
Any digest supported by OpenSSL is recognised.
|
|
|
|
Furthermore, specifying
|
|
|
|
.Qq none
|
|
|
|
will turn off packet authentication.
|
|
|
|
.It Va IndirectData Li = yes | no Po no Pc Bq experimental
|
|
|
|
This option specifies whether other tinc daemons besides the one you specified with
|
|
|
|
.Va ConnectTo
|
|
|
|
can make a direct connection to you.
|
|
|
|
This is especially useful if you are behind a firewall
|
|
|
|
and it is impossible to make a connection from the outside to your tinc daemon.
|
|
|
|
Otherwise, it is best to leave this option out or set it to no.
|
|
|
|
.It Va MACLength Li = Ar length Pq 4
|
|
|
|
The length of the message authentication code used to authenticate UDP packets.
|
|
|
|
Can be anything from
|
|
|
|
.Qq 0
|
|
|
|
up to the length of the digest produced by the digest algorithm.
|
|
|
|
.It Va Port Li = Ar port Pq 655
|
|
|
|
The port number on which this tinc daemon is listening for incoming connections.
|
|
|
|
.It Va PublicKey Li = Ar key Bq obsolete
|
|
|
|
The public RSA key of this tinc daemon.
|
|
|
|
It will be used to cryptographically verify it's identity and to set up a secure connection.
|
|
|
|
.It Va PublicKeyFile Li = Ar filename Bq obsolete
|
2001-01-06 18:44:55 +00:00
|
|
|
The file in which the public RSA key of this tinc daemon resides.
|
2002-02-10 21:57:54 +00:00
|
|
|
.Pp
|
|
|
|
From version 1.0pre4 on
|
|
|
|
.Nm tinc
|
|
|
|
will store the public key directly into the host configuration file in PEM format,
|
|
|
|
the above two options then are not necessary.
|
|
|
|
Either the PEM format is used, or exactly one of the above two options must be specified
|
|
|
|
in each host configuration file,
|
|
|
|
if you want to be able to establish a connection with that host.
|
|
|
|
.It Va Subnet Li = Ar address Ns Op Li / Ns Ar masklength
|
|
|
|
The subnet which this tinc daemon will serve.
|
|
|
|
.Nm tinc
|
|
|
|
tries to look up which other daemon it should send a packet to by searching the appropriate subnet.
|
|
|
|
If the packet matches a subnet,
|
|
|
|
it will be sent to the daemon who has this subnet in his host configuration file.
|
|
|
|
Multiple subnet lines can be specified.
|
|
|
|
.Pp
|
|
|
|
Subnets can either be single MAC, IPv4 or IPv6 addresses,
|
|
|
|
in which case a subnet consisting of only that single address is assumed,
|
|
|
|
or they can be a IPv4 or IPv6 network address with a masklength.
|
|
|
|
For example, IPv4 subnets must be in a form like 192.168.1.0/24,
|
|
|
|
where 192.168.1.0 is the network address and 24 is the number of bits set in the netmask.
|
|
|
|
Note that subnets like 192.168.1.1/24 are invalid!
|
|
|
|
Read a networking HOWTO/FAQ/guide if you don't understand this.
|
|
|
|
.It Va TCPOnly Li = yes | no Po no Pc Bq experimental
|
|
|
|
If this variable is set to yes,
|
|
|
|
then the packets are tunnelled over the TCP connection instead of a UDP connection.
|
|
|
|
This is especially useful for those who want to run a tinc daemon
|
|
|
|
from behind a masquerading firewall,
|
|
|
|
or if UDP packet routing is disabled somehow.
|
|
|
|
This is experimental code, try this at your own risk.
|
|
|
|
It may not work at all.
|
2001-05-25 10:06:13 +00:00
|
|
|
Setting this options also implicitly sets IndirectData.
|
2002-02-10 21:57:54 +00:00
|
|
|
.El
|
|
|
|
.Sh FILES
|
|
|
|
.Bl -tag -width indent
|
|
|
|
.It Pa /etc/tinc/
|
2000-03-26 00:33:07 +00:00
|
|
|
The top directory for configuration files.
|
2002-02-10 21:57:54 +00:00
|
|
|
.It Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /tinc.conf
|
2000-10-30 00:22:54 +00:00
|
|
|
The default name of the server configuration file for net
|
2002-02-10 21:57:54 +00:00
|
|
|
.Ar NETNAME .
|
|
|
|
.It Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /hosts/
|
2000-10-30 00:22:54 +00:00
|
|
|
Host configuration files are kept in this directory.
|
2002-02-10 21:57:54 +00:00
|
|
|
.It Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /tinc-up
|
|
|
|
If an executable file with this name exists,
|
|
|
|
it will be executed right after the tinc daemon has connected to the virtual network device.
|
|
|
|
It can be used to set up the corresponding network interface.
|
|
|
|
.Pp
|
|
|
|
The environment variable
|
|
|
|
.Ev NETNAME
|
|
|
|
will be passed to the executable.
|
|
|
|
If specified with the
|
|
|
|
.Va Interface
|
|
|
|
configuration variable,
|
|
|
|
or if the virtual network device is a Linux tun/tap device,
|
|
|
|
the environment variable
|
|
|
|
.Ev INTERFACE
|
|
|
|
will be set to the name of the network interface.
|
|
|
|
.It Pa /etc/tinc/ Ns Ar NETNAME Ns Pa /tinc-down
|
|
|
|
If an executable file with this name exists,
|
|
|
|
it will be executed right before the tinc daemon is going to close
|
|
|
|
its connection to the virtual network device.
|
|
|
|
The same environment variables will be passed as mentioned above.
|
|
|
|
.El
|
|
|
|
.Sh SEE ALSO
|
|
|
|
.Xr tincd 8 ,
|
|
|
|
.Pa http://tinc.nl.linux.org/ ,
|
|
|
|
.Pa http://www.linuxdoc.org/LDP/nag2/ .
|
|
|
|
.Pp
|
2000-03-26 00:33:07 +00:00
|
|
|
The full documentation for
|
2002-02-10 21:57:54 +00:00
|
|
|
.Nm tinc
|
|
|
|
is maintained as a Texinfo manual.
|
|
|
|
If the info and tinc programs are properly installed at your site, the command
|
|
|
|
.Ic info tinc
|
2000-03-26 00:33:07 +00:00
|
|
|
should give you access to the complete manual.
|
2002-02-10 21:57:54 +00:00
|
|
|
.Pp
|
|
|
|
.Nm tinc
|
|
|
|
comes with ABSOLUTELY NO WARRANTY.
|
|
|
|
This is free software, and you are welcome to redistribute it under certain conditions;
|
2000-03-26 00:33:07 +00:00
|
|
|
see the file COPYING for details.
|