Probably should find a linux networking specific community for this one..
I have a strange issue that feels very familiar, like I've fixed it before, but I can't remember how.
I try to rtsp to security cam:
ffplay rtsp://user:password@192.168.19.137:554/h264Preview_01_main
And I get a no route:
Connection to tcp://192.168.19.137:554?timeout=0 failed: No route to host
rtsp://user:password@192.168.19.137:554/h264Preview_01_main: No route to host
Strange, I'm in the same subnet 192.168.19.129/24, and it worked a few days ago.
Check ping:
ping 192.168.19.137
PING 192.168.19.137 (192.168.19.137) 56(84) bytes of data.
64 bytes from 192.168.19.137: icmp_seq=1 ttl=64 time=5.69 ms
Of course.. So I run the command again;
ffplay rtsp://user:password@192.168.19.137:554/h264Preview_01_main
And now it works.
I could bandaid by crontabbing a ping every hour or something, but I would really like to know why I'm getting a 'no route' until I ping.
My routing table is pretty basic:
default via 192.168.19.1 dev enp4s0 proto dhcp src 192.168.19.129 metric 100
default via 192.168.19.1 dev enp4s0 proto dhcp src 192.168.19.129 metric 1002
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
172.18.0.0/16 dev br-68c1e0344e27 proto kernel scope link src 172.18.0.1 linkdown
192.168.19.0/24 dev enp4s0 proto dhcp scope link src 192.168.19.129 metric 1002
192.168.19.1 dev enp4s0 proto dhcp scope link src 192.168.19.129 metric 1024
And I don't think I have any rules in firewall for LAN.
Any ideas?
Are you sure the camera is not going into some kind of low power sleep mode and then has a wake-on-LAN functionality that only responds to icmp/magic packets? The number of embedded devices that have aggressive power saving measures built in is kinda stupid tbh.
Can you reliably rtsp from a different machine to rule out the routing table?
I can try test that.
The camera is always accessible via the android app, but that's not quite the same.
The android app, if proprietary and manufacturer specific, could very well be sending its own magic wake-on-lan packet to check if the camera is alive.
I unfortunately don't know enough about nitty-gritty networking stuff to help with the actual routing though, refer to the other commenters for that.
Dunno how helpful this is but when I’ve had this problem in the past it was an IP conflict. Are you setting static IPs or are you using DHCP reserves for everything?
Is there an IPSec tunel in the mix? Often, IPSec Phase2 goes down when idle, while Phase1 stays up. Upon traffic, Phase2 is brought up again, with a delay.
I usually work around this with a crontab on one of the remote servers that sends a single ping packet every minute to a local server, and pipe any output to /dev/null.
I had an issue where my docker networks started overlapping my network addresses and I had some issues to connect to the machine etc. so perhaps check to make sure your docker addresses don’t overlap your home network range somehow. Also keep the subnet mask in mind as the range might be bigger than what the first few numbers indicate.