05-sep: [dhcp] conservar reservas historicas

This commit is contained in:
juanjo
2026-09-05 18:35:49 +02:00
parent 43286045b5
commit 18f4cb1139
2 changed files with 10 additions and 1 deletions

View File

@@ -102,7 +102,7 @@ La reserva DHCP conserva la IP actual de cada lease y mantiene las reservas prev
## Inventario DHCP actual del ASUS ## Inventario DHCP actual del ASUS
Reservas aplicadas para los 39 leases actuales. Los nombres marcados como `pendiente-identificar` son provisionales. Reservas aplicadas para los 39 leases actuales y 3 reservas historicas conservadas. Los nombres marcados como `pendiente-identificar` son provisionales.
| IP | MAC | Nombre actual | | IP | MAC | Nombre actual |
|---|---|---| |---|---|---|

View File

@@ -17,6 +17,13 @@ SSH_BASE = [
ROUTER, ROUTER,
] ]
# Reservas que ya existian antes de reconstruir la lista desde los leases.
LEGACY_RESERVATIONS = {
"82:CC:3C:7D:0F:41": "192.168.50.194",
"72:2A:0C:FE:5F:04": "192.168.50.158",
"E0:1F:FC:A9:DC:73": "192.168.50.107",
}
def _run(command): def _run(command):
try: try:
@@ -69,6 +76,8 @@ def _inventario():
leases = _run("cat /var/lib/misc/dnsmasq.leases") leases = _run("cat /var/lib/misc/dnsmasq.leases")
reservas = _reservas_actuales(_run("nvram get dhcp_staticlist")) reservas = _reservas_actuales(_run("nvram get dhcp_staticlist"))
by_mac = {mac.upper(): ip for mac, ip in reservas} by_mac = {mac.upper(): ip for mac, ip in reservas}
for mac, ip in LEGACY_RESERVATIONS.items():
by_mac.setdefault(mac, ip)
devices = [] devices = []
for line in leases.splitlines(): for line in leases.splitlines():
fields = line.split() fields = line.split()