OK klhrevolucionist,
Here is a refresher of a previous conversation:
It's quite simple but I'll be quite verbose so you understand all concepts. At the end I will give you the step by step but don't skip reading it all.
You need to understand not one but three IP addresses.
- One is your router's external IP address. That one is dynamic and assigned by your VOIP provider.
- The second is your router's internal IP address. That one is static. That's the one you use to configure your router.
- The third address is your computer IP address. Each network device on your side of the router has to have a unique one. As far as I remember you only have two devices in your subnetwork, Your computer and the router.
If you read the first two parragraphs you'll see that your router has to IP addresses, the external one (facing the internet) and the internal one (facing your computer). The external IP address has to be unique in the whole internet. No one else can have the same address facing the internet. The internal IP address only has to be unique inside your subnetwork.
From now on I will refer to the internet facing IP address as the 'external IP address' and to the IP addresses in your subnetwork as the 'internal IP addresses'.
That is as technical as I will go on this post and that's only so you can differentiate them as I continue...
If you want to serve FTP or HTTP or whatever, here is the route that the packages from the internet follow:
Internet computers --> Your router --> your server
This is, the internet computer sees your router by it's external IP and your router sees your server by the server's internal IP.
Remote computers to router
Now... how would the remote computer know your external IP address if it is dynamic right now?
Two options:
a) Ask your ISP for a static address and pay for it.
b) Get an account under a DynamicDNS service like
www.dyndns.com.
Option a is more expensive as your ISP will surelly charge extra for the static IP plus the cost of registering your domain.
Option b can be free, is very simple to configure but you don't have as much freedom selecting your domain name unless you buy your domain from them.
Unless you want to host a comercial site, I would go for option b.
From your router to your server
Different protocols on the internet communicate through specific ports.
For the router to know where to send the internet requests, you have to specify which computer knows how to respond. This is called Port forwarding.
For example, your router receives a package on port 80. It checks it's port forwarding table and sees that it should forward that request to your computer. Your computer must be listening on that port. This means: Have an application that receives packages on port 80. In this case a web server.
Your server may aquires it's internal address through DHCP from the router or may have a static internal IP address.
If your server uses DHCP you may have to configure the forwarding table to forward to the new address every time you boot. (Having only one computer chances are that you will always get the first one, although it's not guaranteed)
My recomendation is to Configure your server with a static Internal IP address, that way the router always uses the same address.
To cap this explanation: DMZ is the extreme port forwarding. If you set your server computer to be the DMZ, all the requests to any port will be forwarded to that server. So, unless you have a very good firewall and know how to use, stay clear from that one!
======================
Now that you are an expert, here is the promised step by step how-to based on my recommendations:
1. Install and configure the server applications that you want to use on the server
2. Configure your server to have a static IP address. You can use puppy's ethernet wizard. You will find the mask address, gateway addresses and dns address on your router configuration.
3. Forward the ports you want to serve. 21 for FTP, 80 for HTTP (web)
4. Go to
www.dyndns.com and open an account.
5. Install one of the software packages that tell dyndns what your address is. You can execute it every time you start-up puppy.
If you need specific help on any of these steps, let me know.