Ich bin aktuell aktiv im OpenWrt Bereich, oder schon länger, und dort haben wir nun gemeinsam an einem Shell Script gearbeitet.
Dieses soll im redundanten VRRP Betrieb, die DHCP Leases des Master Routers, mit denene des Backup Routers synchronisieren, und umgekehrt auch.
Beide Router sind aktiv, und antworten auf DHCP Anfragen. Daher landen einige auf dem Master Router, und einige auf dem Backup Router.
Das Problem dabei: Um eine korrekte DNS Auflösung, der Hostnames im Regelbetrieb, und im Failover zu realisieren, müssen beide Router in ihrer
Code: Alles auswählen
/tmp/dhcp.leases
Also angenommen, Router 1 hat folgende Einträge in der
Code: Alles auswählen
/tmp/dhcp.leases
Code: Alles auswählen
Host a.a.a.a IP a.a.a.a
Code: Alles auswählen
Host x.x.x.x IP x.x.x.x
Host y.y.y.y IP y.y.y.y
Code: Alles auswählen
Host a.a.a.a IP a.a.a.a
Host x.x.x.x IP x.x.x.x
Host y.y.y.y IP y.y.y.y
Code: Alles auswählen
#!/bin/sh
#syncs contents of dnsmasq dhcp leases
SSH_USER="root"
SSH_HOST="172.20.32.2"
SSH_KEY="/etc/dropbear/dropbear_ed25519_host_key"
scp -i "${SSH_KEY}" "${SSH_USER}"@"${SSH_HOST}":/tmp/dhcp.leases /tmp/dhcp_lease_temp
cat /tmp/dhcp.leases /tmp/dhcp_lease_temp | sort -u > /tmp/dhcp_lease_new
mv /tmp/dhcp_lease_new /tmp/dhcp.leases
Vielleicht gibt es ja Bash Gurus hier Freue mich auf eure Hilfe.