Mon 29 Jan 2024

Interspatial Networking

Got a Zigbee2MQTT bridge deployed via NixOS on a Raspberry Pi 5. This required installing an EDK2 raspberry Pi 5 EFI implementation as a bootloader pending U-boot support https://github.com/NixOS/nixpkgs/issues/260754#issuecomment-1908664693. Had lots of false starts trying to cross-compile aarch64 (and arvm6 for the raspberry pi 1) on x86_64. I got pretty far with aarch64 but I think nixos-install doesn’t support a cross-compiled grub installation. I’m playing around with different ways of exposing this over HTTP, DNS, RPCs, and maybe Matrix.

EON

To support RPCs over DNS as a bootstapping mechanism for Jess and I’s idea of an identity service I resurrected the DNS tunnelling in EON. There’s a few kinks to work out with payload lengths fitting into domain names, and an odd failure mode where an empty buffer is sent. This plus some key management would make DoDO feasible.

The certificate provisioning is working over lenscap. I intend to use it for some real services like freumh.org, and extend it with support for rewnewal.

A name-based VPN

I’ve been thinking about how Tailscale uses DNS, and the difficulties in sharing machines on a Tailnet. We’ve thrown around the idea of a name-first based approach that would support sharing machine access first-class, and I think some of this capability DNS stuff could be used to communicate and provision such connections. Need to write more about this.

Recently published RFC9526 proposes DNS names for devices in home networks but proposes IPv6 to address end-to-end connectivity without addressing NATs and Firewalls that are still employed in many networks over which the user has no control.