Kuebler-IT / MeshVPN

A open source peer-to-peer VPN
https://kuebler-it.github.io/MeshVPN/
GNU General Public License v3.0
33 stars 9 forks source link

Auto-Discovery for peers on multicast domain #3

Open bkuebler opened 7 years ago

bkuebler commented 7 years ago

Maybe this is a good idea to implement a auto-discovery feature for local domain.

We could use DNS Service Discovery (DNS-SD RFC 6763) over Multicast DNS (mDNS RFC 6762). Like Bonjour (Max OS X) or Avahi (Linux).

strfry commented 6 years ago

I've thought about this too, it would be a neat feature. In my opinion, using the full DNS-SD stack is not necessary to achieve this functionality. This would add an undesirable dependency to a platform-dependent daemon.

A very simple solution would be to just send the initial connection packet to a multicast/broadcast address, basically like a special kind of initpeer. The downside is that all the nodes have to be configured to the same port.

I discovered MeshVPN only today, before i've been using @tobiasvolk's original PeerVPN. Back then, i found the following changes necessary to make this work (i don't how it still applies to MeshVPN): 1) Make initpeers connections run asynchronously, even if there is already 2) Handle IPv6 scope id, translate the interface specifier from the [ff02::1%tap0] v6 multicast syntax.

These changes could make local discovery possible by configuration, at least in IPv6-capable networks.