A frequently asked question runs along the lines of "I can't connect to Remote Potato over the Internet, what is wrong?" The answer is rarely simple, and even more rarely is it a problem with Remote Potato.How Remote Potato Works
Remote Potato's behavious is, in fact, extremely simple. It sits on your PC, listening on the port number that you have specified. If it receives any browser requests on this port, then it responds. End of story. So, if it's not working for you, the chances are that there's a problem with your router / network setup rather than a problem with Remote Potato. Not that I'm ruling out any problems with RP it's just that 99% of the time it's not the culprit.
Here's a simple guide to port forwarding and dynamic DNS. - the basic steps to ensure that you can connect to Remote Potato:1. Set up your Dynamic DNS service correctly
Your home network usually only has one external IP address, in other words the IP address that the rest of the world would use to contact you. Your router is the primary point of entry, and keeps track of this IP address, which can often change. Many modern routers allow you to setup login details to use a 'Dynamic DNS' system, which is a special website that your router can send updates to when its IP address changes. To contact your home network over the Internet, you would then enter an address into your browser such as http://www.yourloginname.dyndns.org
. This request would then hit dyndns.org's name servers, which of course have been kept informed by your router of your home IP address and can therefore relay this information back to the browser. Your browser then has the IP address it needs to send the web server requests to your home network's router.
2. Getting through the router
The story doesn't end there. Once your router has received a request from a web browser, it needs to know which computer on your home network to send it to. How does it know which PC is running Remote Potato? It does this by looking at the PORT NUMBER of the web address, which is the part of the web address after a COLON. Look at the following examples, all of which have a port number of 9080:
www. yourloginname. dyndns.org:9080
www. yourloginname. dyndns.org:9080/directory/default.htm
www. yourloginname. dyndns.org:9080/directory/default.htm?value=ABC
In each example above, the port number is 9080. So, how does your router know which of your home computers is running Remote Potato, in other words which computer to send the request to? It doesn't.. ..until you tell it this information, which is called forwarding a port. 3. Forwarding a Port
Remember we discussed IP addresses, and how your home network only has one external IP address? Well, this true, as far as the rest of the planet is concerned. But once you're on the inside of your home network, each of your home PCs has its own IP address, valid just within your home network, unseen by the rest of the world.
Try this analogy. Think of your router as a hotel. Think of traffic arriving over the Internet as the postman delivering a bunch of letters to the hotel. To deliver the letters, the postman only needs to know the postal address of the hotel (the external IP address of your router). But what happens after the letters arrive at the hotel? The porter has to make sure that each letter (a web request) gets to the correct resident's room in the hotel (one of your home PCs). And so, he needs to look at the name on each letter (the port number) and compare this with his list of room numbers (the IP addresses on your home network).
This is how port forwarding works. You take a public port number, and tell your router which computer (IP address) in your home network to send it to. In fact, it's slightly more complex than this - as you also have to specify a private port number as well on that computer. (The default private port number for Remote Potato is 9080.) These instructions to your router are known as port forwarding rules.
Some examples of such rules:
Forward public port 9080 -> IP address 192.168.0.1 port 9080
Forward public port 9080 -> IP address 192.168.0.1 port 1234
In these examples, traffic arriving at port 9080 is sent to whichever computer on your home network has the IP address 192.168.0.1. In the first example, the traffic is sent to port 9080 on your home PC. (happens to be the same port number, but this is irrelevant) In the second example, the traffic is sent to port 1234 on the same home PC. Note that you couldn't use these two rules at the same time, as the router wouldn't know which one to apply when it received traffic on external port 9080.
4. Entering the correct address into the web browser
Once you have set up your dynamic DNS service, and forwarded your port, the only remaining step is to make sure you know what to type into the web browser!
Let's say you forwarded public port 9080. (it doesn't matter where to - forget about your home network. You're not at home now, you're at work, or on holiday!) Simply enter the dynamic DNS url, plus that port number, as so:
http:// www. yourloginname. dyndns. org:9080
...and this will make the connection.5. Port 80 - a special case
One final note about public port 80. This is the default for web browsers. In other words, typing
http:// www. yourloginname. dyndns. org
is IDENTICAL to typing
http:// www. yourloginname. dyndns. org:80
....so, to save time, you might choose to forward public port 80 to Remote Potato. But it's not the best idea, as hackers will often target port 80 first when looking for vulnerabilities. ('port scanning')
These are the basics of port forwarding. Good luck!
More information and a useful guide can be found at http://portforward.com