TINCD(8)
πΈ TINCD(8) β tinc VPN daemon, bestie edition πΈ
okay so you opened the manual for tincd, the actual daemon behind tinc (that's the secure virtual private network β VPN β project, iykyk). she's the main character of this whole page and honestly she ate. let's get into it π
β¨ SYNOPSIS β¨
like, the literal shape of the command, copied exactly because we do NOT freestyle here:
tincd [-cdDkKnoLRU] [--config=DIR] [--no-detach] [--debug[=LEVEL]]
[--kill[=SIGNAL]] [--net=NETNAME] [--generate-keys[=BITS]]
[--option=[HOST.]KEY=VALUE] [--mlock] [--logfile[=FILE]]
[--pidfile=FILE] [--bypass-security] [--chroot] [--user=USER]
[--help] [--version]
π¦ DESCRIPTION π¦
so this is the daemon of tinc, a secure virtual private network (VPN) project. when you start her up, tincd reads her configuration file to figure out which virtual subnets she has to serve and which other tinc daemons she should connect to π₯
then she connects to the tun/tap device and sets up a socket for incoming connections. optionally a script gets executed to further configure the virtual device. if all that succeeds, she detaches from the controlling terminal and keeps going in the background β accepting connections and setting up connections to the other tinc daemons that are part of the virtual private network. queen behavior honestly π
and like, under Windows (not Cygwin, ok specific) tinc will install itself as a service, which gets restarted automatically after reboots. so she's always there. always watching. π
π OPTIONS π
every single flag, no skips, because you deserve the full picture π«Ά
-c,--config=DIRβ read configuration files from DIR instead of/etc/tinc/. moving out, getting a new address basically π-D,--no-detachβ don't fork and detach. this also disables the automatic restart mechanism for fatal errors (so like, no safety net, respect). unless mentioned otherwise, this shows log messages on the standard error output.-d,--debug[=LEVEL]β increase debug level, or set it to LEVEL (see the debug levels section below, it's giving ladder energy).-k,--kill[=SIGNAL]β attempt to kill a runningtincd(optionally with the specified SIGNAL instead ofSIGTERM) and exit. under Windows (not Cygwin) the optional argument is ignored β the service will always be stopped and removed. no negotiating with Windows, periodt π-n,--net=NETNAMEβ connect to net NETNAME. this lets tinc read all configuration files from/etc/tinc/NETNAME. specifying.for NETNAME is the same as not specifying any NETNAME at all. same same, but different β¨-K,--generate-keys[=BITS]β generate a public/private RSA keypair and exit. if BITS is omitted, the default length will be2048bits. and heads up: when saving keys to existing files, tinc will not delete the old keys β you have to remove them manually. she does not clean up after you, bestie π-o,--option=[HOST.]KEY=VALUEβ without specifying a HOST, this sets server configuration variable KEY to VALUE. if you write it as HOST.KEY=VALUE, it sets the host configuration variable KEY of the host named HOST to VALUE. and you can use this option more than once to specify multiple configuration variables. stacking options like accessories π-L,--mlockβ lock tinc into main memory. this prevents sensitive data like shared private keys from being written to the system swap files/partitions. protective queen, we love to see it π--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.--pidfile=FILEβ write PID to FILE instead of/var/run/tinc.NETNAME.pid. under Windows this option will be ignored. (Windows catching strays again π)--bypass-securityβ disables encryption and authentication of the meta protocol. only useful for debugging.
β οΈ okay so seriously, --bypass-security is literally turning off encryption and authentication. debugging only. do not ship that. do not.
-R,--chrootβ with this option tinc chroots into the directory where the network config is located (/etc/tinc/NETNAMEif the-noption is used, or to the directory specified with the-coption) after initialization. cozy little box, iconic.-U,--user=USERβsetuidto the specified USER after initialization.--helpβ display a short list of options. the classic.--versionβ output version information and exit. drop the number and dip βοΈ
π§ SIGNALS π§
the way she responds to signals is honestly such a mood board:
ALRMβ forcestincdto try to connect to all uplinks immediately. usuallytincdattempts to do this herself, but she increases the time she waits between attempts each time it failed β and iftincddidn't succeed in connecting to an uplink the first time after she started, it defaults to the maximum time of15minutes. patient but dramatic β°HUPβ partially rereads configuration files. connections to hosts whose host config file are removed are closed. new outgoing connections specified intinc.confwill be made. if the--logfileoption is used, this will also close and reopen the log file β super useful when log rotation is used. glow-up + fresh start πΈINTβ temporarily increases debug level to5. send this signal again to revert to the original level. toggle toggle toggle ποΈUSR1β dumps the connection list to syslog.USR2β dumps virtual network device statistics, all known nodes, edges and subnets to syslog. the full lore dump.WINCHβ purges all information remembered about unreachable nodes. moving on, blocking, healing π
β DEBUG LEVELS β
the tinc daemon can send a lot of messages to the syslog. the higher the debug level, the more messages she logs. each level inherits all the messages of the previous level (so it's cumulative, not a clean slate, got it?):
0β logs a message indicatingtincdhas started, along with a version number. it will also log any serious error.1β logs all connections that are made with other tinc daemons.2β logs status and error messages from scripts and other tinc daemons.3β logs all requests that are exchanged with other tinc daemons. these include authentication, key exchange and connection list updates.4β logs a copy of everything received on the meta socket.5β logs all network traffic over the virtual private network. full surveillance mode, no cap π
π FILES π
/etc/tinc/β directory containing the configuration files tinc uses. for more information, seetinc.conf(5)./var/run/tinc.NETNAME.pidβ the PID of the currently runningtincdis stored in this file.
π BUGS π
- the
BindToInterfaceoption may not work correctly. she's trying her best ok π - the cryptography in tinc is not well tested yet. use it at your own risk! for real, at your own risk π¨
- if you find any bugs, report them to
tinc@tinc-vpn.org.
π TODO π
a lot. especially security auditing. (the honesty?? we stan a self-aware icon.)
π SEE ALSO π
tinc.conf(5), https://www.tinc-vpn.org/, http://www.cabal.org/.
the full documentation for tinc is maintained as a Texinfo manual. if the info and tinc programs are properly installed at your site, the command info tinc should give you access to the complete manual.
tinc comes with ABSOLUTELY NO WARRANTY. this is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details. read the fine print bestie, it's literally in caps π«Ά
π AUTHORS π
- Ivo Timmermans
- Guus Sliepen
<guus@tinc-vpn.org>
and thanks to many others for their contributions to tinc! π
and that's the whole page, babes β this edition of TINCD(8) is dated 2014-05-11, so go forth, run your VPN, and remember: secure, virtual, private, and absolutely iconic β¨π
π¦
π¦ where this page comes from
- arch rolling: tinc 1.0.37-1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms