tinc 1.1 on Ubuntu 22.04 LTS (incl. ARM64)
As you may have noticed, I'm a huge fan of tinc. I've been running it for over a decade on my networks between my servers and my routers. However, as most of my routers run tinc 1.1, I was looking for a straight forward way to get tinc 1.1 on my Ubuntu servers - and finally found a solution - including support for arm64!
Installing tinc 1.1
Following a discussion on Github, we got automated builds for tinc 1.1 including arm64 support, and it only takes a few commands to add the repository and install the latest tinc:
echo 'deb http://download.opensuse.org/repositories/home:/cromulent/xUbuntu_22.04/ /' | sudo tee /etc/apt/sources.list.d/home:cromulent.list
curl -fsSL https://download.opensuse.org/repositories/home:cromulent/xUbuntu_22.04/Release.key | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/home_cromulent.gpg > /dev/null
sudo apt update
sudo apt install tinc
We'll also need the following for the tinc-up script later on: apt install net-tools
With the repo added, you can now configure the tinc node on your machine.
Configuring tinc 1.1
Let's start with creating your configuration for your desired netname
: tinc -n netname init
Next, go ahead and configure the tinc-up
script that's been created. It will contain an example line of what you need to add in there.
Then, create the tinc-down
script with the following content:
ifconfig $INTERFACE down
Don't forget to make it executable: chmod +x tinc-down
tinc host files
Next up, we'll edit the host file that has been created for us. We'll add the following lines — make sure you adjust your IP address and host address:
Address = tinc.foo.bar
Subnet = 10.123.123.123/32
Last but not least, copy over one of your existing host files to which you want to connect.
tinc.conf file
Now that we have all of the nodes configured, let's configure the tinc.conf file, adding the following:
AddressFamily = ipv4
Device = /dev/net/tun
ConnectTo = anothertincnode
Launching it all
One last command to go to start it all: systemctl enable --now tinc@netname
That's it! Your node should now be connected to your remaining tinc nodes.