wgsd
tinc
Our great sponsors
wgsd | tinc | |
---|---|---|
8 | 19 | |
760 | 1,836 | |
- | - | |
2.8 | 4.5 | |
4 months ago | 17 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.
wgsd
-
Mesh VPN - WireGuard admin
if your looking at setting up coredns aswell then i would highly suggest checking out wgsd https://github.com/jwhited/wgsd
- DNS System for storing WireGuard IPs
-
CVE-2022-41924 – tailscaled can be used to remotely execute code
https://github.com/jwhited/wgsd does NAT traversal with Wireguard, but you need to operate a CoreDNS server to do it.
More info on how it works: https://www.jordanwhited.com/posts/wireguard-endpoint-discov...
-
For CGNAT peers - is there an alternative which is open source and as simple to use as Tailscale?
Another one which looks promising is wgsd, a dns like plugin to discover peer's endpoints that sit behind a NAT. For me this is part of the solution, however not a complete one, as my client devices are also on Android and Android TV.
-
Wireguard with holepunching and DNS
that guide is literally someone promoting their CoreDNS plugin, so I'm confused as to what you mean: https://github.com/jwhited/wgsd
- Wiretrustee: WireGuard-Based Mesh Network
-
traceroute between two clients, server is always in the middle
If they are behind a NAT that you can't do port-forwarding on then you may need to run some additional software like https://github.com/jwhited/wgsd so 10.10.0.2 and 10.10.0.3 know where to look for each other by asking 10.10.0.1
-
Yet Another Mesh Overlay Tool
Our current implementation just has the nodes configured with PersistentKeepAlive by default, which works well enough for our small setup. In future iterations our plan is to incorporate another service. Our inclination is to use WGSD: https://github.com/jwhited/wgsd
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
headscale - An open source, self-hosted implementation of the Tailscale control server
Nebula - A scalable overlay networking tool with a focus on performance, simplicity and security
innernet - A private network system that uses WireGuard under the hood.
ZeroTier - A Smart Ethernet Switch for Earth
netbird - Connect your devices into a single secure private WireGuard®-based mesh network with SSO/MFA and simple access controls.
SoftEther - Cross-platform multi-protocol VPN software. Pull requests are welcome. The stable version is available at https://github.com/SoftEtherVPN/SoftEtherVPN_Stable.
cjdns - An encrypted IPv6 network using public-key cryptography for address allocation and a distributed hash table for routing.
tailscale - The easiest, most secure way to use WireGuard and 2FA.
wireproxy - Wireguard client that exposes itself as a socks5 proxy