New Linux nodes without a machine ID take their identity from the hardware

FixedEdge Nodev0.0.116

A Linux node installed directly on a machine with no machine ID, such as bare Alpine, now uses the hardware's own ID. It keeps its identity even if its data folder is wiped. Existing nodes and containers are unchanged.

Since v0.0.104, a node on a system with no machine ID creates an identity of its own and keeps it in its home directory. That works until the directory is wiped or the system is reinstalled. Then the node comes back as a brand new one, with its Active Node Hours, leaderboard place and badges gone.

From edge-node v0.0.116, a Linux node installed directly on a machine looks for the ID built into the hardware’s firmware before it creates one of its own. That ID belongs to the machine, not to the node’s files, so the node keeps its identity through a wiped data folder.

Who it affects

Only new Linux installs directly on a physical machine or a single virtual machine, on a system with no machine ID. Bare Alpine is the usual example.

  • Existing nodes keep the identity they have. An identity a node created earlier still comes first, so nothing changes for a node that is already running.
  • Systems with a machine ID still use it. The hardware ID is only tried when there isn’t one.
  • Containers and the Home Assistant add-on never use the hardware ID. Every container on a host would read the same one and be taken for the same node. They create their own identity, as before.
  • Placeholder IDs are ignored. Some boards ship a filler value, such as all zeros, in place of a real ID. Using one would merge unrelated machines into a single node, so the node creates its own identity instead.

Limits

  • A node that already lost its identity can’t get the old one back. It keeps the new one from here on.
  • The hardware ID isn’t secret from an administrator of the machine, and some hosting providers expose it to the machine’s own management tools. The same is true of a machine ID. The key protecting the node’s stored credentials on such a system is no weaker than on a system with a machine ID, but it isn’t built from a random value the way a self-created identity is.
  • This hasn’t been run on real hardware. It was tested against sample firmware values, not on a bare Alpine machine or a real virtual machine.

What you need to do

Nothing.

← All changes · More Edge Node changes · Subscribe to Edge Node