Hosting a site on OS X from a Vagrant VM (Ubuntu), port forwarded on 6789. I.e. port 6789 in the VM is forwarded to 6789 on the host. Can access from host OS as usual (localhost:6789), via VM IP (192.168.10.10:6789), or via virtual hosts from etc/hosts
(someurl.app:6789). Can also access from mobile device connected to same WiFi by going to 192.168.5.11:6789
(Macbook's IP plus forwarded port). Can scan the IP + port from Windows 10 with Nmap, says "Host is up", gives me some values.
Can not access in any browser on Windows 10.
If I try to access 192.168.5.11:6789
from any browser on Windows 10, I get a connection timeout. The server running the site does not register any attempts, so the browsers don't even try it seems. (Though nmap's attempts don't register either, not sure if that's how it works, no experience with it - edit: this is because nmap is scanning OS X, not the VM itself, doh)
So far I have tried the following on the Windows machine:
- disabling the firewall completely; there is no antivirus or third party firewall of any kind on the machine
- adding a site into trusted sites in the internet settings intranet zone
- opening TCP and UDP port 6789, both outgoing and incoming, in the firewall advanced settings
- lowering intranet zone security
- checking if port 6789 is being used on Windows with netstat, is not.
Is there a way to make sure browsers are allowed to issue requests on port 6789 other than opening the port up in advanced settings?
Additional info #1:
Ran tcpdump on OS X, here's a gist of it. The output for when I only try to access the URL from Windows is in the top gist file (failure), the output for when I only try to access the URL from my phone is in the bottom gist file (success). It's odd how much more communication is happening in the failed state, and even more odd how trading blows continues long after the request timed out in the Windows browser.
Additional info #2:
Nmap full return data:
Port: 6789/tcp State: filtered Service: ibm-db2-admin Version: -
Also got back MAC address, and a saying that too many fingerprints are there to give specific OS details. Also got a traceroute saying 1 HOP at 15-30ms.
Additional info #3:
IP addresses of devices:
- iPhone: 192.168.5.12
- Windows: 192.168.5.15
- OS X: 192.168.5.11
Does Nmap give you any other additional information other than the "Host is up" when running it from the Windows 10 system? It should show the TCP port 6789 "Open" and also let you know it is running a webserver.
I would suggest running a packet sniffer like Wireshark on the Windows 10 system to see the connection attempts.
Problem solved. The problem was in a WiFi extender which mimics the original network.
I'm working from a room that's quite a ways from the main router, and is covered by the WiFi extender. However, it seems the PC laptop is much better at picking up a signal, so it chose the main router instead of the extender to which the iPhone and Macbook were connected.
Once I killed the extender and made sure they're all connected to the exact same device, it started working. It wasn't obvious because there's no indication for when a device is connected to an extender - they share password, subnet, and SSID.