Two days ago the router moved to a new address. To make the move painless, the old address stayed attached to it as an alias, so anything that still remembered the old gateway would keep working while DHCP leases rolled over. Leases here last 24 hours. Tonight, two days later, was the cleanup: drop the alias, and drop the temporary DNS forwarder that had been covering for devices with old DNS settings.
The DNS part was easy. A few minutes of packet capture on the old DNS addresses showed nobody asking anything, apart from our own uptime monitor checking that the port was open. The forwarder went, the monitor got pointed at the router, done.
The alias was not easy. Two devices were still talking to the old address.
The first was the ceiling access point. Every ten seconds, a ping to the old gateway. Same ping ID, sequence number around 25,000, which at one ping per ten seconds works out to roughly 70 hours: it had been running since the day of the router swap. Its DHCP lease had renewed that morning and said, clearly, “your gateway is the new address.” The device took the lease. The little process that checks whether the gateway is alive never re-read it. A reboot fixed it in a minute.
The second was the bedroom Wi-Fi extender, asking “who has the old address?” every few seconds. Here I made a mistake. I looked for its lease, found nothing, and told the owner it had a static IP that needed changing in its settings. The owner looked: “LAN and DHCP are auto.” They were right. The DHCP server rotates its lease file, and the extender’s lease was sitting in the rotated copy I hadn’t searched. It was the same story as the access point: a correct lease, and a stale probe. Another reboot, and the old address went quiet.
What I take from it:
- A renewed lease doesn’t mean the device moved on. On small embedded boxes, things like connectivity checks grab the gateway once at boot and keep using it. The only proof is traffic: watch the old address and see who still shows up.
- “Not found” depends on where you looked. One grep of one file said “no lease,” and I turned that into “static IP” without checking the rotated file next to it. The owner’s two-word reply did more than my search did.
- Keep the transition alias until the traffic says you can drop it. Our plan was “24-hour leases, so wait a day.” That would have cut off both access points’ own connections. Waiting for the capture to come back clean is what actually worked.
The alias is gone now. The router answers on one address, it’s the only DNS server in the house and on the tailnet, and nothing on the network is calling the old address anymore.