X-Git-Url: https://tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=README;h=c88027bd04caf0a074d3d88fd1e29e3241166092;hp=818a8d0d8354369d0ccdf54a28a96bb33d2ed98c;hb=0c7e0210d900185d4c1a9ffd969dc2a26d9523a9;hpb=f0aa9641e82fb6e09c1e485366d14dddaa7f7c36 diff --git a/README b/README index 818a8d0d..c88027bd 100644 --- a/README +++ b/README @@ -1,10 +1,10 @@ -This is the README file for tinc version 1.0pre5. Installation +This is the README file for tinc version 1.1pre11. Installation instructions may be found in the INSTALL file. -tinc is Copyright (C) 1998-2002 by: +tinc is Copyright (C) 1998-2014 by: -Ivo Timmermans , -Guus Sliepen , +Ivo Timmermans, +Guus Sliepen , and others. For a complete list of authors see the AUTHORS file. @@ -15,88 +15,80 @@ the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the file COPYING for more details. +This is a pre-release +--------------------- + +Please note that this is NOT a stable release. Until version 1.1.0 is released, +please use one of the 1.0.x versions if you need a stable version of tinc. + +Although tinc 1.1 will be protocol compatible with tinc 1.0.x, the +functionality of the tinc program may still change, and the control socket +protocol is not fixed yet. + + 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. +This version uses an experimental and unfinished cryptographic protocol. Use it +at your own risk. -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. -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. +Compatibility +------------- +Version 1.1pre11 is compatible with 1.0pre8, 1.0 and later, but not with older +versions of tinc. -Changes to configuration file format ------------------------------------- - -Some configuration variables have different names now. Most notably "TapDevice" -should be changed into "Device", and "Device" should be changed into -"BindToDevice". +When the ExperimentalProtocol option is used, tinc is still compatible with +1.0.X and 1.1pre11 itself, but not with any other 1.1preX version. 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. +In order to compile tinc, you will need a GNU C compiler environment. Please +ensure you have the latest stable versions of all the required libraries: + +- OpenSSL (http://www.openssl.org/) version 1.0.0 or later, with support for + elliptic curve cryptography (ECC) and Galois counter mode (GCM) enabled. + +The following libraries are used by default, but can be disabled if necessary: -In order to compile tinc, you will also need autoconf, automake, GNU make, m4 -and gettext. +- zlib (http://www.gzip.org/zlib/) +- lzo (http://www.oberhumer.com/opensource/lzo/) +- ncurses (http://invisible-island.net/ncurses/) +- readline (ftp://ftp.gnu.org/pub/gnu/readline/) 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 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. - -Preliminary support for routing IPv6 packets has been added. Just add Subnet -lines with IPv6 addresses (without using :: abbreviations) and use ifconfig to -give the virtual network interface corresponding IPv6 addresses. -Autoconfiguration will not work in router mode. +Tinc is a peer-to-peer VPN daemon that supports VPNs with an arbitrary number +of nodes. Instead of configuring tunnels, you give tinc the location and +public key of a few nodes in the VPN. After making the initial connections to +those nodes, tinc will learn about all other nodes on the VPN, and will make +connections automatically. When direct connections are not possible, data will +be forwarded by intermediate nodes. + +By default, nodes authenticate each other using 2048 bit RSA (or 521 bit +ECDSA*) keys. Traffic is encrypted using Blowfish in CBC mode (or AES-256 in +GCM mode*), authenticated using HMAC-SHA1 (or GCM*), and is protected against +replay attacks. + +*) When using the ExperimentalProtocol option. + +Tinc fully supports IPv6. + +Tinc can operate in several routing modes. In the default mode, "router", every +node is associated with one or more IPv4 and/or IPv6 Subnets. The other two +modes, "switch" and "hub", let the tinc daemons work together to form a virtual +Ethernet network switch or hub. + +Normally, when started tinc will detach and run in the background. In a native +Windows environment this means tinc will intall itself as a service, which will +restart after reboots. To prevent tinc from detaching or running as a service, +use the -D option. + +The status of the VPN can be queried using the "tinc" command, which connects +to a running tinc daemon via a control connection. The same tool also makes it +easy to start and stop tinc, and to change its configuration.