Zend certified PHP/Magento developer

Home router difficult to access remotely

I’ve been trying to debug this problem for a week or two now, and haven’t been able to figure out what the issue is/if there’s anything I can do to resolve it.

I have a home Xfinity router that’s port forwarding for both SSH and a Minecraft server, both hosted on my desktop computer running Arch Linux. The remote machines trying to connect to the desktop are only able to do so intermittently. Here are the facts I’ve gathered:

  1. The remote machines can always ping my router, that’s never failed.
  2. All of the machines have had trouble connecting to my desktop via the port forwards at some point (both SSH and via Minecraft). Some of those have had their IP addresses blocked by my router, so I whitelisted them. Others don’t show up as blocked by the router at all, yet often still fail to connect.
  3. Of the remote machines, some are running Arch Linux, some on OSX, and one on Windows. The issue does not seem to be OS or firewall based as far as I can tell.
  4. A couple of the remote machines reside behind the same NAT (another home Xfinity router). I initially had to whitelist their IP address, after which they were only sometimes able to connect to the Minecraft server, then after a few successful/failed attempts they’ve been able to consistently connect. Restarting the router seems to help them succeed sometimes, but that doesn’t work every time.
  5. Even when some of the remote machines are able to connect at a given time, others are still unable (even if those other machines have successfully connected in the past). However, if one machine behind a particular NAT is able to connect, other machines behind that NAT seem to be able to as well.
  6. If a machine cannot connect to the Minecraft server, it also seems unable to connect to the SSH server (but can still successfully ping the router). I’ve only tested this with two of the remote machines, which were behind different NATs.

Based on the above facts, it seems that there’s something happening between the routers that stops the connection from happening. But because of (1), it seems like less of a discoverability thing and maybe something based on the specific port connection attempts, or with IP reputation (?). Right now my best alternative seems to be to host the Minecraft server on a Digital Ocean server or something, because I’m not sure there’s anything I can do to make this work reliably for new users aside from constantly restarting the router/hoping that works until they can reliably connect (which has only really worked for one household so far).

Does anyone have an idea of what’s happening here, whether moving the server to a hosted server will fix this issue, or how I can make this work without moving anything?