Hello,
I tried setting up my system so I can remotely connect from my phone to a running instance of WebODM, to monitor progress, but I’ve been unsuccessful.
If I connect to localhost:8000 from the system where WebODM is running, everything’s OK.
If I connect to [my computer’s local IP]:8000 from my phone, while connected via wifi to my home network, everything’s OK.
If I try to connect to [my computer’s PUBLIC IP]:8000 from my local PC, everything’s OK.
If I try to connect remotely to [my public IP]:8000 I get no response.
Of course on my router I have set up a port forwarding rule: everything coming from outside on port 8000 gets redirected to my computer’s local IP on port 8000. I have setup both TCP and UDP protocols for forwarding.
Do I need to enable something else? I have setup similar forwarding rules for a couple of Raspberry PI’s, in exactly the same way, and they work well…
My router is a FritzBox 7530.
Could it be that if there is one active connection to WebODM (from my local PC) it won’t accept other connections?
I honestly don’t know how to do that on my phone (Android).
But to summarize, after a few more tests:
From my PC:
localhost:8000 → Works
[my local IP]:8000 → Works
[my public IP]:8000 → Works
So all OK.
From my wife’s computer, on the same network as my PC:
localhost:8000 → Fails (expected)
[my PC’s local IP]:8000 → Works
[my public IP]:8000 → Works
So all OK.
From my phone connected to my WiFi:
localhost:8000 → Fails (expected)
[my PC’s local IP]:8000 → Works
[my public IP]:8000 → Times out.
So it’s just from the phone while connecting to my public IP, that I have a problem. So it appears it’s not a WebODM issue. Now, why this happens, I have no idea…
Cristian
EDIT: I was wrong, my wife’s computer can’t connect to WebODM when using my public IP. I don’t know why I thought it worked before.
So, I can only connect using my public IP, if I do it from my own PC, not from my phone or from my wife’s PC.
Thank you, I tried PortDroid.
From the phone, remotely connected, I can ping my public IP fine.
I tried a port scan, and apparently all ports are closed except port 80 and two other ports that I use for my raspberrys. I don’t know why only the one I setup for WebODM is closed… I suppose it’s closed not by the server but by the computer itself?
I tried a traceroute yo my public IP, and it followed 7 steps (took quite a long time) and the last step is my public IP. Should I copy the steps here?
No, please don’t post your traceroute Never a good thing to share to the wider internet.
Alright, it seems at this juncture that you have a firewall in the way, either your home/router firewall, or the one on the machine hosting WebODM. You’ll need to poke around there to see what is happening a bit more.
Thanks. I suppose it’s not the router, because it doesn’t stop the traffic to the raspberrys. I’ll check ubuntu’s firewall rules. Though, I wonder why it works if I connect using my public IP, from my local PC…
EDIT:
I checked, and apparently the default firewall for Ubuntu is ‘ufw’, which is installed but disabled on my system. As far as I know there’s no other firewall on this system, so nothing should be preventing access to port 8000. Could there be something in the way in the linux<->docker interface?
Sorry, I couldn’t find how to insert these images on my previous message, so I’m posting them here.
This is the port forwarding setting of my router:
And the raspberry and home assistant are perfectly reachable from the outside, including my phone.
This is the status output of my computer’s firewall:
The samba is perfectly accessible from other devices on my home network. And also WebODM is perfectly accessible if I use my local IP, from my phone, if the phone is on my home network.
Only connecting from the outside does not work. Ideas?