-
Notifications
You must be signed in to change notification settings - Fork 89
Description
- Overview
An automatic update of dshield, Raspberry PI OS, or both resulted in a problem with WiFi and network startup. According to logs, the problem appeared on 13 October 2025, but the updates could have been earlier. The problem did not affect dshield operation and was not detected for about a week. WiFi access was not working.
- Hardware setup
Raspberry Pi 4, running Raspberry PI OS. The ethernet is connected to a router with that port set up as a DMZ with access from the Internet. The WiFi is connected to an isolated WiFi hub. SSH is configured to allow connection from the WiFi only. (For status checking another system can connect to the WiFi and use SSH.)
-
Initial symptoms:
- DHCP renewals stopped being made 13 October (per WiFi hub logs).
- SSH connections via the WiFi failed to connect with dshield host. (This is what was noticed)
- Since dshield reports were still working fixing this was low priority.
-
Diagnosis:
The Raspberry Pi OS now uses NetworkManager to configure WiFI despite the dshield changes to use updownif. This causes startup to partially fail. The WiFi setup and iptables restore of iptables.local do not work.
-
Workaround
The WiFi configuration files for NetworkManager are set using a combination of nmcli setting connection parameters for the WiFI and addition of /etc/NetworkManager/dispatcher.d/pre-up.d/90-iptables-fixer.sh containing:
#!/bin/bash
iptables-restore /etc/network/iptables
if [ -f /etc/network/iptables.local ]; then
iptables-restore -n /etc/network/iptables.local
fi
-
Related Note
The dshield install script appears to use the network configuration at the time of install when configuring networks. The initial testing was done on a different network configuration with internal test ethernet and test wifi. The behavior was different. When an install --update was done using the destination network setup the problem behavior was fully reproduced.
The dshield installation does not require use of the minimal Raspberry Pi OS. My current setup uses the full function Pi OS. A monitor/mouse/keyboard can be attached if needed in the future for troubleshooting.