On 02/09/2021 15:30, Chris Green wrote: > On Thu, Sep 02, 2021 at 02:58:44PM +0100, Kevin Tedder wrote: >> Personally, I'd rather have two systems fully operational all the time. To >> discover that the back up solution is not working at the critical moment is >> the same as not having a backup at all. > Is there some way the two systems can share the client names supplied > at DHCP time?
This isn't a totally serious suggestion, but I was just pondering your request: You could write a little script to sync the DHCP events between two machines, probably pick lua, etc for this, but just as a proof of concept: dbus-monitor --system --profile "interface='uk.org.thekelleys.dnsmasq',type=signal" Will give you a stream of all the dbus events, which you can pipe into a "while -r line; do ... end" loop. Send details of the lease update to the other machine with dbus-send. I *think* this will keep your DNS in sync such that leases or releases update each machine BUT: It won't solve your cluster problem on what happens when one machine goes down because "something" needs to promote the other machine to master DHCP server... I wonder if you were running the above script whether it would "work" as desired in a small lan to just let both DHCP servers fight it out? Probably on average each will assign the identical address and give an identical response anyway... Run a longer cable to one or the other ;-) At least theoretically you need a 3+ machine cluster to decide a quorum of who is dead or alive, some way to ensure that the dead node really is dead (and it's not just a net split) and then the quorum will have some way to promote/demote the alive machine to master. Note I think from your question you might not be clear that it's absolutely fine for multiple machines on the network to just "take" any IP address they wish, ie to promote machine 2 to the same IP address as dead machine 1, you just tell machine 2 to add the IP address to it's interface. (Note: there can be some seconds delay when you do this if there is a switch in the way, but read up on gratuitous ARPs to eliminate this delay). Also be very wary now about how easy it is for a rogue device to spoof being your internet gateway and be sitting in the middle of reading all your traffic... ;-) I would be interested if anyone had a moment to knock up the rest of the script described above and report how well it works? I speculate that if you were to ignore the problem of netsplits then it would likely be reasonably simple to add some cluster functionality to dnsmasq which simply monitored it's twin and if inaccessible would promote itself to master. Technically this is incorrect as it doesn't handle netsplits, but I think for home use and for DHCP where you can just unplug and replug a couple of devices after some cockup, this would be "good enough"? Ed W _______________________________________________ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss