I’d like to define a virtual IP that can float around on a 6PLANE or RFC4193 network.
Doesn’t work: “redirect TARGET_NODE_ID ipdest VIRTUAL_IP” won’t work because NDP emulation inserts the wrong MAC address that will be ignored at the target node (but the target node will at least get the packets!). I’d propose to hang the VIPs off of a bogus node ID (like ffffffffff) and would therefore suppress NDP emulation in that case; Or extend the rules engine to return custom NDP results to point directly at TARGET_NODE_ID.
Does work: I can hack this by inserting a route for VIRTUAL_IP/128 via TARGET_NODE_IP. I don’t like having to manage the routing tables on the clients to achieve this though. And it also has the disadvantage that I can’t use ZeroTier’s rules engine to customize the redirection (e.g., to create a regionalized VIP, so the VIP can redirect to different target nodes depending a region tag or other criteria).
One major use case is so that I can use well-known DNS virtual IP addresses on my 6PLANE/RFC4193 network to redirect to actual DNS servers, and better yet, to have rules-based customization for how that redirection works. Critically, the virtual IP must never need to change even if the node hosting the DNS server changes (e.g. gets replaced by a new node with a different node ID).
I hope that makes sense