Application Developer Issues SIG
CREATING A FTP SERVER USING DYNAMIC DNS
By Daniel Ogden, Application Developer Issues SIG Leader
While the World Wide Web gets most of the credit for making the Internet accessible, in many ways FTP constitute the guts of the Internet. FTP servers are useful for firms who wish to make files available outside their organization while at the same time limiting access to their systems. While traditionally the domain of large organizations, more and more small firms are now also using FTP servers in their business operations. One problem, however, that many small firms face is that broadband connections offering a fixed IP address tend to be very expensive, while dynamic IP connections are more reasonably priced. The problem with having a dynamic IP address is that Internet services (such as Web and FTP servers) require a certain IP address for the Internet service to be bound to. Domain Name Service (DNS) provides the two way translation between a domain name in the form of a human readable URL (e.g. xyz.com) and an IP address. This DNS translation is fixed when a domain name is registered with one of the available Internet registrars. If the IP address is dynamic, however, (meaning the address changes on a periodic basis, generally at least once very 24 hours), then there must be a way for DNS to update this change so that when a URL is entered, it will be routed to the correct IP. This obviously creates a very practical problem as one can not re-register a domain name every time the IP for that domain changes. There is a solution to this problem, however. It is called dynamic DNS.
Dynamic DNS allows you to create FTP (and other Internet services as well) when your organization has only a dynamic IP address. Using dynamic DNS to create a FTP server involves three steps– 1. choosing a dynamic DNS service provider; 2. installing a dynamic DNS software application; 3. installing a FTP server software application. While there are several options for each of these three steps, this article will discuss a specific example for each of them. While they are not the only choices, they are ones the author has had personal experience with and recommends.
Dynamic DNS Service Provider
The first step is to choose a dynamic DNS service provider. The function of the dynamic DNS service provider is to in essence provide a translation layer from your registered domain name to your dynamic IP address. The way dynamic DNS works is as follows–rather than listing your domain name with your domain name registrar as your name server, you will use a domain name belonging to your dynamic DNS service provider. Once you have signed up with a dynamic DNS service provider, you then will list your registered domain name with your dynamic DNS service provider who, in turn, will then route URL requests from your domain name to your IP address based upon the mapping of your dynamic IP to your dynamic DNS service provider’s domain name. DynDNS.org, www.dyndns.org, provides one such example of this service. One of the services DynDNS.org provides is called custom DNS. This service is the one to choose if you already have a domain name and a dynamic IP, but want to be able to host an Internet service such as FTP. DynDNS.org has several name servers, such as ns1.mydyndns.org, that you use as your primary and secondary hostname servers that you list with your domain registrar (DynDNS.org also does domain name registration if you do not already have a domain name registered). There are other organizations that also offer dynamic DNS services, but DynDNS.org services works very well and cost only a modest sum.
Dynamic DNS Software Application
In order for your dynamic DNS service provider to map URL requests from your domain name to your IP address, your dynamic DNS service provider must know your IP address. This, of course, is the issue when you have a dynamic IP. How is your dynamic DNS service provider to know what your IP address is when it is constantly changing? The solution is to utilize a dynamic DNS software application. The purpose of such an application is to update your IP address information with your dynamic DNS service provider. This application will run on the machine that hosts your Internet connection or, in the case of where a DSL or cable router is utilized, on a machine that has access to such router and thereby is aware of your current IP. One such application is DirectUpdate, www.directupdate.com. DirectUpdate runs on Windows NT/2000/XP as a service. It compares your IP address to the IP address that is registered with your dynamic DNS service provider every 10 minutes and when it finds a difference, it then updates that IP address. There is one caveat to using this particular application—there may be up to a ten minute period in every IP address change cycle in which your dynamic DNS service provider will not have your correct IP address. The length of this actual time period will depend, of course, on when within this ten minute period in which DirectUpdate updates your IP address that your dynamic IP address is reassigned by your Internet service provider; most of the time, however, it will be less than ten minutes. Obviously, if you are involved in intense e-commerce, this is not the best solution. But for FTP sites where you want to provide customers or off–site employees access to selected files, this time–delay issue will generally not be a problem. DirectUpdate also has a very comprehensive database of available dynamic DNS service providers that provides built–in connections to those providers thereby simplifying the configuration of this essential component of being able to utilize a FTP Server with a dynamic IP.
FTP Server Software Application
Once you have provided your Dynamic IP address with Dynamic DNS capabilities, you are then ready to setup a FTP server on your local host machine. To do this, you will need a FTP Server software application. While there are many options to choose from, one of the simplest, yet most powerful applications is ServU from Rhinosoft Corp., www.rhinosoft.com. An essential feature of any FTP Server application is the ability to control directory access and individual file permissions. For example, you may want to allow some users on your FTP site, such as employees, to access several different directories and be able to delete and upload files. For others, such as the public, you may want to strictly control what directories such users can access and what they may do with files in those directories. ServU makes it very easy to configure such file and directory access. The following screen shot shows an example of the file and directory control options available in ServU.
You are also able, as the next screen shot shows, to control things such as maximum upload and download speeds, the number of logged in users from a particular IP address, password types, etc.
Other configuration options include disk quotas and password control. Perhaps the most important configuration item is what IP address to use. Since in the case presented in this article you will be using a dynamic IP address, you will not be able to specify a particular IP address in ServU. Fortunately, you don’t have to as ServU gives you the option of using any available IP address. In other words, ServU will not be looking only for data requests for a particular IP address, but will instead bind to whatever IP address you happen to have assigned to your FTP host machine at that particular time. If your domain name, for example, is xyz.com, then whenever a user enters xyz.com in their FTP client program, their request will be routed through Dynamic DNS (as explained previously) to the FTP port on your FTP host machine, which is generally port 21. Since port 21 is not bound to a specific IP, whatever IP is currently assigned to your host machine will do. Of course, while port 21 on your FTP host machine, will be wide open on the Internet, as it will be with any FTP Server application, ServU has many advanced configuration options to secure your FTP host machine such as specific IP address access and password encryption. In summary, ServU is very easy to use and allows even a novice FTP Server administrator to secure a FTP site in a very granular fashion, while at the same time being a very powerful application in terms of security and capability.
While the steps illustrated herein may make it appear to be complex to enable a FTP Server to utilize a dynamic IP address, the time involved to complete this process is relatively short and can generally be performed in less than one hour. A fixed IP address is unquestionably a better alternative if its price is within your firm’s budgetary requirements. For many firms, however, maintaining a fixed IP will be price prohibitive. Therefore using Dynamic DNS provides a very attractive alternative that enables you to setup a FTP server that will perform in the same manner as if you had a fixed IP.
© Daniel Ogden, 2003
You are visitor
Send mail to Webmaster
questions or comments about this web site.