I am running into a weird issue, which I have been trying to understand and fix for a few hours.
I have three main machines, which are setup this way:
- M1: Raspberry pi 3 (raspbian lite), running caddy as a reverse proxy/static web server. Caddy runs inside of docker with the
--network host
flag. This device servers very small static websites, as well as redirect traffic to M2 and M3. This is the only device exposed to the internet. - M2: Small server (Ubuntu 18.04) used to deploy client's apps and other stuff. All apps are deployed using docker and the traffic comes in from M1, and gets forwarded to this machine
- M3: Small server running Plex and other day-to-day apps that I need to access externally. Once again, all the traffic comes from M1 and gets redirected to this machine (an old laptop)
I am running into an issue where M1 cannot access neither M2 nor M3. Firstly, the redirect does not work, i.e. I get a blank page when trying to access data on M2 and M3. If I try to access M2 or M3 from M1 using a simple curl
, I cannot connect to either of them with the following error: curl: (7) Failed to connect to <M2> port 7000: No route to host.
Trying to access the websites hosted on M1 from M2/M3 works fine, but accessing anything else (i.e. a simple REST server) returns the same issue as before, the No route to host
error.
These are the things I have tried:
- Disable firewall on all machines: No luck, same issues as before
- Disable firewall on router: No luck again
- Shutdown non essential services: Did not work
I also have installed WireGuard with PIVPN and everyhting installed correctly, but the same thing happens. The handshake is successful, the IP shows up as the one from home, but the traffic is not really forwarded as when I try to access my router's admin panel it does not work.
It seems like something is blocking devices from accessing other devices on the network. Other than disabling all the different firewalls, I unfortunately do not know how to proceed. Does anyone have an idea of what it could be?