Adding new nodes to Tinc mesh network


This time we are going to add a third node, Node C, to the mesh network. Tinc is going to automatically choose the best route.
You should already be familiar with basic tinc configuration, that I described in previous article - Configuring Tinc, an encrypted P2P VPN.

Topology cheatsheet

Node A Node B Node C
Public IPv4
VPN Address
VPN Network Name PsychoVPN PsychoVPN PsychoVPN

Node C configuration files

Create the working directory:

mkdir -p /etc/tinc/PsychoVPN/hosts && cd /etc/tinc/PsychoVPN

Start off with tinc.conf:

Node C: /etc/tinc/PsychoVPN/tinc.conf

Name = NodeC
Device = /dev/net/tun
AddressFamily = ipv4
ConnectTo = NodeA
ConnectTo = NodeB

Now edit the host file:

Node C: /etc/tinc/PsychoVPN/hosts/NodeC

Address =
Subnet =

Create a pair of keys (make sure to save both files under /etc/tinc/PsychoVPN):

tincd -n PsychoVPN -K 4096

Append the public key to the NodeC host file.

cat >> hosts/NodeC

Exchange the host file with Node A and Node B

scp /etc/tinc/PsychoVPN/hosts/NodeC <user>@<NodeA>:/etc/tinc/PsychoVPN/hosts/NodeC
scp /etc/tinc/PsychoVPN/hosts/NodeC <user>@<NodeB>:/etc/tinc/PsychoVPN/hosts/NodeC

It’s also required for Node C to have both Node A’s and Node B’s host files. To do this, reverse the scp to download files from Node A and Node B directly from Node C:

scp <user>@<NodeA>:/etc/tinc/PsychoVPN/hosts/NodeA /etc/tinc/PsychoVPN/hosts/NodeA
scp <user>@<NodeB>:/etc/tinc/PsychoVPN/hosts/NodeB /etc/tinc/PsychoVPN/hosts/NodeB

You can also just copy the content of the hosts folder from any Node, saving you the hassle of authenticating twice:

scp <user>@<NodeA>:/etc/tinc/PsychoVPN/hosts/* /etc/tinc/PsychoVPN/hosts/

That’s it!

From this point just follow the previous article’s instructions starting from #Control Scrips. Just remember to adjust the IP addresses correspondingly!

So you've read the whole article? How about signing up for more?

Email Address

No spam, I promise