From: Guus Sliepen Date: Wed, 30 Jul 2003 09:22:29 +0000 (+0000) Subject: Update documentation and remove stuff that's too outdated. X-Git-Tag: release-1.0~32 X-Git-Url: https://tinc-vpn.org/git/browse?a=commitdiff_plain;h=63568bb6bca20b4d2b2068a6367084a273eabac8;p=tinc Update documentation and remove stuff that's too outdated. --- diff --git a/doc/HOWTO b/doc/HOWTO deleted file mode 100644 index d645285f..00000000 --- a/doc/HOWTO +++ /dev/null @@ -1,175 +0,0 @@ - ============== - The TINC HOWTO - ============== - - Wessel Dankers - wsl@nl.linux.org - -Introduction ------------- -Tinc is a system to create a virtual ethernet network on top of an existing -infrastructure. This infrastructure can be anything from modem lines to -gigabit ethernet networks, as long as they talk IP. Once you install and -configure tinc, your host will get an extra IP address, just like it would -when you stick an extra ethernet card into it. Using this IP address, it can -communicate with all hosts in its virtual network using strong encryption. - -If you install Tinc on a router (and pick your numbers correctly) you can -have the router forward all packets. This way you can---instead of -connecting hosts---connect entire sites together! Now you need only one -outgoing network connection for both internet and intranet. - -Architecture ------------- -When a few Tinc daemons are running they will try to seek contact with -eachother. A daemon is all the time connected to a few other daemons, -but if traffic is required with a daemon it doesn't know yet, it will -instantly contact it and exchange keys. These so-called meta-connections -are made over TCP, using encryption of course. - -When actual traffic has to be sent, a daemon checks his connection list to -see if the addressee is known (and makes contact with it if neccessary). -All packets are then sent using UDP to the other host, just like in a real -network. If a packet gets lost, the connection layer of Linux will resend -the packet, just like it would over a normal network. - -Once in a while the daemons will renegotiate keys so that even if a cracker -breaks one, it'll be of limited use. - -Getting Tinc ------------- -Before you fetch the latest tarball, you might want to check if there's a -package for your Linux distribution. One of the main authors is a Debian -Developer, so you can expect the Debian packages to be very up to date. - -The official website for Tinc can be found at http://tinc.nl.linux.org/. -There you can find Debian packages, RPM's and of course... the tarball! -Since we run Doohickey Linux Pro 1.0, for which no package exists (or -indeed the distribution itself) we shall compile the package ourselves. - -Building --------- -The Tinc source adheres to so many standards it makes you head spin. -Even the debug messages have been localized! Amazing. Tinc also comes -with a configuration script. If you like to see what is there to -configure run ./configure --help | more. If you don't have time for such -nonsense: - - ./configure --sysconfdir=/etc - -This will see if your system is nice enough to run tinc on, and will -create some Makefiles and other stuff which will together build tinc. - - make - make install - -The first will do the actual build, the second copies all files into place. - -The kernel ----------- -Next you will have to configure the kernel to support the tap device. -It is important that you run a recent kernel, but anything after 2.2.16 -will do. You have to enable both the netlink device AND the ethertap -device (in that order). Enable them as modules! -Compile, install =) You don't even have to reboot. - -Picking your numbers --------------------- -The first thing we should do is pick network numbers. Tinc has a very -peculiar taste for network numbers, which is caused by the way it routes -traffic. However, it turns out to be really handy if you want to use -your tinc host as a router for a site. - -The numbers have to be in a range that is not yet in use in your existing, -real network! In this example we will use numbers from the 192.168.0/16 -range. This is standard CIDR notation for all IP addresses from 192.168.0.0 -to 192.168.255.255. The /16 means that the first 16 bits form the network -part. - -It is common practice for Tinc networks to use private (RFC 1918) addresses. -This is not necessary, but it would be a waste to use official addresses -for a private network! - -In the example we will connect three machines: f00f, fdiv and hlt. We will -give each an address, but not just that, also a slice of our address space -to play with. - - Host Real address Tinc network - --------------------------------------------------- - f00f 126.202.37.20 192.168.1.1/24 - fdiv 126.202.37.81 192.168.2.1/24 - hlt 103.22.1.218 192.168.3.1/24 - -It is very important that none of the Tinc netmasks overlap! Note how the -192.168.0/16 network covers the entire address space of the three hosts. -We will refer to the 192.168.0/16 network as the `umbrella' from now on. -As you can see we can fit 256 hosts into this umbrella this way, which is -also the practical maximum for tinc. Let's name our VPN 'fubar'. - -The configuration file ----------------------- -Let's create a configuration file for f00f. We have to put it in -/etc/tinc/fubar because that's how we named our VPN. - - MyOwnVPNIP = 192.168.1.1/24 - VpnMask = 255.255.0.0 - ConnectTo = 126.202.37.81 - ConnectTo = 103.22.1.218 - TapDevice = /dev/tap0 - -The first two lines tell Tinc about the numbers we have chosen above. -Using the ConnectTo lines, the daemon will seek contact with the rest of -the umbrella. It's possible to configure any number of ConnectTo lines, -you can even omit them so that it just sits and waits until someone else -contacts it. Until someone does, the poor daemon won't be able to send -any data because it doesn't know where everybody is. -The TapDevice is where the tinc daemon will interface with the kernel. - -The passphrases ---------------- -We will have to generate keys for ourselves, and get a key from everybody -we want to ConnectTo. All of these go into a directory named -/etc/tinc/fubar/passphrases. PROTECT THIS DIRECTORY! - - mkdir -m 700 /etc/tinc/fubar/passphrases - -To generate our own key: - - genauth 1024 >/etc/tinc/fubar/passphrases/local - -You should then proceed to give this key to anyone who wants to ConnectTo -you. DO THIS IN A SECURE MANNER! Anyone who has this number can do icky -things to the umbrella network! Encrypt it using PGP, GPG or another -program using asymmetric keys. Read it over the phone (without anyone -listening of course). Send it by snailmail. Write the key down and bring -it to your partners personally! - -If you get any keys from your partners, store them under their network -number. For example, the key we get from fdiv's network administrator -will be stored in /etc/tinc/fubar/passphrases/192.168.2.0 (note the 0). - -Running the daemon ------------------- -If you use a package manager to install Tinc, the startup scripts use a file -called /etc/tinc/nets.boot to see which umbrella's exist. It has a line -per VPN, and lines starting with a # are ignored. Ours will contain: - - # Example VPN from the HOWTO - fubar - -In Debian, /etc/init.d/tinc start will start the daemons. - -If you use Doohickey Linux just like we do, you'll have to edit the systems -startup scripts by hand. It should contain something along the lines of: - - insmod ethertap -s --name=tap0 unit=0 - ifconfig tap0 hw ether fe:fd:c0:a8:01:01 - ifconfig tap0 192.168.1.1 netmask 255.255.0.0 broadcast 192.168.255.255 -arp - -There are two things to note here! First, the MAC address of the ethertap -device is very important. It must start with fe:fd, and end in the -hexadecimal representation of the VPN IP number. -Second, the netmask of the tap device is set to that of the umbrella! - --- -$Id: HOWTO,v 1.2.2.3 2000/07/01 07:29:32 wsl Exp $ diff --git a/doc/Makefile.am b/doc/Makefile.am index b62feb7e..6714dbae 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -23,3 +23,14 @@ transform = s/ginstall/install/; @program_transform_name@ # For additional rules usually of interest only to the maintainer, # see GNUmakefile and Makefile.maint. + +tinc.pdf: tinc.texi + texi2pdf -o tinc.pdf tinc.texi + +texi2html: tinc.texi + mkdir -p html + rm -f html/*.html + cd html && texi2html -split=chapter ../tinc.texi + +%.html: % + w3mman2html $< > $@ diff --git a/doc/es/.cvsignore b/doc/es/.cvsignore deleted file mode 100644 index 6179e0db..00000000 --- a/doc/es/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -Makefile Makefile.in diff --git a/doc/es/Makefile.am b/doc/es/Makefile.am deleted file mode 100644 index 756d6707..00000000 --- a/doc/es/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ -## Process this file with automake to get Makefile.in - -# Nothing to see here, go away! diff --git a/doc/es/tinc-es.html b/doc/es/tinc-es.html deleted file mode 100644 index ccaa9d27..00000000 --- a/doc/es/tinc-es.html +++ /dev/null @@ -1,960 +0,0 @@ - - - -Manual DE tinc - - -

Manual de tinc

-

Preparando una Red Privada Virtual con tinc

-
Ivo Timmermans <ivo@o2w.nl>
-

-


- -

Introducción

- -

-Tinc es un demonio de Red Privada Virtual (VPN) que usa túnel y -cifrado de datos para crear una red privada segura entre hosts en -Internet. - - -

-El túnel se realiza en la capa del protocolo IP como un dispositivo de -red normal, por lo cual hay necesidad de adaptar el software existente. - - -

-Este túnel permite que sitios VPN compartan información entre ellos en -Internet sin exponer esta información a otros. - - -

-Este documento es el manual de tinc. Incluye capítulos sobre cómo configurar -su computadora para usar tinc, así como el proceso de configuración de tinc. - - - - - -

Redes Privadas Virtuales

- -

-Una Red Privada Virtual o VPN es una red que sólo puede ser accedida por -computadoras elegidas para participar. Esta meta es alcanzable en más de una -manera. - - -

- -Por ejemplo, una VPN puede consistir en una ethernet LAN. O incluso dos -computadoras conectadas usando un cable módem nulo(1). En estos casos, es obvio que la red es privada, nadie puede acceder a esta desde afuera. Pero si estas si estas computadoras están conectadas a internet, la red deja de ser privada, a menos que use cortafuego para bloquear el trafico privado. Pero entonces, no hay manera de enviar datos privado a una computadora de confianza en otro lugar de internet. - - -

- -Este problema puede resolverse usando redes virtuales. Las redes virtuales pueden vivir arriba de otras redes, pero no interfieren interfieren entre ellas. En su mayor parte, las redes virtuales se ven como simples LAN, aun cuando pueden extenderse a lo largo del mundo. Pero las redes virtuales pueden no ser seguras aunque se uso cortafuegos, porque el trafico que fluye a traves de estas hacia internet puede ser visto por otras personas. - - -

-Cuando se introduce cifrado de datos, podemos formar una verdadera VPN, Otras personas pueden ver el trafico cifrado, pero no pueden saber como decifrar este (necesitan conocer la llave para esto), no pueden leer la información que fluye a traves de la VPN, Esto es para lo que tinc fue hecho. - - -

- -Tinc usa datagramas IP normales para encapsular datos que viajan sobre el enlace -de red VPN. En este caso está también claro que la red es virtual, porque ningún enlace de red directo tiene que existir entre los participantes. - - -

-Como es el caso con cualquier tipo de VPN, alguien podría escuchar secretamente, -o peor, alterar datos. Aquí es probablemente aconsejable el cifrar los datos que fluyen sobre la red. - - - - -

TINC

- -

-Yo realmente no recuerdo lo que nos llevó a empezar, pero debe de haber sido idea de Guus. Él escribió una aplicación simple (aproximadamente 50 líneas en C) que usó el dispositivo ethertap que linux tiene desde el núcleo 2.1.60. No funcionó inmediatamente y él la mejoró un poco. En esta fase, el proyecto se llamó simplemente `vpnd'. - - -

-Desde entonces, mucho ha cambiado -- por así decirlo. - - -

- -Tinc ahora soporta cifrado, consiste en un solo demonio (tincd) para la -recepción y el envío de información, se ha vuelto un paquete profesional completo. - - -

-Mucho puede ser, y será, mejorado. Hay varias cosas que me gustaría ver en las -futuras versiones de tinc. No todo estará disponible en el futuro cercano. Nuestro primer objetivo es hacer que tinc trabaje perfectamente, y luego agregar rasgos más avanzados. - - -

-Entretanto, siempre estaremos abiertos y disponibles hacia las nuevas ideas. - - - - -

Configurando un sistema Linux

- -

-Este capítulo contiene información sobre cómo configurar un sistema Linux para el uso de tinc. - - - - -

Configurando el Núcleo

- -

-Dado que esta implementación particular sólo corre en núcleos 2.1 o mayores, -debería conseguir uno (los 2.2 son actuales en este momento). Una migración a 2.0 no es posible, a menos que alguien migre los dispositivos ethertap y netlink a 2.0. - - -

-Si no esta familiarizado con el proceso de configurar y compilar un nuevo núcleo, debería leer primero el Núcleo COMO. ¡Haga eso ahora! - - -

-Aquí están las opciones que usted tiene que activar al configurar un nuevo núcleo. - - - -

-Code maturity level options 
-[*] Prompt for development and/or incomplete code/drivers 
-Networking options 
-[*] Kernel/User netlink socket 
-<*> Netlink device emulation 
-Network device support 
-<*> Ethertap network tap 
-
- -

-Cualquier otra opción no mencionada aquí no es relevante a tinc. Si usted decide -construirlos como módulos dinámicos, es una buena idea agregar estas líneas en -`/etc/modules.conf'. - - - -

-alias tap0 ethertap 
-alias char-major-36 netlink_dev
-
- -

Finalmente, construya el núcleo y reinicie la maquina. Desgraciadamente no es -posible insertar estos módulos en un Núcleo que se esta ejecutando. - - - - -

Archivos Necesarios

- - -

Archivos de dispositivos

- -

-Primero, necesitará el archivo de dispositivo especial que forma la interfaz entre el Núcleo y el demonio. - - - -

-mknod -m 600 /dev/tap0 c 36 16 
-chown 0.0 /dev/tap0 
-
- -

-Los permisos serán ahora tales que sólo el super usuario(root) puede leer y escribir en este archivo. Esto debería ser así, porque es más fácil que se filtre información por aquí. Esto, sin embargo, implica que usted tendría que ejecutar tincd como root. - - -

-Si usted quiere, también se puede crear más archivos de dispositivos que se -numerarían de 0 a 15 con números menores de dispositivos de 16 a 31. Todos deben -pertenecer al root y deben tener permisos 600. - - - -

`/etc/networks'

- -

-Puede agregar una línea en `/etc/networks' para que sus vpn tengan nombres simbólicos. Por ejemplo: - - - -

-Mi_vpn 10.0.0.0 
-
- - -

`/etc/services'

- -

-Puede agregar estas líneas en `/etc/services'. El resultado es que puede proporcionar a una `tinc' como un número de puerto válido a algunos programas. El número 655 esta registrado en el IANA. - - - -

-tinc            655/tcp    TINC 
-tinc            655/udp   TINC 
-#               Ivo Timmermans <ivo@o2w.nl>
-62;
-
- - - -

Preparando los dispositivos

- -

-Antes de que pueda empezar a transmitir datos sobre el túnel tinc, debe preparar los dispositivos de red ethertap. - - -

-Primero, decida qué direcciones IP quiere asociar con estos dispositivos, y qué -máscara de red deben tener. También necesitara estos números cuando configure tinc. Vea la sección section Configurando tinc. - - -

-No importa mucho que se hace primero, si preparar los dispositivos red o configurar tinc. Pero deben hacerse ante de usar tincd. - - -

-La configuración de dispositivo ethertap es bastante simple, simplemente escriba -esto: - - - -

-ifconfig tapn hw ether fe:fd:xx:xx:xx:xx 
-
- -

-El n aquí es el número del dispositivo ethertap que quiere usar. Debe ser uno de los mismos n que uso para `/dev/tapn'. Las xxs son cuatro números hexadecimales (0--ff). En las versiones anteriores de tincd no importaban lo que eran, pero los nuevos Núcleos -requieren que sean puestas las direcciones de ethernet. De hecho, el comportamiento estaba equivocado, se requiere que los xxs mapeen Mi_IP_VPN. - - - -

-ifconfig tapn IP netmask mask
-
- -

-Esto activará el dispositivo con una dirección red IP y con una máscara de red mask. - - - - -

Instalando Tinc

- -

-Primero consígalo. Esta es la página principal, que tiene las suma de verificación (checksums) de los archivos listados; puede desear verificar éstos con md5sum antes de continuar. - - -

-Tinc viene en un paquete autoconf/automake, que simplemente puede tratar como -cualquier otro paquete. Sólo tiene que descomprimirlo, escribir "Configure" y luego "Make". - - -

-Las instrucciones más detalladas están en el archivo `INSTALL', que es incluido en la distribución fuente. - - - - -

Configurando Tinc

- - - -

Redes múltiples

- -

-Es perfectamente aceptable correr más de un demonio tinc. Sin embargo, en su -forma predefinida, pronto notará que no puede usar dos archivos diferentes de -configuración sin la opción -c. - - -

-Hemos pensado en otra manera de tratar esto: nombres de red. Esto significa que -usted llama a tincd con el argumento -n que asignará un nombre a este demonio. - - -

-El efecto de esto es que los demonios buscaran su configuración en /etc/tinc/nn/, donde nn es un argumento a la opción -n. Notará que aparece en syslog como "tincd.nn." - - -

-Sin embargo, no es estrictamente un requisito llamar a tinc con la opción -n. En este caso, el nombre de la red estaría simplemente vacío, y se usará como tal. Tinc busca archivos ahora en /etc/tinc/, en lugar de /etc/tinc/nn/; el archivo de configuración debe ser /etc/tinc/tincd.conf, y se espera ahora que los passphrases (N.T. passphrases es una contraseña o palabra de paso(password), que al ser bastante larga se le llama frase de paso) estén en /etc/tinc/passphrases/. - - -

-Es recomendable usar este rasgo de tinc, porque será él quien decida con que -demonio hablar. Asumiremos que lo usa. - - - - -

Cómo trabajan las conexiones

- -

-Antes de seguir, primero un poco de cómo tinc ve las conexiones. - - -

-Cuando tinc se pone en marcha, lee en el archivo la configuración y analiza las -opciones de la línea de comandos. Si ve un valor "ConnectTo" en el archivo, intentará conectarse a ese servidor, en el puerto dado. Si esto falla, tinc termina. - - - - -

Archivo de configuración

- -

-La configuración actual del demonio se hace en el archivo `/etc/tinc/nn/tinc.conf'. - - -

-Este archivo consiste en comentarios (las líneas empiezan con #) o asignaciones de la forma: - - - -

-Variable = Valor. 
-
- -

-En los nombres de variables se distingue entre mayúsculas o minúsculas, y se -ignora cualquier espacio, etiquetas, nueva línea y retorno de carro. Nota: no se requiere que ponga "=", pero se usa para mejorar la legibilidad. Si lo omite, recuerde reemplazarlo con por lo menos un carácter espacial. - - - - -

Variables

- -

-Aquí está todas las variables válidas, listadas en orden alfabético: - - -

- -
ConnectPort = port -
-Conéctese al host (dado en la directiva ConnectTo) en el puerto "port". El puerto puede darse en decimal (valor por defecto), octal (cuando es precedido por un solo cero) o hexadecimal (prefijó con 0x). El puerto es el número del puerto para las conexiones UDP y TCP (meta). - -
ConnectTo = (IP address|hostname) -
-Especifica a qué host conectarse al arrancar. Si la variable "ConnectPort" se -omite, entonces tinc intentará conectarse al puerto 655. - -Si usted no especifica un host con "ConnectTo", sin tener en cuenta si un valor para "ConnectPort" se da, tinc no se conectará en absoluto, y escuchará en cambio simplemente las conexiones entrantes. Sólo el iniciador de un tinc VPN puede necesitar esto. - -
ListenPort = port -
-Escuche en el puerto local "port". La computadora que se conecta a este demonio debe usar este número como el argumento para su "ConnectPort". De nuevo, el -valor por defecto es 655. - -
MyOwnVPNIP = local address[/maskbits] -
-La dirección local es el número que los demonios propagarán a otro demonios en la red cuando se identifican. Aquí será el nombre del archivo de passphrase que el otro extremo espera encontrar en el passphrase. - -La dirección local es la dirección IP del dispositivo Tap, no la dirección IP real del host donde tincd esta corriendo. Debido a los cambios en recientes núcleos, es también necesario que usted haga coincidir la dirección ethernet (también conocida como MAC) y la dirección de IP (vea el ejemplo). - -maskbits es el número de bits en 1 en la parte de la netmask(mascara de red). - -
MyVirtualIP = local address[/maskbits] -
-Esto es un alias para "MyOwnVPNIP". - -
Passphrases = directory -
-El directorio donde tinc buscara las passphrases cuando alguien intenta -conectarse. Por favor vea la pagina del manual de genauth(8) para más información sobre el passphrases usado por tinc. - -
PingTimeout = number -
-El número de segundos de inactividad que tinc esperara antes de enviar una -sonda(ping) al otro extremo. Si el otro extremo no contesta dentro de esa misma cantidad de segundos, la conexión se termina, y se notificara de esto. - -
TapDevice = device -
-El dispositivo ethertap a usar. Note que se puede usar sólo un dispositivo por -demonio. La paginas info del paquete tinc contiene más información sobre como -configurar un dispositivo ethertap en linux. - -
VpnMask = mask -
-La mascara de red que define el alcance de la VPN, Esta opción no es usada por el demonio tinc sino por los script de inicio(startup)para sonigurar los dispositivos ethertap correctamente -
- - - -

Ejemplo

- -

-Imagine la situación siguiente. Una compañía A-base quiere conectar tres oficinas en B, C y D usando internet. Las cuatro oficinas tienen una 24/7 (24 horas los 7 días) conexión a internet. - - -

- A va a servir como el centro de la red. B y C conectarán a A, y D se -conectará a C. Cada oficina asignará sus propios IP de red, 10.x.0.0. - - - -

-A: red 10.1.0.0 máscara 255.255.0.0 gateway 10.1.54.1 internet IP 1.2.3.4 
-B: red 10.2.0.0 máscara 255.255.0.0 gateway 10.2.1.12 internet IP 2.3.4.5 
-C: red 10.3.0.0 máscara 255.255.0.0 gateway 10.3.69.254 internet IP 3.4.5.6 
-D: red 10.4.0.0 máscara 255.255.0.0 gateway 10.4.3.32 internet IP 4.5.6.7 
-
- -

-"gateway" es la dirección IP VPN_IP de la máquina que está ejecutando el tincd. -"internet IP" es la dirección IP del cortafuego que no necesita ejecutar tincd pero debe tener un puerto de forwarding de TCP y UDP en 655 (a menos que configure otro). - - -

-En este ejemplo, se asume que eth0 es la interfaz que apunta a la LAN interna de la oficina. Esto podría ser igual que la interfaz que lleva a internet. - - - -

Para A

- -

-Ase configuraría como esto: - - - -

-ifconfig tap0 hw ether fe:fd:0a:01:36:01 
-ifconfig tap0 10.1.54.1 netmask 255.0.0.0 
-ifconfig eth0 10.1.54.1 netmask 255.255.0.0 broadcast 10.1.255.255 
-
- -

-y en /etc/tinc/tincd.conf: - - - -

-TapDevice = /dev/tap0 
-MyVirtualIP = 10.1.54.1/16 
-VpnMask = 255.0.0.0
-
- - -

Para B

- - -
-ifconfig tap0 hw ether fe:fd:0a:02:01:0c 
-ifconfig tap0 10.2.1.12 netmask 255.0.0.0 
-ifconfig eth0 10.2.43.8 netmask 255.255.0.0 broadcast 10.2.255.255 
-
- -

-y en /etc/tinc/tincd.conf: - - - -

-TapDevice = /dev/tap0 
-MyVirtualIP = 10.2.1.12/16 
-ConnectTo = 1.2.3.4 
-VpnMask = 255.0.0.0
-
- -

-Note aquí que la dirección interna (en eth0) no tiene por que ser igual que el -dispositivo tap0. También, ConnectTo se da para que nadie pueda conectarse a -este nodo. - - - -

Para C

- - -
-ifconfig tap0 hw ether fe:fd:0a:03:45:fe 
-ifconfig tap0 10.3.69.254 netmask 255.0.0.0 
-ifconfig eth0 10.3.69.254 netmask 255.255.0.0 broadcast 10.3.255.255 
-
- -

-y en /etc/tinc/A/tincd.conf: - - - -

-MyVirtualIP = 10.3.69.254/16 
-ConnectTo = 1.2.3.4 
-ListenPort = 2000 
-VpnMask = 255.0.0.0
-
- -

-C ya tiene otro demonio que corre en el puerto 655, entonces se reservar otro puerto para los que se conecten. Se usa el nombre de red para distinguir entre los dos. tinc se ejecuta con "tincd -n A". - - - -

Para D

- - -
-ifconfig tap0 hw ether fe:fd:0a:04:03:20 
-ifconfig tap0 10.4.3.32 netmask 255.0.0.0 
-ifconfig tap0 10.4.3.32 netmask 255.255.0.0 broadcast 10.4.255.255 
-
- -

-y en /etc/tinc/tincd.conf: - - - -

-MyVirtualIP = 10.4.3.32/16 
-ConnectTo = 3.4.5.6 
-ConnectPort = 2000 
-VpnMask=255.0.0.0
-
- -

-D estará conectando a C que tiene un tincd que corre para esta red en el puerto -2000. Aquí se debe poner un ConnectPort. - - - -

Autenticación

- -

-A, B, C y D generan su passphrase con genauth 2048, la salida se guarda en -/etc/tinc/passphrases/local, salvo C, donde debe ser /etc/tinc/A/passphrases/local. - - -

-A guarda una copia del passphrase de B en /etc/tinc/passphrases/10.2.0.0 - - -

-A guarda una copia del passphrase de C en /etc/tinc/passphrases/10.3.0.0 - - -

-B guarda una copia del passphrase de A en /etc/tinc/passphrases/10.1.0.0 - - -

-C guarda una copia del passphrase de A en /etc/tinc/A/passphrases/10.1.0.0 - - -

-C guarda una copia del passphrase de D en /etc/tinc/A/passphrases/10.4.0.0 - - -

-D guarda una copia del passphrase de C en /etc/tinc/passphrases/10.3.0.0 - - - -

Ejecución

- -

-A tiene que ejecutar su tincd primero. Entonces viene B y C, donde C tiene que -proporcionar la opción "-n A", porque aquí se tiene más de una red del tinc. Finalmente, el tincd de D se ejecuta. - - - - -

Corriendo Tinc

- -

-Ejecutar tinc no es así de fácil como teclear "tincd" y esperar que todo funcione de la manera que se quiso. En cambio, el uso de tinc es un proyecto que involucra relaciones de confianza en más de una computadora. - - - - -

Manejo Llaves

- -

-Antes de intentar ejecutar tinc, se tienen que crear los passphrases. Cuando tinc intenta hacer una conexión, intercambia algunos datos sensibles. Antes de hacer esto, le gusta saber si el otro extremo es confiable. - - -

-Para hacer esto, ambos extremos deben tener un poco de conocimiento sobre el -otro. En el caso de tinc éste es la autenticación passphrase. - - -

-Este passphrase es un número que es escogido al azar. Este número se envía -entonces a las otras computadoras que quieren hablar directamente con nosotros. Para evitar romper seguridad, esto debe hacerse sobre un cauce seguro conocido (como ssh o similar). - - -

-Todos los passphrases se guardan en el directorio de passphrases que -normalmente es /etc/tinc/nn/passphrases/, pero este puede cambiarse usando la opción "Passphrases" en el archivo de configuración. - - -

-Para generar un passphrase, ejecute "genauth". genauth toma un argumento que es -la longitud del passphrase en bits. La longitud del passphrase debe estar en el rango de 1024--2048 para una llave de 128 bits. genauth crea un número al azar de la longitud especificada, y lo pone en la salida estándar. - - -

-Cada computadora que quiere participar en el VPN debe hacer esto, y guardar la -salida en el directorio de passrasphes, en el archivo `local'. - - -

-Cuando cada computadora tiene su propia llave local, debe copiarlo a la -computadora con la que quiere hablar directamente. Esto debe hacerse vía un cauce seguro, porque es información sensible. Si esto no se hace con seguridad, alguien podría forzar la entrada después de usted. - - -

-Esos archivos de passphrase no locales deben tener el nombre de la dirección IP -VPN con la que ellos se anuncian. Por ejemplo, si una computadora nos dice que es 10.1.1.3 con netmask 255.255.0.0, el archivo debería llamarse 10.1.1.3, y no 10.1.0.0. - - - - -

Opciones en Tiempo de Ejecución

- -

-Además de las opciones en el archivo de configuración, tinc también acepta algunas opciones de línea de comandos. - - -

-Esta lista es una versión más larga que la de la pagina del manual. Lo ultimo se -genera automáticamente, para que pueda ser más actualizable. - - -

- -
-c, --config=FILE -
-Lee opciones de configuración desde el archivo FILE. El valor por defecto es -`/etc/tinc/nn/tinc.conf'. - -
-d -
-Incrementa el nivel de depuración. El más alto conseguido es en el que más se -registra en los logs, todo vía syslog. - -0 es el valor por defecto, sólo información básica de algunos intentos de conexión se registran. Poniéndolo a 1 se registra un poco más, todavía no muy alentador. Con dos opciones -d, tincd registrara información protocolar que puede ponerse bastante ruidosa. Tres o más opciones -d, harían que cada paquete -que sale o entra probablemente genere más datos que los paquetes en si. - -
-k, --kill -
-Intente matar un tincd y termina. Una señal TERM(15) se envía al demonio que tiene su PID en /var/run/tincd.nn.pid. - -Como mata sólo un tincd, usted debe usar -n aquí si normalmente lo usa. - -
-n, --net=NETNAME -
-Conectar a la red NETNAME. Vea la sección redes Múltiples. - -
-t, --timeout=TIMEOUT -
-Segundos a esperar antes de dar una interrupción. No debe ponerse demasiado -bajo, porque a cada rato tincd dará interrupción, se desconectara y re-conectara de nuevo, lo que causará tráfico de la red innecesario y mensajes de log. - -
--help -
-Despliegue un recordatorio corto de estas opciones de tiempo de ejecución y -termina. - -
--version -
-Muestra información de versión y termina. - -
- - - -

Información técnica

- - - -

Filosofía básica del modo de trabajo de tinc

-

- - - -

-Tinc es un demonio que toma datos VPN y transmite estos a otra computadora Host -sobre la infraestructura existente de Internet. - - - - -

Una vista previa del modo de trabajo de tinc

- -

- - -Los propios datos se leen de un archivo de dispositivo de caracteres, el dispositivo llamado ethertap. Este dispositivo es asociado con una interfaz de la red. Puede leerse cualquier dato enviado a la interfaz de dispositivo, y cualquier dato escrito al dispositivo se envía a la interfaz. Datos a y desde el dispositivo se estructuran como si fuera una tarjeta ethernet -normal, cada marco es precedido por dos direcciones MAC y un campo de tipo de marco. - -

-Para que cuando tinc lea un marco del dispositivo ethernet determine su tipo. -Actualmente, tinc puede manejar sólo marcos del Protocolo Internet versión 4 (IPv4), están haciéndose planes para soportar otros protocolos. Cuando tinc sabe que qué tipo de marco ha leído, también puede leer la dirección de origen y de destino de este. - -

-Ahora es cuando el marco se cifra. Actualmente el único algoritmo de cifrado disponible es blowfish. - - -

- -Cuando el cifrado está listo, es tiempo de transportar el paquete realmente a la -computadora de destino. Se hace esto enviando el paquete sobre una conexión UDP al host de destino. Esto se llama encapsulación, el paquete de VPN (aunque ahora cifrado) se encapsula en otro datagrama IP. - - -

-Cuando el destino recibe este paquete, ocurre lo mismo, sólo que al revés. Así que realiza un descifrado del contenido del datagrama UDP, y escribe la información descifrada en su propio dispositivo ethertap. - - - - -

La meta-conexión

- -

-Teniendo sólo una conexión de UDP disponible no es bastante. Aunque conveniente -para transmitir datos, queremos poder enviar otra información confiablemente, como rutear y cifrar información a alguien. - - -

-TCP es una alternativa mejor, porque ya contiene protección contra información que es perdida, no como UDP. - - -

-Así que nosotros establecemos dos conexiones. Una para los datos cifrados de -VPN, y una para la otra información, los meta-datos. Aquí, llamamos a la segunda -conexión la meta-conexión. Podemos estar ahora seguros que la meta-información no se pierde en el camino a la otra computadora. - - -

- - -Como con cualquier comunicación, debemos tener un protocolo, para que todos -sepan como comunicarse y cómo se debe reaccionar. Como tenemos dos conexiones, -también tenemos dos protocolos. El protocolo usado para los datos de UDP es el "data-protocolo" y el otro es el "meta-protocolo". - - -

-La razon por la que no se usa TCP para ambos protocolos es que UDP es mucho mejor para encapsulación, includo mistra este es menos confiable. El problema real es que cuando TCP es usado para encapsular un stream TCP que esta sobre la red privada, para cada paquete enviado habria tres ACK's enviados en lugar de uno. Aun mas, si se da un timeout, ambos TCP streams serian sencibles al timeout, y ambos reenviarian los paquetes. - - - - -

Algo de cifrado en tinc y otros problemas de seguridad relacionados.

- -

- - -tinc consiguio su nombre de "TINC", iniciales de There Is No Cabal (Allí No Hay -Conspiración); el hubo/hay de la Conspiración alega a una organización que se decía que tenia ojos en Internet. Como esto es exactamente lo que usted no quiere, nombramos al proyecto tinc después de TINC. - - -

- -Pero para ser "inmune" a las escuchas secretas, usted tendrá que cifrar sus -datos. Como tinc es un demonio VPN Seguro (SVPN), hace eso exactamente: cifrar. - - -

-Este capítulo es una mezcla de ideas, razonamientos y explicaciones, por favor no lo tome demasiado en serio. - - - - -

Manejo de Llaves

- -

- -Usted no puede enviar simplemente una llave de cifrado privada a su par, -porque alguien podría estar escuchando. De modo que tendrá que negociar sobre una llave compartida pero confidencial. Una manera de hacer esto es usar el protocolo de "Intercambio de Llaves Diffie-Hellman" (http://www.rsa.com/rsalabs/faq/html/3-6-1.html). -La idea es como sigue. - - -

-Usted tiene dos participantes A y B que quiere estar de acuerdo sobre una llave de cifrado confidencial compartida. Ambas parte tienen algún número primo grande p y un generador g. Estos números pueden conocerse al mundo externo, y pueden ser incluidos en la distribución de la fuente. - - -

- -Ambas partes generan una llave confidencial entonces. A genera a, y calcula g^a -mod p. Este es entonces mandado a B; mientras B calcula g^b mod p, y transmite este a A. a y b deben ser mayores que p-1. - - -

-Estas llaves privadas se generan en el inicio, y ellas no se cambian mientras la -conexión existe. Un posible rasgo en el futuro es cambiar las llaves dinámicamente, todas las horas por ejemplo. - - -

-Ambas partes calculan g^ab mod p = k, k es la nueva llave compartida, pero -secreta. - - -

-Para obtener un k importante de una longitud suficiente (128 bits en nuestro vpnd), p debe tener 2^129-1 o más. - - - - -

Autenticación

- -

- -Como el protocolo de Diffie-Hellman es en sí mismo vulnerable al "el ataque del -hombre-en-el-medio," nosotros debemos introducir un sistema de autenticación. - - -

-Nosotros permitiremos que A transmita un passphrase que también conoce B -cifrado con g^a, antes que A le envíe esto a B. De esta manera, B puede verificar si A realmente es A o simplemente alguien más. - - -

- -Este passphrase deben ser de 2304 bits para un sistema de cifrado simétrico. Pero como un sistema asimétrico es más seguro, nosotros podríamos hacerlo con 2048 bits. Esto sólo sirve si el passphrase es muy el azar. - - -

-Estos passphrases podrían guardarse en un archivo solo leíble por el root; ej. -`/etc/vpn/passphrases'. - - -

-La única cosa que necesita tener en cuidado es cómo A le anuncia su passphrase a -B. - - - - -

Protegiendo sus datos

- -

-Ahora nosotros hemos escondido nuestros datos firmemente. Pero un cracker -malévolo todavía puede molestarnos alterando los datos cifrados al azar que el intercepta. - - - - -

Sobre Nosotros

- - - -

Informacion de Contacto

- -

-La página principal de tinc está en http://tinc.nl.linux.org/, este servidor se localiza en los Países Bajos. - - -

-Nosotros tenemos un canal IRC en la red IRC de Open Projects. Conectarse a -irc.openprojects.net, y entrar en el canal #tinc. - - - - -

Autores

- -
- -
Ivo Timmermans (zarq) (ivo@o2w.nl) -
-El codificador/hacker principal y el que mantiene el paquete. - -
Guus Sliepen (guus) -
-Originador de todo esto, coautor. - -
Wessel Dankers (Ubiq) -
-Ofuscador general del código. - -
- -

-Gracias a: Dekan, Emphyrio, vDong - - -

-Saludos a: braque, Fluor, giggles, macro, smoke, tribbel - -

-Traductor -

-Carrasco Matias (mcarrasco@softwork.com.ar) - - -

Indice de Conceptos

- -

-Ir a: -a -- -c -- -d -- -e -- -m -- -p -- -s -- -t -- -v -

-

a

- -
  • ataque hombre-en-el-medio -
  • -

    c

    - -
  • Cabal -
  • Clave secreta -
  • Conexión -
  • -

    d

    - -
  • data-protocol -
  • Diffie-Hellman -
  • -

    e

    - -
  • encapsulación -
  • ethertap -
  • -

    m

    - -
  • meta-protocol -
  • -

    p

    - -
  • passphrase -
  • privado -
  • -

    s

    - -
  • SVPN -
  • -

    t

    - -
  • tinc -
  • tincd -
  • Tipo de Marco -
  • -

    v

    - -
  • virtual, virtual -
  • - - -


    - - diff --git a/doc/es/tinc_toc-es.html b/doc/es/tinc_toc-es.html deleted file mode 100644 index 858434f4..00000000 --- a/doc/es/tinc_toc-es.html +++ /dev/null @@ -1,63 +0,0 @@ - - - -Manual de tinc - Tabla de Contenidos - - -

    Manual de tinc

    -

    Preparando una Red Privada Virtual con tinc

    -
    Ivo Timmermans <ivo@o2w.nl>
    -

    -


    -

    -


    - - diff --git a/doc/tinc.conf.5 b/doc/tinc.conf.5 index ad4fa1d7..40b688a8 100644 --- a/doc/tinc.conf.5 +++ b/doc/tinc.conf.5 @@ -153,8 +153,8 @@ This does not affect resolving hostnames to IP addresses from the host configuration files. .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. +Depending on the operating system and the type of device this may or may not actually set the name of the interface +or choose the device corresponding to this interface. .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, @@ -175,11 +175,15 @@ 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. +.Pp +This is the default mode, and unless you really know you need another mode, don't change it. .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 an Ethernet switch does. Unicast, multicast and broadcast packets of every protocol that runs over Ethernet are supported in this mode at the cost of frequent broadcast ARP requests and routing table updates. +.Pp +This mode is primarily useful if you want to bridge Ethernet segments. .It hub This mode is almost the same as the switch mode, but instead every packet will be broadcast to the other daemons diff --git a/doc/tinc.texi b/doc/tinc.texi index 7f8225c8..2abc86c5 100644 --- a/doc/tinc.texi +++ b/doc/tinc.texi @@ -1,5 +1,5 @@ \input texinfo @c -*-texinfo-*- -@c $Id: tinc.texi,v 1.8.4.39 2003/07/21 19:58:58 guus Exp $ +@c $Id: tinc.texi,v 1.8.4.40 2003/07/30 09:22:29 guus Exp $ @c %**start of header @setfilename tinc.info @settitle tinc Manual @@ -18,7 +18,7 @@ Copyright @copyright{} 1998-2003 Ivo Timmermans , Guus Sliepen and Wessel Dankers . -$Id: tinc.texi,v 1.8.4.39 2003/07/21 19:58:58 guus Exp $ +$Id: tinc.texi,v 1.8.4.40 2003/07/30 09:22:29 guus Exp $ Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are @@ -43,7 +43,7 @@ Copyright @copyright{} 1998-2003 Ivo Timmermans , Guus Sliepen and Wessel Dankers . -$Id: tinc.texi,v 1.8.4.39 2003/07/21 19:58:58 guus Exp $ +$Id: tinc.texi,v 1.8.4.40 2003/07/30 09:22:29 guus Exp $ Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are @@ -267,6 +267,15 @@ tinc on Windows, in a Cygwin environment, relies on the CIPE driver for its data acquisition from the kernel. This driver is not part of Windows but can be downloaded from @uref{http://cipe-win32.sourceforge.net/}. +@c ================================================================== +@subsection MinGW (Windows) + +@cindex MinGW +@cindex Windows +tinc on Windows, compiled using MinGW, relies on the CIPE driver for its data +acquisition from the kernel. This driver is not part of Windows but can be +downloaded from @uref{http://cipe-win32.sourceforge.net/}. + @c @c @@ -327,6 +336,7 @@ you should read the @uref{http://howto.linuxberg.com/LDP/HOWTO/Kernel-HOWTO.html * Configuration of Solaris kernels:: * Configuration of Darwin (MacOS/X) kernels:: * Configuration of Cygwin (Windows):: +* Configuration of MinGW (Windows):: @end menu @@ -400,46 +410,33 @@ alias char-major-10-200 tun @node Configuration of FreeBSD kernels, Configuration of OpenBSD kernels, Configuration of Linux kernels 2.4.0 and higher, Configuring the kernel @subsection Configuration of FreeBSD kernels -This section will contain information on how to configure your FreeBSD -kernel to support the universal tun/tap device. For 4.1 and higher -versions, this is included in the default kernel configuration, for earlier +For FreeBSD version 4.1 and higher, the tap driver is included in the default kernel configuration, for earlier systems (4.0 and earlier), you need to install the universal tun/tap driver yourself. -Unfortunately somebody still has to write the text. - @c ================================================================== @node Configuration of OpenBSD kernels, Configuration of NetBSD kernels, Configuration of FreeBSD kernels, Configuring the kernel @subsection Configuration of OpenBSD kernels -This section will contain information on how to configure your OpenBSD -kernel to support the tun device. For 2.9 and 3.0 systems, -this is included in the default kernel configuration. - -Unfortunately somebody still has to write the text. +For OpenBSD version 2.9 and higher, +the tun driver is included in the default kernel configuration. @c ================================================================== @node Configuration of NetBSD kernels, Configuration of Solaris kernels, Configuration of OpenBSD kernels, Configuring the kernel @subsection Configuration of NetBSD kernels -This section will contain information on how to configure your NetBSD -kernel to support the tun device. For 1.5.2 systems, -this is included in the default kernel configuration. - -Unfortunately somebody still has to write the text. +For NetBSD version 1.5.2 and higher, +the tun driver is included in the default kernel configuration. @c ================================================================== @node Configuration of Solaris kernels, Configuration of Darwin (MacOS/X) kernels, Configuration of NetBSD kernels, Configuring the kernel @subsection Configuration of Solaris kernels -This section will contain information on how to configure your Solaris -kernel to support the universal tun/tap device. For Solaris 8 (SunOS 5.8), -this is included in the default kernel configuration. - -Unfortunately somebody still has to write the text. +For Solaris 8 (SunOS 5.8) and higher, +the tun driver is included in the default kernel configuration. @c ================================================================== @@ -460,13 +457,21 @@ and the corresponding network interfaces. @c ================================================================== -@node Configuration of Cygwin (Windows), , Configuration of Darwin (MacOS/X) kernels, Configuring the kernel +@node Configuration of Cygwin (Windows), Configuration of MinGW (Windows), Configuration of Darwin (MacOS/X) kernels, Configuring the kernel @subsection Configuration of Cygwin (Windows) -If Cygwin hasn't already been installed, install it directly from -@uref{http://www.cygwin.com/}. You will also need to install the -CIPE driver, you can download it from @uref{http://cipe-win32.sourceforge.net}. -Configure the CIPE network device in the same way as you would do from the tinc-up script. +You will need to install the CIPE driver, you can download it from +@uref{http://cipe-win32.sourceforge.net}. Configure the CIPE network device in +the same way as you would do from the tinc-up script. + + +@c ================================================================== +@node Configuration of MinGW (Windows), , Configuration of Cygwin (Windows), Configuring the kernel +@subsection Configuration of MinGW (Windows) + +You will need to install the CIPE driver, you can download it from +@uref{http://cipe-win32.sourceforge.net}. Configure the CIPE network device in +the same way as you would do from the tinc-up script. @c ================================================================== @@ -632,11 +637,13 @@ The documentation that comes along with your distribution will tell you how to d @menu * Darwin (MacOS/X) build environment:: +* Cygwin (Windows) build environment:: +* MinGW (Windows) build environment:: @end menu @c ================================================================== -@node Darwin (MacOS/X) build environment, , , Building and installing tinc +@node Darwin (MacOS/X) build environment, Cygwin (Windows) build environment, , Building and installing tinc @subsection Darwin (MacOS/X) build environment In order to build tinc on Darwin, you need to install the MacOS/X Developer Tools @@ -646,6 +653,28 @@ a recent version of Fink from @uref{http://fink.sourceforge.net/}. After installation use fink to download and install the following packages: autoconf25, automake, dlcompat, m4, openssl, zlib and lzo. +@c ================================================================== +@node Cygwin (Windows) build environment, MinGW (Windows) build environment, Darwin (MacOS/X) build environment, Building and installing tinc +@subsection Cygwin (Windows) build environment + +If Cygwin hasn't already been installed, install it directly from +@uref{http://www.cygwin.com/}. + +When tinc is compiled in a Cygwin environment, it can only be run in this environment, +but all programs, including those started outside the Cygwin environment, will be able to use the VPN. +It will also support all features. + +@c ================================================================== +@node MinGW (Windows) build environment, , Cygwin (Windows) build environment, Building and installing tinc +@subsection MinGW (Windows) build environment + +You will need to install the MinGW environment from @uref{http://www.mingw.org}. + +When tinc is compiled using MinGW it runs natively under Windows, +it is not necessary to keep MinGW installed. +However, when compiled using MinGW, tinc will not be able to start +scripts or be able to receive signals. + @c ================================================================== @node System files, , Building and installing tinc, Installation @@ -926,8 +955,8 @@ configuration file. @cindex Interface @item 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. +Depending on the operating system and the type of device this may or may not actually set the name of the interface +or choose the device corresponding to this interface. @cindex Mode @item Mode = (router) @@ -940,6 +969,8 @@ In this mode 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. +This is the default mode, and unless you really know you need another mode, don't change it. + @cindex switch @item switch In this mode the MAC addresses of the packets on the VPN will be used to @@ -947,6 +978,8 @@ dynamically create a routing table just like an Ethernet switch does. Unicast, multicast and broadcast packets of every protocol that runs over Ethernet are supported in this mode at the cost of frequent broadcast ARP requests and routing table updates. +This mode is primarily useful if you want to bridge Ethernet segments. + @cindex hub @item hub This mode is almost the same as the switch mode, but instead @@ -1421,28 +1454,19 @@ command line options. @cindex options @c from the manpage @table @samp -@item --bypass-security -Disables encryption and authentication. -Only useful for debugging. - @item -c, --config=PATH Read configuration options from the directory PATH. The default is @file{/etc/tinc/netname/}. +@item -D, --no-detach +Don't fork and detach. +This will also disable the automatic restart mechanism for fatal errors. + @cindex debug level @item -d, --debug=LEVEL Set debug level to LEVEL. The higher the debug level, the more gets logged. Everything goes via syslog. -@item -K, --generate-keys[=BITS] -Generate public/private keypair of BITS length. If BITS is not specified, -1024 is the default. tinc will ask where you want to store the files, -but will default to the configuration directory (you can use the -c or -n option -in combination with -K). After that, tinc will quit. - -@item --help -Display a short reminder of these runtime options and terminate. - @item -k, --kill[=SIGNAL] Attempt to kill a running tincd (optionally with the specified SIGNAL instead of SIGTERM) and exit. Use it in conjunction with the -n option to make sure you kill the right tinc daemon. @@ -1450,14 +1474,30 @@ Use it in conjunction with the -n option to make sure you kill the right tinc da @item -n, --net=NETNAME Connect to net NETNAME. @xref{Multiple networks}. -@item -D, --no-detach -Don't fork and detach. -This will also disable the automatic restart mechanism for fatal errors. +@item -K, --generate-keys[=BITS] +Generate public/private keypair of BITS length. If BITS is not specified, +1024 is the default. tinc will ask where you want to store the files, +but will default to the configuration directory (you can use the -c or -n option +in combination with -K). After that, tinc will quit. @item -L, --mlock Lock tinc into main memory. This will prevent sensitive data like shared private keys to be written to the system swap files/partitions. +@item --logfile[=FILE] +Write log entries to a file instead of to the system logging facility. +If FILE is omitted, the default is /var/log/tinc.NETNAME.log. + +@item --pidfile=FILE +Write PID to FILE instead of /var/run/tinc.NETNAME.pid. + +@item --bypass-security +Disables encryption and authentication. +Only useful for debugging. + +@item --help +Display a short reminder of these runtime options and terminate. + @item --version Output version information and exit. @@ -1962,8 +2002,10 @@ tinc's website is at @url{http://tinc.nl.linux.org/}, this server is located in the Netherlands. @cindex IRC -We have an IRC channel on the FreeNode IRC network. Connect to +We have an IRC channel on the FreeNode and OFTC IRC networks. Connect to @uref{http://www.freenode.net/, irc.freenode.net} +or +@uref{http://www.oftc.net/, irc.oftc.net} and join channel #tinc. diff --git a/doc/tincd.8 b/doc/tincd.8 index 23d692b0..ec8a147d 100644 --- a/doc/tincd.8 +++ b/doc/tincd.8 @@ -8,15 +8,18 @@ .Nd tinc VPN daemon .Sh SYNOPSIS .Nm -.Op Fl cdDkKn -.Op Fl -bypass-security +.Op Fl cdDkKnL .Op Fl -config Ns = Ns Ar DIR -.Op Fl -debug Ns = Ns Ar LEVEL +.Op Fl -no-detach +.Op Fl -debug Ns Op = Ns Ar LEVEL +.Op Fl -kill Ns Op = Ns Ar SIGNAL +.Op Fl -net Ns = Ns Ar NETNAME .Op Fl -generate-keys Ns Op = Ns Ar BITS +.Op Fl -mlock +.Op Fl -logfile Ns Op = Ns Ar FILE +.Op Fl -pidfile Ns = Ns Ar FILE +.Op Fl -bypass-security .Op Fl -help -.Op Fl -kill Ns = Ns Ar SIGNAL -.Op Fl -net Ns = Ns Ar NETNAME -.Op Fl -no-detach .Op Fl -version .Sh DESCRIPTION This is the daemon of tinc, a secure virtual private network (VPN) project. @@ -33,23 +36,16 @@ accepting and setting up connections to other tinc daemons that are part of the virtual private network. .Sh OPTIONS .Bl -tag -width indent -.It Fl -bypass-security -Disables encryption and authentication. -Only useful for debugging. .It Fl c, -config Ns = Ns Ar DIR Read configuration options from .Ar DIR . +.It Fl D, -no-detach +Don't fork and detach. +This will also disable the automatic restart mechanism for fatal errors. .It Fl d, -debug Ns Op = Ns Ar LEVEL Increase debug level or set it to .Ar LEVEL (see below). -.It Fl K, -generate-keys Ns Op = Ns Ar BITS -Generate public/private RSA keypair and exit. -If -.Ar BITS -is omitted, the default length will be 1024 bits. -.It Fl -help -Display short list of options. .It Fl k, -kill Ns Op = Ns Ar SIGNAL Attempt to kill a running .Nm @@ -59,12 +55,30 @@ instead of SIGTERM) and exit. .It Fl n, -net Ns = Ns Ar NETNAME Connect to net .Ar NETNAME . -.It Fl D, -no-detach -Don't fork and detach. -This will also disable the automatic restart mechanism for fatal errors. +.It Fl K, -generate-keys Ns Op = Ns Ar BITS +Generate public/private RSA keypair and exit. +If +.Ar BITS +is omitted, the default length will be 1024 bits. .It Fl L, -mlock Lock tinc into main memory. This will prevent sensitive data like shared private keys to be written to the system swap files/partitions. +.It Fl -logfile Ns Op = Ns Ar FILE +Write log entries to a file instead of to the system logging facility. +If +.Ar FILE +is omitted, the default is +.Pa /var/log/tinc. Ns Ar NETNAME Ns Pa .log. +.It Fl -pidfile Ns = Ns Ar FILE +Write PID to +.Ar FILE +instead of +.Pa /var/run/tinc. Ns Ar NETNAME Ns Pa .pid. +.It Fl -bypass-security +Disables encryption and authentication of the meta protocol. +Only useful for debugging. +.It Fl -help +Display short list of options. .It Fl -version Output version information and exit. .El @@ -83,7 +97,11 @@ and if didn't succeed to connect to an uplink the first time after it started, it defaults to the maximum time of 15 minutes. .It HUP -Closes all connections, rereads the configuration file and restarts the daemon. +Partially rereads configuration files. +Connections to hosts whose host config file are removed are closed. +New outgoing connections specified in +.Pa tinc.conf +will be made. .It INT Temporarily increases debug level to 5. Send this signal again to revert to the original level.