Not sure if this is a hardware or software (OS) issue, but here goes...
I brought up a Pi Zero W last month running the then-current Raspberry Pi OS (Raspbian Buster) 20-02-27 release. It has updated itself to linux kernel 5.4.51+. This headless system is running 5 servers (of note): an RDP server (Xrdp), a VNC server (vnc), a DNS server (dnsmasq); an NTP server (ntpd), and a fifth specialty Python 3 server that accepts and responds to HTTP requests. The OS has been configured with a static IP, and static Gateway and DNS IPs. All is well and good with that configuration and the servers work fine and do their respective jobs...
That is... up to a point. As the system runs for hours, and then for days, what happens is that various client devices on my network attempting to access these servers find themselves unable to access the static IP of my Pi Zero W system. It is as if the IP is simply unaccessible (as if blocked by a firewall). The access seems to be lost to the various client devices in a pretty much random fashion over the period of a day or two until none of them can access my system. Once the Pi Zero W's IP becomes unaccessible to a given device, it stays that way...
UNTIL... I execute any sort of command such as ping or rsh that attempts an outgoing connection from the Pi Zero W system to the external device. Then, suddenly the device can again see the Pi Zero W's IP and can access the servers...
That is... for a while; then after hours to days, the ability for that device to connect breaks again. This is very frustrating.
My current workaround is to run a background shell script (on the Pi Zero W) that does a single ping (or for those devices that don't respond to ping, a single denied ssh) to each device once a minute. That mostly solves the problem, but because one of the client devices is an iPad and its WiFi shuts down when the cover is closed, I have to wait up to a minute after opening the cover (if it's been closed for a day or two) to regain access.
I will note that I also have an 2.5 year old Pi 3 Model B running the Raspbian OS from its day and running the same server configuration and external devices on my network NEVER lose the ability to communicate with it. However, the problem is not with the Pi Zero W hardware (I tried swapping in a new Pi Zero W), but rather with this version of Raspbian (and possibly its interaction with the Pi Zero W's WiFi chip). I am not aware of any firewall running in the OS (but there could be - that's why I'm asking).
So my question is: Given all of the above, can anyone help me find out how to stop this from happening other than my band-aid shell script solution? I'd settle for just an explanation of this unusual behavior even if it can't be fixed.
I brought up a Pi Zero W last month running the then-current Raspberry Pi OS (Raspbian Buster) 20-02-27 release. It has updated itself to linux kernel 5.4.51+. This headless system is running 5 servers (of note): an RDP server (Xrdp), a VNC server (vnc), a DNS server (dnsmasq); an NTP server (ntpd), and a fifth specialty Python 3 server that accepts and responds to HTTP requests. The OS has been configured with a static IP, and static Gateway and DNS IPs. All is well and good with that configuration and the servers work fine and do their respective jobs...
That is... up to a point. As the system runs for hours, and then for days, what happens is that various client devices on my network attempting to access these servers find themselves unable to access the static IP of my Pi Zero W system. It is as if the IP is simply unaccessible (as if blocked by a firewall). The access seems to be lost to the various client devices in a pretty much random fashion over the period of a day or two until none of them can access my system. Once the Pi Zero W's IP becomes unaccessible to a given device, it stays that way...
UNTIL... I execute any sort of command such as ping or rsh that attempts an outgoing connection from the Pi Zero W system to the external device. Then, suddenly the device can again see the Pi Zero W's IP and can access the servers...
That is... for a while; then after hours to days, the ability for that device to connect breaks again. This is very frustrating.
My current workaround is to run a background shell script (on the Pi Zero W) that does a single ping (or for those devices that don't respond to ping, a single denied ssh) to each device once a minute. That mostly solves the problem, but because one of the client devices is an iPad and its WiFi shuts down when the cover is closed, I have to wait up to a minute after opening the cover (if it's been closed for a day or two) to regain access.
I will note that I also have an 2.5 year old Pi 3 Model B running the Raspbian OS from its day and running the same server configuration and external devices on my network NEVER lose the ability to communicate with it. However, the problem is not with the Pi Zero W hardware (I tried swapping in a new Pi Zero W), but rather with this version of Raspbian (and possibly its interaction with the Pi Zero W's WiFi chip). I am not aware of any firewall running in the OS (but there could be - that's why I'm asking).
So my question is: Given all of the above, can anyone help me find out how to stop this from happening other than my band-aid shell script solution? I'd settle for just an explanation of this unusual behavior even if it can't be fixed.