saturday morning network outage

Woke up early yesterday morning. Saw a text from a friend. The video he sent wouldn’t load. Actually, nothing would load.

No text message from the ISP about an outage. Same issue on my laptop, connected to a different wireless access point than the phone.

Couldn’t ssh to the router. ip addr showed no IP address assigned on the wireless interface.

The router runs Fedora CoreOS with automatic updates every Saturday and Sunday at 4am. I chose that window very carefully, between when my wife goes to sleep and when I wake up. If the update went sideways I’d have a few hours to fix it. Or roll back to the previous version.

Checked the hardware. Protectli FW4C, only about two years old. Lights on the Ethernet ports were happily blinking.

Connected directly to the router with an Ethernet cable on the LAN interface. Still no IP address. No problem, assigned a static IP:

sudo ip addr add 192.168.1.99/24 dev enp0s31f6

That fixed SSH. Checked systemd units. Oh no, dnsmasq service failed to start!

Dec 06 16:18:04 guard-llama systemd[1]: Starting dnsmasq.service - DNS caching server....
Dec 06 16:18:04 guard-llama dnsmasq[1147]: dnsmasq: DHCP host has multiple names at line 6 of /etc/dnsmasq.conf
Dec 06 16:18:04 guard-llama dnsmasq[1147]: DHCP host has multiple names at line 6 of /etc/dnsmasq.conf
Dec 06 16:18:04 guard-llama dnsmasq[1147]: FAILED to start up
Dec 06 16:18:04 guard-llama systemd[1]: dnsmasq.service: Control process exited, code=exited, status=1/FAILURE
Dec 06 16:18:04 guard-llama systemd[1]: dnsmasq.service: Failed with result 'exit-code'.
Dec 06 16:18:04 guard-llama systemd[1]: Failed to start dnsmasq.service - DNS caching server..

What’s in the dnsmasq config file? Line 6 looked like this:

dhcp-host=84:D8:1B:82:75:3F,192.168.1.2,officewap,infinity

DHCP lease for one of the wireless access points. No recollection why I put “infinity” at the end. Tried removing it and restarting dnsmasq.

● dnsmasq.service - DNS caching server.
     Loaded: loaded (/etc/systemd/system/dnsmasq.service; enabled; preset: enabled)
    Drop-In: /usr/lib/systemd/system/service.d
             └─10-timeout-abort.conf
     Active: active (running) since Sat 2025-12-06 16:35:58 UTC

Fixed!

So what happened?

One tiny mistake! If the “y” in “infinity” had been an “e”, everything would have been fine.

Finished the morning with a soliloquy about how an outage is an opportunity to make the system more resilient. Somehow failed to impress my daughter. Was rewarded with the biggest eye roll of my parenting career.