A mirror of Tinc VPN git repository : https://tinc-vpn.org/git/tinc

Guus Sliepen 4370b98bb1 Update configure scripts. 21 years ago
doc c96900f378 Add section about configuring Cygwin and CIPE on Windows. 21 years ago
lib 714fb32d03 Fix compile errors and warnings. 21 years ago
m4 4370b98bb1 Update configure scripts. 21 years ago
po ae50b0077e Update dutch translation and make sure all device drivers are included in 21 years ago
src ae50b0077e Update dutch translation and make sure all device drivers are included in 21 years ago
.cvsignore cebb6efeb0 More files to ignore in CVS 23 years ago
AUTHORS 627f7c22b4 s/sliepen.warande.net/sliepen.eu.org/g 22 years ago
COPYING 1243156a5e Initial revision 24 years ago
COPYING.README 94192b3db1 Stated that distributing executables linked with OpenSSL is permitted 23 years ago
INSTALL 1243156a5e Initial revision 24 years ago
Makefile.am 912e7e968f Gettext 1.11.5 compatibility. 22 years ago
NEWS b216297a00 Remarks about 1.0pre8 release. 22 years ago
README b216297a00 Remarks about 1.0pre8 release. 22 years ago
THANKS 5db596c684 Simplify logging, update copyrights and some minor cleanups. 21 years ago
TODO f0aa9641e8 Merging of the entire pre5 branch. 22 years ago
autogen.sh b18bd211be Run autopoint and libtoolize before creating initial makefiles. 22 years ago
configure.in 4370b98bb1 Update configure scripts. 21 years ago
cvsusers 627f7c22b4 s/sliepen.warande.net/sliepen.eu.org/g 22 years ago
system.h 64fd25aa6b Oops. 21 years ago

README

This is the README file for tinc version 1.0pre8. Installation
instructions may be found in the INSTALL file.

tinc is Copyright (C) 1998-2002 by:

Ivo Timmermans ,
Guus Sliepen ,
and others.

For a complete list of authors see the AUTHORS file.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or (at
your option) any later version. See the file COPYING for more details.


Security statement
------------------

In August 2000, we discovered the existence of a security hole in all versions
of tinc up to and including 1.0pre2. This had to do with the way we exchanged
keys. Since then, we have been working on a new authentication scheme to make
tinc as secure as possible. The current version uses the OpenSSL library and
uses strong authentication with RSA keys.

On the 29th of December 2001, Jerome Etienne posted a security analysis of tinc
1.0pre4. Due to a lack of sequence numbers and a message authentication code
for each packet, an attacker could possibly disrupt certain network services or
launch a denial of service attack by replaying intercepted packets. The current
version adds sequence numbers and message authentication codes to prevent such
attacks.

Cryptography is a hard thing to get right. We cannot make any
guarantees. Time, review and feedback are the only things that can
prove the security of any cryptographic product. If you wish to review
tinc or give us feedback, you are stronly encouraged to do so.


Changes to configuration file format since 1.0pre5
--------------------------------------------------

Some configuration variables have different names now. Most notably "TapDevice"
should be changed into "Device", and "Device" should be changed into
"BindToDevice".

Compatibility
-------------

Version 1.0pre8 is not compatible with older versions of tinc.


Requirements
------------

Since 1.0pre3, we use OpenSSL for all cryptographic functions. So you
need to install this library first; grab it from
http://www.openssl.org/. We recommend version 0.9.5 or better. If
this library is not installed on you system, configure will fail. The
manual in doc/tinc.texi contains more detailed information on how to
install this library.

Since 1.0pre6, the zlib library is used for optional compression. You need this
library whether or not you plan to enable the compression. You can find it at
http://www.gzip.org/zlib/. Because of a possible exploit in earlier versions we
recommand that you download version 1.1.4 or later.

In order to compile tinc, you will also need autoconf, automake, GNU make, m4
and gettext.


Features
--------

This version of tinc supports multiple virtual networks at once. To
use this feature, you may supply a netname via the -n or --net
options. The standard locations for the config files will then be
/etc/tinc//. Because of this feature, tinc will send packets
directly to their destinations, instead of to the uplink. If this
behaviour is undesirable (for instance because of firewalls or other
restrictions), please use an older version of tinc (I would recommend
tinc-0.2.19).

In order to force the kernel to accept received packets, the
destination MAC address will be set to FE:FD:00:00:00:00 upon
reception. The MAC address of the ethertap or tun/tap interface must
also be set to this address. See the manual for more detailed
information.

tincd regenerates its encryption key pairs. It does this on the first
activity after the keys have expired. This period is adjustable in the
configuration file, and the default time is 3600 seconds (one hour).

This version supports multiple subnets at once. They are also sorted
on subnet mask size. This means that it is possible to have
overlapping subnets on the VPN, as long as their subnet mask sizes
differ.

Since pre5, tinc can operate in several routing modes. The default mode,
"router", works exactly like the older version, and uses Subnet lines to
determine the destination of packets. The other two modes, "switch" and "hub",
allow the tinc daemons to work together like a single network switch or hub.
This is useful for bridging networks. The latter modes only work properly on
Linux and FreeBSD.

The algorithms used for encryption and generating message authentication codes
can now be changed in the configuration files. All cipher and digest algorithms
supported by OpenSSL can be used. Useful ciphers are "blowfish" (default),
"bf-ofb", "des", "des3", etcetera. Useful digests are "sha1" (default), "md5",
etcetera.

Support for routing IPv6 packets has been added. Just add Subnet lines with
IPv6 addresses (without using :: abbreviations) and use ifconfig or ip (from
the iproute package) to give the virtual network interface corresponding IPv6
addresses. tinc does not provide autoconfiguration for IPv6 hosts, if you need
it use radvd or zebra. Tunneling IPv6 packets only works on Linux, FreeBSD and
possibly OpenBSD.

It is also possible to make tunnels to other tinc daemons over IPv6 networks.
In order to enable this feature the option "AddressFamily = any" or
"AddressFamily = ipv6" must be added to the tinc.conf file. The host
configuration files should contain IPv6 addresses for the "Address" variables,
or hostnames which have an AAAA or A6 record.