dsnet
tinc
Our great sponsors
dsnet | tinc | |
---|---|---|
4 | 19 | |
651 | 1,837 | |
- | - | |
0.0 | 5.6 | |
6 months ago | 18 days ago | |
Go | C | |
MIT License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
dsnet
-
Recommended VPN?
Yes, that is true. But there are projects that can simplify WG's deployment without compromising security like dsnet.
-
Android Client: multiple private keys?
I have a config provided by a VPN provider, which generates the private key as well as the public (I think there's no way to provide a public key for them to use). I'm also using dsnet to generate peer configurations, and that also generates a new priv/pub key pair. The end result is that I have two different private keys, one for each endpoint. This (having multiple pub/priv pairs) is neither bad security[1], nor uncommon, and while it's trivial to have multiple Wireguard configurations running at the same time on Linux I haven't found a way to do this through the mobile app. This is because the app allows only one active Wireguard configuration at a time, and there's no facility for supplying two private keys within one Wireguard config file.
- DSNet for WireGuard VPN: Like wg-quick but even quicker
-
Wiretrustee: WireGuard-Based Mesh Network
I made this: https://github.com/naggie/dsnet/ -- a simple command to manage a centralised wireguard VPN. Think wg-quick but quicker: key generation + address allocation
tinc
-
Would we still create Nebula today?
But both Nebula and tinc max out at around 1 Gbit/s on my Hetzner servers, thus not using most of my 10 Gbit/s connectivity. This is because they cap out at 100% of 1 CPU. The Nebula issue about that was closed due to "inactivity" [2].
I also observed that when Nebula operates at 100% CPU usage, you get lots of package loss. This causes software that expects reasonable timings on ~0.2ms links to fail (e.g. consensus software like Consul, or Ceph). This in turn led to flakiness / intermittent outages.
I had to resolve to move the big data pushing softwares like Ceph outside of the VPN to get 10 Gbit/s speed for those, and to avoid downtimes due to the packet loss.
Such software like Ceph has its own encryption, but I don't trust it, and that mistrust was recently proven right again [3].
So I'm currently looking to move the Ceph into WireGuard.
Summary: For small-data use, tinc and Nebula are fine, but if you start to push real data, they break.
[1]: https://github.com/gsliepen/tinc/issues/218
[2]: https://github.com/slackhq/nebula/issues/637
[3]: https://github.com/google/security-research/security/advisor...
- Which overlay network?
-
Tailscale/golink: A private shortlink service for tailnets
From a purely networking perspective, there are far better solutions than tailscale.
Have a look at full mesh VPNs like:
https://github.com/cjdelisle/cjdns
https://github.com/yggdrasil-network/yggdrasil-go
https://github.com/gsliepen/tinc
https://github.com/costela/wesher
These build actual mesh networks where every node is equal and can serve as a router for other nodes to resolve difficult network topologies (where some nodes might not be connected to the internet, but do have connections to other nodes with an internet connection).
Sending data through multiple routers is also possible. They also deal with nodes disappearing and change routes accordingly.
tailscale (and similar solutions like netbird) still use a bunch of "proxy servers" for that. You can set them up on intermediate nodes, but that have to be dealt with manually (and you get two kinds of nodes).
-
Tunneling to Synology NAS without opening ports.
Two other options are Tinc https://tinc-vpn.org/ or Nebula https://www.defined.net/nebula/
-
Port Forward Security & Alternatives
And there is Tinc; the OG overlay network. I don't have experience with this. Seemed a bit of a pain to setup. https://tinc-vpn.org
-
WireGuard multihop available in the Mullvad app
For what its worth I have used the open source Tinc VPN [1] for mesh multihop routing for ages. It is nowhere near as fast as Wireguard but I could envision Tinc incorporating support for Wireguard if the author were so inclined. Like you mentioned Tinc does not mesh with other VPN's AFAIK.
[1] - https://tinc-vpn.org/
-
You may not need Cloudflare Tunnel. Linux is fine
This is actually very simple in concept and is just as simple or even simpler to do with tinc (https://tinc-vpn.org).
Since I can use tinc in bridge mode, I can run tinc on the upstream server and on a local machine which then provides access to several physical machines without running extra software on each of those machines, which is particularly useful for machines that are resource limited, like my Macintosh LC II and LC III+:
http://elsie.zia.io/
It'd be nice if it weren't so difficult to get public addresses.
-
Tinc Is Not Catan
I clicked expected some broken analogy between https://tinc-vpn.org/ and the Catan board game, but instead it is a Catan implementation. Fair enough.
-
Graphviz: Open-source graph visualization software
will generate a real-time network graph using the Graphviz DOT language. It's a cool feature that I find quite useful.
[0] https://tinc-vpn.org/
What are some alternatives?
Netmaker - Netmaker makes networks with WireGuard. Netmaker automates fast, secure, and distributed virtual networks.
OpenVPN - OpenVPN is an open source VPN daemon
wgctrl-go - Package wgctrl enables control of WireGuard interfaces on multiple platforms.
Nebula - A scalable overlay networking tool with a focus on performance, simplicity and security
cjdns - An encrypted IPv6 network using public-key cryptography for address allocation and a distributed hash table for routing.
ZeroTier - A Smart Ethernet Switch for Earth
kilo - Kilo is a multi-cloud network overlay built on WireGuard and designed for Kubernetes (k8s + wg = kg)
SoftEther - Cross-platform multi-protocol VPN software. Pull requests are welcome. The stable version is available at https://github.com/SoftEtherVPN/SoftEtherVPN_Stable.
ansible-role-wireguard - Ansible role for installing WireGuard VPN. Supports Ubuntu, Debian, Archlinx, Fedora and CentOS.
tailscale - The easiest, most secure way to use WireGuard and 2FA.
netbird - Connect your devices into a single secure private WireGuard®-based mesh network with SSO/MFA and simple access controls.
headscale - An open source, self-hosted implementation of the Tailscale control server