Adams-Land MintDNS v2.0 2008 Enterprise Edition

To request support please click here.

Contents

Introduction

MintDNS v2.0 2008 Enterprise Edition is an interface for Microsoft DNS that replaces earlier versions of MintDNS. MintDNS allows your Windows 2000, 2003 or 2008 Server to act as a public or private DDNS daemon, and can provide the internet community with both static and dynamic DNS services. MintDNS supports standard update formats and at this time supports many third party update clients enabling compatibility with most all operating systems.

MintDNS setup and configuration is extensive and complicated. A successful setup will require your full attention to the entire scope of this document. In the event you are unable to successfully setup MintDNS please do not hesitate to contact support by clicking here or by calling 479-232-5857 during our normal hours of business 8:00am-5:00pm CST. As always 24hr support is available to all registered users. Free support and setup services are offered to all MintDNS users. If your having difficulties configuring your server please don't hesitate and contact support.

[TOP]

Hardware and Software Requirements

Microsoft SQL Server 2000, 2005 or 2008 (SQL 2005 Express is free from Microsoft.). Windows 2000, 2003 or 2008 Server operating system (With Active Directory Installed) Please see these links for instruction on installing Active Directory 2000 server, 2003 server 2008 server. PC with a 133-MHz processor required. 700-MHz or faster processor recommended. 128 MB of RAM required. 256 MB or more recommended. At least one fully qualified domain name. Static IP address. Broadband connection to the internet. Routers Firewalls and Proxies may hinder your ability to use MintDNS. Latest service packs, and security updates from windowsupdate.microsoft.com.

[TOP]

Server Setup (Prior to installing MintDNS)

Steps before installing MintDNS.
 

  1. Install Active Directory (2000 server, 2003 server 2008 server)
  2. Ensure IIS is installed and running. (If 2003, 2008 server ensure asp support is enabled.)
  3. Create a new user and add this user to the Administrators group.
    (Will be used by MintDNS, Use any username and password you like. Keep note of user name and password)
  4. Choose and install a Database Engine (Requires MS SQL 2000, 2005 or 2008)
     (Recommended Engines are Microsoft SQL Server 2000-2005.)
  5. Create DNS Zone or Zones in DNS  (Must be AD integrated)
  6. Register Your Server as a Name Server (Done at your registrar)

1. Please use these links for help installing Active Directory 2000 server, 2003 server, 2008 server

2. Ensure the IIS service is installed and running. This is most easily done by opening Control Panel\Administrative Tools\Services, and verifying the World Wide Web Publishing Service exist and is running. You also want to make sure the startup type is set to automatic. [image1] [image2]

    If the World Wide Web Publishing service does not exist open the add remove programs wizard (Control Panel\Add Remove Programs\Windows Components). After the    Windows Component Wizard opens highlight the Internet information services (IIS) field and click details. At a minimal the Internet information Services Snap-In and World Wide Web Server fields should be checked. If not check them and apply your changes.

3. MintDNS requires Administrative privileges to perform DNS functions, so you will need to create a new Administrative user that we will use to configure MintDNS after installation.  Open Administrative Tools\Active Directory Users and Computers.  Right click on the users folder and select new then user. Name the user anything you like and set the password to anything you like. (Just keep note of the username and password). Be sure to check the Password never expires option. After the user is created right click on the users name and select the tab {Member of} and add the administrators group. [images]

4. Next you will need to decide which Database Engine you will use. We recommend  MS SQL 2005 Enterprise, or MS SQL 2005 Express Edition. Of course if you already have Microsoft SQL 2000 installed then there's no real need to upgrade.

5.You now need to setup your domains in DNS. Open the DNS snap in Administrative Tools\DNS. Highlight the Forward Lookup Zones Directory. Right click and choose New Zone. Supported Zone Types are Active Directory Integrated. Enter your domain name E.G. yourname.com not www.yourname.com and complete the new zone wizard. (Complete this step for each domain you wish to use with MintDNS) [Images]
NOTE: Only domains configured later in the setup instructions will be managed by MintDNS. Just because a domain exists in DNS does not mean the public will have access to it. MintDNS provides security for zones not used by the system.

   For every zone that you plan to use with MintDNS you must enable  Dynamic Updates. To do this right click on the zone and select properties. You will see an option to allow or disallow dynamic updates. You need to select the option Allow Secure Updates only. If you do not see this option you must change the zone type to Active Directory Integrated, and repeat the process. MintDNS will not work with non Active Directory zones. [image]

   Next select the zone or zones you created one at a time. you should see two records right click the SOA record and view properties. Set the Minimal TTL to 1 and the Records TTL to 1. This will allow all new records created in this zone to have a Time To Live of 1 second. You may want to add your basic records at this time such as www, ftp, mail etc. This is a pretty straight forward process, just right click on the zone name and choose new host. On the following screen enter www etc. as a name and enter your servers IP address. [image]

6. Registering your server as a name server will differ from registrar to registrar, but the processes all accomplish one goal. They allow you to host DNS locally for the domain or domains on your server. Once you have your zones setup in DNS you are ready to configure these domains to use your server for DNS. This process will differ from registrar to registrar, and you should read their help documents about hosting your own DNS. [A godaddy walk through is provided here.]

Your now ready to install MintDNS.


[TOP]

Installing MintDNS 2006

Steps to install MintDNS.
 

  1. Create the mintdata database 
  2. Install ServerSetup.exe.
  3. Register the MintDNS ISAPI.
  4. Copy the ASP files to your Web-Root (Edit global.asa)
  5. Set authentication for MintDNS
  6. Turn off authentication settings for nic\update and clients directory

1. Creating the mintdata database will differ from SQL 2000 to SQL 2005. But the process is a pretty straight forward affair for both versions. For Microsoft SQL 2005  you will just need to double click the mintdata.sql file (Found in the MS SQL Database directory) You will be prompted to login by the SQL Manager. After signing in just click execute on the menu bar. For SQL 2000 you will need to open the SQL manager and enter the new query editor screen. Open the mindata.sql file in query designer and click execute.

NOTE: The database creation script also creates a DB user with the correct access to the mintdata database. In later steps you will find that the global.asa is already configured with this user account. To use the auto created user you need to complete the following steps.

a. Login to the SQL Management Studio. (Start/Programs/Microsoft SQL Server 2005)
b. Ensure Mix Mode Authentication is enabled. [image]
c. Restart SQL Server (Same initial step as above just choose restart instead of properties.)
d. Expand the Security/Logins folder.
e. Right click and view properties for the mintuser login.
f. Change the default password.
(Keep note of this password it will be required while editing the global.asa file later in the setup.)

2.- 3.You now need to run the ServerSetup.exe file. Once the installer finishes open Administrative Tools/Microsoft's Internet Services Manager and view properties for the website which will be hosting the MintDNS ASP files. Click on the ISAPI tab and click the add button. Provide a generic name and then click browse. Browse to the location were MintDNS was installed (C:\Program Files\MintDNS 2008 Enterprise), and select the file Mupdate.dll file. Save and apply your changes. [Installing the ISAPI]

4. We are now ready to copy the ASP files to your Web-Root which is generally c:\Inetpub\wwwroot. (Off course this directory could be different if you have changed it or are using a virtual web site. Open the Asp Files\wwwroot directory found in this package and copy the contents to your webroot. once the files are copied you need to browse to your Web Root directory and edit the global.asa file in your favorite text editor. Specify your servers OS and select a database connection string, and edit the connection string accordingly. Removing the ' character from the left of a connection string will enable it .[image]

NOTE: The enabled connection string is already set to use the auto created db user. If you followed the Database steps above you need only change the password in the connection string.

NOTE: If you encounter the error below when browsing the website.

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][SQL Native Client]Named Pipes Provider: Could not open a connection to SQL Server [2].

Please see this post in our support forums.

5. ONLY CHOSE ONE OPTION! Since MintDNS requires Administrative rights to manage DNS we need to decide on a way to accomplish this. There are three ways in which we can set the access levels a-c below. Please choose an option. The middle option B is the most secure.

  1.  Set the website hosting the MintDNS ASP files to use an administrative account for anonymous access. (From within the IIS snap in, select properties for the website which hosts MintDNS. Choose the directory security tab and click the edit button within the authentication and access control box. Enter an administrative user and password then apply your changes.)[image]
  2. Add the MintDNS.dll to Component Services/COM+ Applications.  [Click here for instructions.]
  3. Configure the Application Pool in IIS to use an administrative account. (Open IIS and right click then select properties for the Application pool Mint DNS is using. Open the Identities tab and enter an administrative user and password.) [image1] [image2]

If an when you change the users password configured in the option above the user password must be updated in whatever option you chose.

6. DO NOT SKIP! UPDATES AND CLIENT FUNCTIONS WILL FAIL WITHOUT THIS STEP. Next we need to set the authentication method used for the nic\update and Client directory. In the Internet Services Manager Snap in select the website that is hosting the asp files. on the left hand pane double click the nic directory and select properties for the update directory then choose the directory security tab. Click the anonymous access edit button and uncheck Basic Authentication and Integrated Windows Authentication. Repeat this step for the Client directory by selecting properties for the directory. Apply your changes. [image]

MintDNS should be setup at this point but will still require an initial configuration to be made.
[TOP]

Client Application Configuration

  1. Download the NSIS Setup Compiler (NSIS Compiler)
  2. Configure your domain using (Client Software\Client Host Editor.exe)
  3. Edit the (Client Setup Maker.nsi) file
  4. Compile your Clientsetup.exe
  5. Copy ClientSetup.exe to Your Web Root

In order to create your client install package you will need to download and install the NSIS installer system. you can download this application here http://nsis.sourceforge.net/Main_Page

Once you have downloaded and installed NSIS you must configure the Client application to use your domain. This is done by running the file Client Host Editor.exe and entering the domain that hosts Mintdns's asp scripts
(Client Host Editor.exe can be found in the Client Software directory)

You will next need to edit the Client Setup Maker.nsi file found in the Client Config and Compile directory. You will then need to compile your setup package.
1. Open Client Setup Maker.nsi in your favorite text editor.
2. Near the top of the Client Setup Maker.nsi file you will see an entry which says Your Company Name. Change the value Your Company Name to the name you wish to use for your setup package.
3. Save changes and exit the file Client Setup Maker.nsi.
4. Using the right mouse button, right click on the file Client Setup Maker.nsi and choose the compile option. This will create a file named ClientSetup.exe in the Client Software directory.
5. Test the setup package by running the new ClientSetup.exe file. If everything is OK copy this file to your webroot.

YOU MAY NOT CHANGE OR EDIT THE FILE LICENSE.TXT AND YOU MAY NOT EXCLUDE IT FROM YOUR DISTRIBUTION PACKAGE. FAILURE TO COMPLY IS A VIOLATION OF YOUR LICENSE AGREEMENT.

You will need to copy the ClientSetup.exe file you created to your webroot. Links to the client application are automatically created within the user help pages.
[TOP]

Initial Configuration

Step for initial configuration.

  1. Change Admin Settings.
  2. Ensure MintDNS is working correctly

Logon to the admin control panel http://yourdom.com/admin the default user name and password is
admin
password

Change the admin password, Next remove the domain replaceme.com from the domains section and add your domains which we setup in DNS earlier.

Click logout and point your browser to http://yourdom.com/reg.asp create a new user and test the system. If you encounter any errors please send the content to sam@dyndnsservices.com
[TOP]

Ports used by MintDNS

The following ports are used by MintDNS Port 80 TCP, Port 53 TCP, Port 53 UDP
[TOP]

Unlocking MintDNS

Once your trial registration has expired simply purchase MintDNS and make note of the transaction number found in your confirmation email from PayPal. Once you have recorded this number click the Start button and select Programs\DDNS Server. Open the Registration shortcut and enter your registration number. You copy of MintDNS should be unlocked.

If you have purchased MintDNS and cannot unlock the software Contact Support.
[TOP]

Basic URL's

Basic URL's used for navigation.
http://yourdom.com/reg.asp (New user signup)
http://yourdom.com/logon.asp (User Logon)
http://yourdom.com/admin/ (Administration)
http://yourdom.com/nic/update (Update URL Standard update compliant)
[TOP]

Client Applications

Client Applications

  1. Linux Clients
  2. Windows Clients
  3. Hardware Clients

A native Win32 client application is provided for your convenience Setup instructions should been seen here. Also most existing third party clients that supports NIC v2.0 and allows the end user to specify a server to connect to are now supported.

About any third party client can be used. Provided the client allows you to specify a server to connect to.

About any dyndns.org compatible hardware client can be used. Provided the client allows you to specify a server to connect to. (If a device does not allow you to specify a server to connect to. You can still use the device. First create a zone on your server named dyndns.org and add an A records named members using your servers Ip address. Next set the devices TCP/IP DNS to use your servers IP address. This will cause the device to look at your DNS and thus send the upadate to your server.)


[TOP]

Custom Development

Custom clients and Interfaces.

  1. Custom Interfaces.
  2. Custom Clients

If your a developer you may interested to know that the MintDNS component is a stand alone component and can be used in your applications. You cannot distribute a registered version of the MintDNS component, but you can develop your own interface in most all popular programming languages. A basic list of features can be seen below in Visual Basic format.

'Visual Basic ASP Usage
'Not a working example

'Create a reference to the MintDNS Component
Set sd = Server.CreateObject("MintDNS.DNSMAN")


'MintDNS Usage
'Base64 encoding and decoding returns string

encodedstring = sd.base64_encode("string to encode")
decodedstring = sd.base64_decode("string to encode")


'Creates and removes Host type A records returns FAIL or OK
createhost = sd.CreateARecord("www", "yourdomain.com", "127.0.0.1")
removehost = sd.DeleteARecord("www", "yourdomain.com")


'Creates and removes MX records returns FAIL or OK
mailserverIP = "127.0.0.1"
createmx = sd.CreateMXRecord("mail","yourdomain.com", "10", mailserverIP)
removemx = sd.DeleteMXRecord("mail", "yourdomain.com")



'Updates A type records IP addresses returns FAIL or OK
NewIP = "127.0.0.1"
upip = sd.UpdateARecord("www", "yourdomain.com", NewIP)
MXip = sd.UpdateMXRecord("www", "yourdomain.com", NewIP)


'Determines if an IP address is valid returns True or False

IP = "127.0.0.1"
isvalidhuh = sd.IsValidIPAddress(IP)

If you wish to develop a custom client application you should follow the update format found below.

Update Syntax

Example of usage:

http://username:password@yourservice.com/nic/update?
         hostname=yourhost.domain.com,yourhost2.domain.com&
         myip=ipaddress

    
    If using basic authentication the username and password must be base 64 encoded.

GET /nic/update?
         hostname=yourhost.domain.com,yourhost2.domain.com&
         myip=ipaddress
    Host: yourservice.com Authorization: Basic username:password


        All other standard update strings are optional.
   I f using basic authentication the username and password must be base 64 encoded.

Possible Return Values: good
                                             nochg
                                             badauth
                                             nohost
                                             badsys
                                             !donator
                                             911

The Client applications source code is also included with this package, and can be modified to suit your specific needs. As always we are more than happy to answer any development questions you may have.
[TOP]

Error Submission

Please send any and all errors to sam@dyndnsservices.com
[TOP]