Microsoft Windows Small Business Server is a great solution for small businesses of any size, from two to seventy-five seats. The standard package offers the complete functionality of Windows Server, along with a web server, mail server, SharePoint Services, and much more for a small business price. It allows small companies to bring their IT in-house and to compete with their larger competitors on an equal footing using the same technologies.
Unfortunately the way the Internet is designed in order to host public-facing servers (web, e-mail) you need a static IP address, much like having a business requires a telephone number. Not every company with an Internet connection wants to pay the higher monthly fees (depending on the ISP and service often between $75 and $200 per month) for those benefits, and instead opt for a dynamic IP address, or an address that changes every so often.
To address that problem a number of DNS Providers offer what is called dynamic DNS services, by which companies can configure a software client on the server (many inexpensive routers have the client built-in) to report back to a central server every time the dynamic IP address changes. The DNS Provider then gives them an address (such as mitchgarvis.dyndns.org) which they can use to access their servers remotely anytime.
Although this solution does address the initial problem, it creates a number of problems as well, such as:
- Visitors know immediately that the company does not use static addresses;
- The DNS Provider's name (or a variation thereon) is always part of their web address; and
- Many ISPs block the default ports for many popular services on their lower-priced packages.
In this article I will offer solutions for all of these issues. I will offer a solution for a fictitious company called Alpine Ski House that:
- Registers their own domain name (alpineskihouse.com);
- Configure web services and e-mail services at that address;
- Redirects the necessary ports for the mail services*; and
- Costs the company less than $100 per year, over and above their basic ISP fees.
What you need:
Although many of these methods can be adapted to different configurations, this article assumes that you have:
- A properly configured server running Microsoft Windows Small Business Server, Standard Edition; and
- A permanent connection to the Internet.
First things first, in order to do any of this you must purchase your domain name. Choose something simple but explicative… so if your company name is Alpine Ski House try to choose something like alpineskihouse.com, and not theskichaletdowntheroadfromthatplaceIoncehaddinnerat.com. Unfortunately it is true that most of the good domain names are taken, and consider alternate top-level domains, such as .info or .tv, if your first choice is taken.
Once upon a time there were only a couple of companies selling domain names, but those days are behind us. Companies such as domainsatcost.ca, godaddy.com, and dyndns.com all sell domain names, and depending on what you want you may need to go to a few of them (domainsatcost.ca sells Canadian domain names which many of the others do not, though they should all sell .com, .net, and such). Pick one that offers what you need at a reasonable price. Recently a client told me they had paid $98 per year for their domain name and asked if they had paid too much… the same week that I paid $12.95 for one. Shop around if you like and find a site you are comfortable with.
Register with a Dynamic DNS Provider
Open an account with a DNS Provider that offers Dynamic DNS services in addition to regular DNS services. For the purpose of this article I used dyndns.com, but there are others such as no-ip.com who offer comparable services. This service should be free, though it will start costing a bit as soon as we start adding options. You will be asked what hostname you want to use (alpineskihouse.dyndns.org) as well as what domain name you want to use (dyndns.com offers several choices in lieu of dyndns.org).
NOTE: Especially if you have outside consultants working on your network I recommend selecting a password for this account that is completely different from all of your other services such as banking and such. The password for your dynamic DNS will be configured either in your router or in a dynamic DNS client on your server, both of which are clear-text and unsecured.
Install a router with a DDNS Option
Even many of the lower end home routers these days offer a Dynamic DNS feature, and it is one less service that needs to run on your server. For extra points get one with Universal Plug and Play (UPnP), which will allow the Small Business Server wizards to open all of the necessary ports in the device's firewall and direct them to the right server, which saves having to do this all manually.
Typically configuring Dynamic DNS will require selecting which dynamic DNS Provider you use, the username, password, and hostname. Once you set this up properly it should report back to your DNS Provider the current IP address, and you should be ready to go.
Configure all Internet and E-Mail Services on your server
In short, run the Configure E-Mail and Internet Connection Wizard (CEICW). This will configure everything automatically, and by selecting the option to configure your UPnP Router option when asked. Make your selections according to your needs, so if you intend to host Exchange Server with Outlook Web Access, make sure to select the E-Mail option and Webmail options when asked. When asked for the mail domain, enter the domain name you purchased (alpineskihouse.com).
Custom DNS Services
Now we may not like it, but this is where we start paying for all this. The good news is that it is not overly expensive – recently I paid $22.50 for one year. For mail and web services you will need a Custom DNS service. The custom DNS will link your actual domain name to the dynamic account. Because of this I recommend purchasing these services from the same DNS Provider that supplies your DDNS Service.
A Record: Forward looking records, the main record that points your name (alpineskihouse.com) to your server. It is the only record that will point to an IP address. If you purchased your domain name from a provider that is not your Dynamic DNS Provider then you will either have to transfer the name, or go into the records where you purchased them and substitute the original Name Servers with the ones that your DDNS Provider supplies you with.
CNAME Record: Canonical names are the records for sub-names, such as www. They are not required, but do not cost any more.
Although these records may only take a few minutes to create do not expect them to work right away. The entire Internet DNS directory has to be updated appropriately, and this can take anywhere from 24-72 hours.
Ports? What Ports?
If your ISP does block the necessary ports – typically port 25 for e-mail servers, then you have to play around a bit.
- You will need to add a Mailhop Relay service to your DNS Zone. This is another cost – I recently paid $42.50 for one year. Configure the Mailhop service to your domain name, and select an alternate port to use – a common one is port 2525 which is generally not used for anything else.
- You will then have to create two MX Records in your zone. Again this will take 24-72 hours.
- Open the custom port in your router and redirect it to your SBS server.
MX Record: Mail Exchanger records control the e-mail addresses, the infamous email@example.com. When you purchase the Mailhop service you will be instructed to create two MX records within the DNS account, and how to do so.
<WARNING> We are about to play in the advanced options of your Small Business Server. If you are not comfortable doing so have a professional do this for you.
- Log onto the Small Business Server with Administrator credentials. In the Server Management console tree expand Advanced Management, then First Organizational Unit, then <your servername>. Under servername expand Protocols, then SMTP.
- Right-click on Default SMTP Virtual Server and click Properties.
- In the General tab of Default SMTP Virtual Server Properties click on the Advanced… button.
- Click Add
- In the Identification window in the box next to TCP Port enter the value of the custom port you selected (2525).
- Check the boxes next to Apply Recipient Filter and Apply Intelligent Message Filter, then click OK.
- Click OK to close out of the Advanced window and OK to close out of the Default SMTP Virtual Server Properties window.
As mentioned the DNS settings may take a couple of days to fully work, but in essence you are done. Go for lunch, take the afternoon off, and tomorrow morning, from a remote location, try the following tests:
- In a web browser try to navigate to your server by typing http://alpineskihouse.com. If that works then the main DNS records are properly configured.
- Try to send an e-mail to firstname.lastname@example.org. Because I am impatient I usually configure 'Request Delivery Receipt' so that I know exactly when it shows up, but if you can log onto the Outlook Web Access (https://alpineskihouse.com/exchange) as the Administrator and the e-mail is there, then it works!
What About SBS Premium Technologies?
If you are using Windows Small Business Server 2003 Premium Edition then you likely are using Internet Security and Acceleration Server 2004 as your firewall, possibly in addition to your router device. If that is the case you will have to configure the Mail rules to use the custom port instead of Port 25.
Good luck and happy SBSing!
*These instructions are technical in nature, and do not address contractual parameters set forth by your ISP, which may exclude you from hosting these servers.