192.168.x.x:1500
So I have a small local server running a website. It’s not public facing at all, has a static IP address on my WiFi LAN and can be accessed by any Linux machine. I can’t see it on any iPhone or Android device though
I’ve looked up tutorials on line, ensured my firewalls allow local sharing on the WiFi, double checked I can even ping the server successfully with nmap on Android
Any tips?
::edit:: typo in post, not when searching for IP on LAN
Did you ever figure this out???
Are you sure you are typing the address in correctly on android/ios? 198.162.x.x isnt part of private IP space.
Have you tried different browsers? You should also enter the full URL sometimes they’re a bit stupid nowadays. So http://192.168.x.x:1500/
Maybe the browsers bring their own VPN. Some process all traffic to make it more “mobile friendly”. Or they have some other kind of proxy.
Also check to make sure the mobile browsers aren’t set to HTTPS only, or at least have an exception for that ip. I’ve seen that before several times.
I’d
curl
from a machine on the same WiFi network as the phones just to confirm that HTTP is working. That way you’re not dependent on browsers that can be more finicky for debugging.
Some possibilities:
- WiFi has host isolation is enabled
- The network you’re connecting from is a guest wifi network
- You configured a firewall rule to isolate WiFi from LAN
- VLAN is enabled
But if I can see the server on the same WiFi network from any Linux machine wouldn’t that ensure all those steps are OK?
I was assuming your server and Linux device were plugged in via Ethernet and your mobile devices were using WiFi. Now it sounds like your Linux system may be using the same access point.
It could be something as simple as your browser trying to send the address to a search engine instead of directly looking for the site.
When you’re trying to access it on mobile do you manually enter “http://” or “https://”? Those default to ports 80 and 443 respectively.
If you’re using nonstandard ports you may need something like “http://192.168.1.42:8080” to use http on port 8080 or any other nonstandard port.
Even if you are 100% sure your server is http or https try the other one to see if your error changes.
Are your phones on the same network? Same vlan? Firewall rules? VPN?
Does tcpdump on the server see the request?
I get a lot of downvotes. I realize I say things that can be divisive. Why are people downvoting debugging steps? What’s divisive about that…
Don’t worry about downvotes.
I’m just trying to understand the rational. To me I downvote when the comment is against the community, or unproductive.
If I’m being a net negative I should know why! Usually I have a guess as to why, but when I don’t, I reach out so I can understand better. I do want lemmy to be a better place, so feedback is useful.
When there’s only a few, it’s basically just statistical noise. Some people downvote anything. Some people just have fat fingers and missed the upvote button.
Your comments were good and kind. Debugging even obvious things is good since computer science is literal magic electrified rocks and keeping every step in our heads is impossible
Yeah don’t worry about the downvotes
Some mobile clients make it easy to accidentally downvote. I sometimes see that I accidentally downvoted a comment from time to time.
If you say controversial shit outside of tech, mentally I’ll will follow you around downvoting.
So you will see all of your post have a few downvotes.
If it is just this one time, it is likely an anaomaly.
Edit: BTW tcp dump is a nice trick, so you deff added to the discourse here IMHO
Many people learn Linux and networking from these threads where idea are flying around. So deff don’t stop lol
Yeah, if phones go via WiFi and the computer is on a cable the IP ranges may differ and that would explain you can access only via one of the two.
Yeah everything (server, Linux clients, Android clients, other clients) is on the same WiFi network which is why this is extra frustrating since Linux just works like usual
No tcpdump isn’t seeing the request… Thanks for the suggestion
I had some similar symptoms on a Fritzbox router, because by default the devices connected over wifi were unable to communicate with those connected by cable. Some routers also had this setting for the different wifi bands, 2.4G & 5G.
But I don’t think you’d be able to ping it if this were the case.
Check yoyr router settings anyway, maybe you’ll find something there.
Your network is probably configured with inconsistent subnets / netmasks. iOS / Android are on WiFi and getting a different subnet/netmask than your severs.
Edit: What does pinging the server with nmap mean? Are you checking open ports or pinging the server? That doesn’t make sense or at least leaves us with more questions with the way you worded that. Although the nmap utility can provide both of those answers, I’m not sure that’s what you meant. Technically nmap and ping are two different tools.
nmap -Pn 192.168.1.2
At least it shows the server is up from the client’s perspective (other clients can actively see the same IP and server on port)
Same WiFi subnet
Same netmask?
When asking for network troubleshooting assistance, super useful to provide ANY kind of network info. So far we have WiFi and same subnet. Yet absolutely no details which are necessary to help form questions or provide answer.
Can you post the IP Netmask and Gateway of your Linux server and one of your mobile devices that can’t view the server?
Can you ssh into the Linux server from your mobile device?
Yeah same netmask of 255.255.255.0
Then there has to be a firewall, web server whitelist or some kind of configuration issue with the service being hosted. Because according to all your responses they are on the same WiFi with the same subnet/gateway/netmask.
That makes sense, I’ll have to check the path. Thanks for lending your thoughts on this
My guess is that you are making a typo. Like others have said 192.162.x.x is a public IP. You probably want something like 192.168.x.x which probably is more like 192.168.1.1/24 with the last 1 being its own number
What error you get exactly?
ERR_NETWORK_ACCESS_DENIED
Install some DNS test app for Android and check that it does get resolved.
My will resolve the home server address to 0.0.0.0, and I get the same network error.
Disable your mobile network and try again. I had the very similar issue where it would always fallback to the mobile network for local IPs although WiFi was connected and in the same subnet
No mobile network
- network interface - check
- dns - not applicable
- firewall - check
- ping - check
- navigating to the web site - fail
There are two causes here. Either server fucks it self over or the client fucks itself over. For server check logs, for client: check spelling, specify full protocol and try different browser to pinpoint the problem. It would be great to see the full ip address output from ‘ip -c a’ on both client and server.
Thank you
Any good debugging tools for android here or should I just rely on Linux networking tools through installed shells? Is there an industry standard for Android as a client?
PingTools has been useful for me (though I mostly just use it for iperf).
Any chance you have a DMZ set up on your router?
On your router, are there any settings specific to any host (other than the server maybe)? For example, a static IP or a port forwarded rule.
Do you have a VPN on the phones? Can you traceroute from your phone to the server and post that? (I like PingTools for Android.) You should have 1 hop (you -> server, nothing in between).
Can you verify that you are on the same wifi including same wifi channel? Phone on 5GHz but Linux box on 2.4GHz, for example.
Dunnon about iOS but some Android phones have a “network protection” config which uses a Google VPN, so it tends to block viewing the local network.
Is there a setting for this? Yeah, I assume it’s some default setting I missed
(I’m seeing this issue on any Android distro, I’ve tried a few)
It’s listed as a privacy option on my pixel. It may be different for others but you could try searching the settings for “vpn” or “privacy.”
Hmm not seeing it on GrapheneOS
I have a very similar issue. Seems like Android will bypass your DNS resolver and thus cannot resolve your local names.
I have my home services on “home.my domain.com” accessible from outside and re-mapped to “192.168.0.1” (my internal server IP) at home, and all PCs can access it while all android phones can only resolve to the public IP.
I feel it’s something related to DoT or similar but haven’t yet dig in that.
Interesting, thanks for the info