I'd bet that there is NAT or stateful firewall in the router that is
connecting the two LANs, with an idle connection timeout configured,
or which periodically overflows its connection table and drops the
oldest connections. I've seen this happen with a pub/sub application
(not redis) over WAN connections on a quirky network and worked around
it by setting TCP keepalive on the socket connection at the client
side, and then later added it to the server (not redis) for good
measure.
I wonder what is the output of "INFO clients" on the redis server,
after this happens?