zerotier / ZeroTierOne

A Smart Ethernet Switch for Earth
https://zerotier.com
Other
14.36k stars 1.68k forks source link

global registry for ZT interface names #1182

Open darkain opened 4 years ago

darkain commented 4 years ago

Is your feature request related to a problem? Please describe. interface adapter names are long, cryptic, confusing, and being truncated by too many utilities

Describe the solution you'd like I would like the ability to define what the interface name should be using the my.zerotier.com web admin. This could even be a premium/paid feature.

Because a device can connect to multiple ZT networks with multiple different owners, it is reasonable to consider that these names should still be globally unique with the central ZT service managing the registration of these names.

Interface names are normally about 3-5 characters long, but ZT's "unique" interface names, rather than just being numbered like every other service in the world, uses these long cryptic names that are hard to interact with, especially dealing with a local CLI trying to type them out constantly. They also have zero human meaning, only some internal service meaning that is pointless to a sysadmin.

Describe alternatives you've considered Pulling my hair out!?

Additional context image

laduke commented 4 years ago

Hi Darkain

There was a file called devicemap that lets you specify interface name. Not sure if it (still) works on the bsds?

$ tail /var/lib/zerotier-one/devicemap

d5e04297a19bbd70=zt0

I do understand the point about having a central place to manage that, but just wanted to mention that file for anyone stopping by. And also that, for a sysadmin, the interface name for a network is the same on member of network, which can be useful for, as an example, firewall rules.

darkain commented 4 years ago

neither /var/lib/zerotier-one/ nor /usr/local/var/lib/zerotier-one/ exists. is this something that needs to be manually created, or does this mean it simply doesn't work anymore?

laduke commented 4 years ago

I was trying to refer to the zerotier home directory -the same place the identity files and local.conf are. You're probably on opnsense and it's different there?

darkain commented 4 years ago

The path appears to be /var/db/zerotier-one/ on FreeBSD. I still don't see the file mentioned, and am unsure if it is a file I need to personally create, or if it is simply an unsupported feature at this point.

image

nukebloodaxe commented 4 years ago

I would suggest creating the file, giving it a valid entry according to the earlier mentioned formatting, and seeing what happens :) Remember, testing and experimentation is your friend.

darkain commented 4 years ago

I've tried creating the file as suggested with no change to the interface name.

willawork commented 4 years ago

You will need to leave/join the network in question or restart the ZT daemon for the change to take effect.

darkain commented 4 years ago

Verified that devicemap doesn't exist on FreeBSD

https://github.com/zerotier/ZeroTierOne/blob/master/doc/zerotier-one.8.md#files and

1107

Even if not centrally managed, it would be extremely beneficial to have this on FreeBSD. The extremely long interface names have been causing issues with all sorts of other programs and scripts.

nukebloodaxe commented 4 years ago

Looking at the linked documentation, it seems to be this way because BSD can have full-length names (implied.) However, there must be more to it, perhaps it's a feature of the dev mappings in Linux specifically.

It would be good if a developer chimed in to say what the reason for the choice is, otherwise I'd say going by the docs only that there should be the option to have a switch in BSD.

Hmmm... is it possible to hard-link/soft-link the Zerotier interface name using a file-descriptor? (Given it should be /dev/[something long or zt0]) It would need to be scripted, but the results would be sensible for everything else.