I'm trying to set up public access to a local server i have at home on Optus Cable Broadband. I'm trying to use it to host a Minecraft server (TCP 25565), Plex server (TCP 32400), and maybe even a web server (TCP 80). But it doesn't seem to be working at all.
I set up my minecraft server. Confirmed it was working on my local network. Configured port forwarding for the correct ports. Found out my public IP. But when I connect to that IP, I get no response. If i check the port using www.grc.com/shieldsup it comes back as full stealth. no response on that port at all.
The only thing I can think is that Optus is parsing all the traffic through a NAT. Does anyone have information on this? Or has anyone successfully set up a server at home?
One thing to know about Home broadband plans is that the upload bandwidth you are provided with is not very well suited for hosting services such as those you describe. Even if you get your port forwards figured out I'm afraid to say that it will be a wasted effort as the throughput required for media streaming (Plex) is far greater than the allocated bandwidth you receive on a typical home broadband plan. You will inevitabley find that it will cripple your internet connection.
The other thing is Optus block incoming connections to TCP 80. so you cant run a public facing http server unless you use port 443 (SSL) or another port.
With the exception of port 80 I don't think optus block any other incoming port. I have successfully run an FTP service and HTTP service (not from port 80) in the past on a home cable connection. I have since stopped this approach and rather than open up multiple ports for different services I now just have a VPN service which is the only open port, once i connect via VPN I can then access all my services as though I am on my home network so I don't need to open up any other ports.
The other alternative might be to subscribe to a cheap VPS host and set up your services offsite. One of the cheapest around is Winity.io http://www.winity.io
Another alternative is to run a ‘reverse proxy client’ like localtunnel (https://localtunnel.me/) or ngrok(https://ngrok.com/) which allows you to utilise a node.js application(or docker container) to connect to an external website which then allows the established communication channel to 'funnel' website requests to the original client.
This method of communication doesn’t need any special firewall rules, port forwarding or static hosts. Australia has a localtunnel provider https://leadmetomy.computer which also gives you SSL encryption and password authentication if required for a small yearly fee.