Cheap VPS & Xen Server

Residential Proxy Network - Hourly & Monthly Packages

How To Run Your Own Name Servers With ISPConfig And GoDaddy


This tutorial shows how you can run your own name servers for domains that you register with GoDaddy. Of course, this works with every other registrar as well, although the procedure might differ a little bit.

To do this, you need two servers with two different public IP addresses and with ISPConfig installed, and of course a GoDaddy account.

1 Current Situation

Our current situation is as follows: we have

  • ISPConfig server #1: IP address 64.25.171.8; this one will be our primary name server.
  • ISPConfig server #2: IP address 64.25.171.9; this one will be our secondary name server.
  • a GoDaddy account with the already registered domains erikturk.com and ifwolfpack.com. Both are currently using GoDaddy’s name servers (e.g. park27.secureserver.net and park28.secureserver.net).

2 Our Goal

This is what we want to achieve:

  • Create DNS records for ns1.erikturk.com and ns2.erikturk.com.
  • ISPConfig server #1 will be ns1.erikturk.com.
  • ISPConfig server #2 will be ns2.erikturk.com.
  • Create DNS records for ifwolfpack.com on ns1.erikturk.com and ns2.erikturk.com.
  • Change ifwolfpack.com‘s authoritative name servers from Godaddy’s name servers to ns1.erikturk.com and ns2.erikturk.com.

3 Create ns1.erikturk.com And ns2.erikturk.com

Our domain erikturk.com is already registered, but now we want to create the DNS records ns1.erikturk.com and ns2.erikturk.com that point to our ISPConfig servers #1 and #2.

Please note: It is important that your browser allows pop-up windows, otherwise the GoDaddy interface will not work as expected!

We log in to our GoDaddy account:

1

Click on My Account:

2

Then go to Manage Domains:

3

You should see a list of the domains you registered with GoDaddy. As you see, erikturk.com and ifwolfpack.com are in this list. Click on erikturk.com:

4

In the menu that opens on the right, click on the + sign in front of Total DNS Control:

5

Then go to Total DNS Control And MX Records:

6

Select Launch Total DNS Control Manager:

7

In the window that pops up you can see the existing DNS records for erikturk.com. Click on Add New A Record:

8

Enter ns1 as Host Name (do not enter ns1.erikturk.com, just ns1!) and 64.25.171.8 as IP address (this is the IP address of our ISPConfig server #1). You don’t need to change the TTL value. Click on Continue then:

9

Confirm by clicking on Add:

10

Back on the list of DNS records, a window will pop up saying that it will take approx. 24 – 48 hours until the new DNS record propagates over the internet. Click on OK.

11

Now we do the same procedure again for ns2.erikturk.com, but this time we enter 64.25.171.9 as IP address as ns2.erikturk.com should point to our ISPConfig server #2:

12

13

14

15

You can close the window with the DNS records now. Now we must register ns1.erikturk.com and ns2.erikturk.com as name servers, i.e., we must tell GoDaddy that we want to use these two servers as name servers. Back in the main GoDaddy interface, click on the + in front of Domain Host Summary:

15b

Click on Click here to see details or to modify:

15c

In the new form we enter ns1 and ns2 and their respective IP addresses and click on Save Changes:

15d

The next screen confirms your changes:

15e

Our name servers ns1.erikturk.com and ns2.erikturk.com have been created and registered. It takes approx. 24 – 48 hours until our changes propagate over the internet, but normally it works the next day. You should wait until then before you proceed.

Please note: the steps from this chapter have to be done only once. You don’t have to do them again if you want to use ns1.erikturk.com and ns2.erikturk.com for other domains than ifwolfpack.com, too.

You can use the dig command on one of your Linux systems to check the status of ns1.erikturk.com and ns2.erikturk.com. After our changes have propagated, the output should look like this:

dig ns1.erikturk.com

;  DiG 9.2.4  ns1.erikturk.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14882
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;ns1.erikturk.com.              IN      A

;; ANSWER SECTION:
ns1.erikturk.com.       3600    IN      A       64.25.171.8

;; Query time: 312 msec
;; SERVER: 145.253.2.75#53(145.253.2.75)
;; WHEN: Wed Jun  7 17:39:07 2006
;; MSG SIZE  rcvd: 50

dig ns2.erikturk.com

;  DiG 9.2.4  ns2.erikturk.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20318
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;ns2.erikturk.com.              IN      A

;; ANSWER SECTION:
ns2.erikturk.com.       3600    IN      A       64.25.171.9

;; Query time: 106 msec
;; SERVER: 145.253.2.75#53(145.253.2.75)
;; WHEN: Wed Jun  7 17:39:09 2006
;; MSG SIZE  rcvd: 50

4 Configure DNS On Our ISPConfig Servers

(The steps from this chapter have to be done on ISPConfig server #1 and #2.)

Before we create DNS records for ifwolfpack.com on our ISPConfig servers, go to Management -> Server -> Settings -> DNS and enter ns1.erikturk.com as Default Ns1 and ns2.erikturk.com as Default Ns2. You should also specify a valid Admin Email:

16

5 Create DNS Records For ifwolfpack.com On ns1.erikturk.com

(The steps from this chapter have to be done on ISPConfig server #1/ns1.erikturk.com.)

I will refer to ISPConfig server #1 as ns1.erikturk.com from now on.

Go to the DNS Manager and click on New Master (remember, ns1.erikturk.com will be our primary name server):

17

Fill in ifwolfpack.com as Title and Domain (SOA) and enter the IP address of ifwolfpack.com (in this example it just so happens that ifwolfpack.com is hosted on ns1.erikturk.com, therefore the IP address is 64.25.171.8, but of course you can use any IP address you like):

18

The Options tab should look like this (Nameserver 1 must be ns1.erikturk.com, and Nameserver 2 must be ns2.erikturk.com):

19

Next I create the A record www.ifwolfpack.com (we have already created ifwolfpack.com by specifying it as Domain (SOA) on the Domain tab, but remember: www.ifwolfpack.com and ifwolfpack.com are different!):

20

As Hostname we enter just www, not www.ifwolfpack.com:

21

Next I create an A record for mail.ifwolfpack.com because I want to use that subdomain as the mail exchanger (MX) in the next step.

22

23

Now I create an MX record for the domain ifwolfpack.com. Emails for ifwolfpack.com (e.g. user@ifwolfpack.com) should go to mail.ifwolfpack.com, therefore I leave the Hostname empty (as ifwolfpack.com has no hostname) and enter mail.ifwolfpack.com as Mailserver. In rare cases you find email addresses like user@www.ifwolfpack.com or user@subdomain.ifwolfpack.com; you would then have to create MX records with www or subdomain as Hostname.

24

25

In the overview you should now have three records: two A records (www and mail) and one MX record:

26

6 Create DNS Records For ifwolfpack.com On ns2.erikturk.com

(The steps from this chapter have to be done on ISPConfig server #2/ns2.erikturk.com.)

I will refer to ISPConfig server #2 as ns2.erikturk.com from now on.

ns2.erikturk.com must hold the same DNS records as ns1.erikturk.com so if ns1.erikturk.com goes down for some reason, ns2.erikturk.com can take over. Now it would be stupid to create the same records again on ns2.erikturk.com. To avoid this work, we can simply transfer the ifwolfpack.com zone from ns1.erikturk.com to ns2.erikturk.com. This is called a zone transfer.

To do this, go to the DNS Manager in ISPConfig on ns2.erikturk.com and click on New Slave (remember, ns2.erikturk.com is our secondary name server).

27

Enter ifwolfpack.com as Title and Domain and specify ns1.erikturk.com‘s IP address (64.25.171.8) as DNS-Master IP:

28

That’s all you have to do. The ifwolfpack.com zone will now be transferred from ns1.erikturk.com to ns2.erikturk.com automatically.

7 Do Some Testing

We have not specified ns1.erikturk.com and ns2.erikturk.com as the authoritative name servers for ifwolfpack.com in the GoDaddy interface yet. Nevertheless we can do some tests now to see that ns1.erikturk.com and ns2.erikturk.com resolve ifwolfpack.com correctly. You can do this on any of your Linux systems with the dig command. First we ask ns1.erikturk.com:

dig @ns1.erikturk.com any ifwolfpack.com

;  DiG 9.2.4  @ns1.erikturk.com any ifwolfpack.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31627
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 2

;; QUESTION SECTION:
;ifwolfpack.com.                        IN      ANY

;; ANSWER SECTION:
ifwolfpack.com.         86400   IN      SOA     ns1.erikturk.com. hostmaster.erikturk.com. 2006060705 28800 7200 604800 86400
ifwolfpack.com.         86400   IN      NS      ns1.erikturk.com.
ifwolfpack.com.         86400   IN      NS      ns2.erikturk.com.
ifwolfpack.com.         86400   IN      MX      10 mail.ifwolfpack.com.
ifwolfpack.com.         86400   IN      A       64.25.171.8

;; ADDITIONAL SECTION:
ns2.erikturk.com.       172661  IN      A       64.25.171.9
mail.ifwolfpack.com.    86400   IN      A       64.25.171.8

;; Query time: 157 msec
;; SERVER: 64.25.171.8#53(ns1.erikturk.com)
;; WHEN: Wed Jun  7 18:43:12 2006
;; MSG SIZE  rcvd: 193

dig @ns1.erikturk.com any www.ifwolfpack.com

;  DiG 9.2.4  @ns1.erikturk.com any www.ifwolfpack.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60393
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1

;; QUESTION SECTION:
;www.ifwolfpack.com.            IN      ANY

;; ANSWER SECTION:
www.ifwolfpack.com.     86400   IN      A       64.25.171.8

;; AUTHORITY SECTION:
ifwolfpack.com.         86400   IN      NS      ns1.erikturk.com.
ifwolfpack.com.         86400   IN      NS      ns2.erikturk.com.

;; ADDITIONAL SECTION:
ns2.erikturk.com.       172626  IN      A       64.25.171.9

;; Query time: 149 msec
;; SERVER: 64.25.171.8#53(ns1.erikturk.com)
;; WHEN: Wed Jun  7 18:43:32 2006
;; MSG SIZE  rcvd: 113

dig @ns1.erikturk.com any mail.ifwolfpack.com

;  DiG 9.2.4  @ns1.erikturk.com any mail.ifwolfpack.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45499
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1

;; QUESTION SECTION:
;mail.ifwolfpack.com.           IN      ANY

;; ANSWER SECTION:
mail.ifwolfpack.com.    86400   IN      A       64.25.171.8

;; AUTHORITY SECTION:
ifwolfpack.com.         86400   IN      NS      ns2.erikturk.com.
ifwolfpack.com.         86400   IN      NS      ns1.erikturk.com.

;; ADDITIONAL SECTION:
ns2.erikturk.com.       172606  IN      A       64.25.171.9

;; Query time: 147 msec
;; SERVER: 64.25.171.8#53(ns1.erikturk.com)
;; WHEN: Wed Jun  7 18:43:44 2006
;; MSG SIZE  rcvd: 114

The results look as expected. Now we check ns2.erikturk.com:

dig @ns2.erikturk.com any ifwolfpack.com

;  DiG 9.2.4  @ns2.erikturk.com any ifwolfpack.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 19089
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 2

;; QUESTION SECTION:
;ifwolfpack.com.                        IN      ANY

;; ANSWER SECTION:
ifwolfpack.com.         86400   IN      SOA     ns1.erikturk.com. hostmaster.erikturk.com. 2006060705 28800 7200 604800 86400
ifwolfpack.com.         86400   IN      NS      ns1.erikturk.com.
ifwolfpack.com.         86400   IN      NS      ns2.erikturk.com.
ifwolfpack.com.         86400   IN      A       64.25.171.8
ifwolfpack.com.         86400   IN      MX      10 mail.ifwolfpack.com.

;; ADDITIONAL SECTION:
ns2.erikturk.com.       172776  IN      A       64.25.171.9
mail.ifwolfpack.com.    86400   IN      A       64.25.171.8

;; Query time: 79 msec
;; SERVER: 64.25.171.9#53(ns2.erikturk.com)
;; WHEN: Wed Jun  7 19:02:22 2006
;; MSG SIZE  rcvd: 193

dig @ns2.erikturk.com any www.ifwolfpack.com

;  DiG 9.2.4  @ns2.erikturk.com any www.ifwolfpack.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7173
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1

;; QUESTION SECTION:
;www.ifwolfpack.com.            IN      ANY

;; ANSWER SECTION:
www.ifwolfpack.com.     86400   IN      A       64.25.171.8

;; AUTHORITY SECTION:
ifwolfpack.com.         86400   IN      NS      ns2.erikturk.com.
ifwolfpack.com.         86400   IN      NS      ns1.erikturk.com.

;; ADDITIONAL SECTION:
ns2.erikturk.com.       172753  IN      A       64.25.171.9

;; Query time: 76 msec
;; SERVER: 64.25.171.9#53(ns2.erikturk.com)
;; WHEN: Wed Jun  7 19:02:37 2006
;; MSG SIZE  rcvd: 113

dig @ns2.erikturk.com any mail.ifwolfpack.com

;  DiG 9.2.4  @ns2.erikturk.com any mail.ifwolfpack.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 58414
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1

;; QUESTION SECTION:
;mail.ifwolfpack.com.           IN      ANY

;; ANSWER SECTION:
mail.ifwolfpack.com.    86400   IN      A       64.25.171.8

;; AUTHORITY SECTION:
ifwolfpack.com.         86400   IN      NS      ns1.erikturk.com.
ifwolfpack.com.         86400   IN      NS      ns2.erikturk.com.

;; ADDITIONAL SECTION:
ns2.erikturk.com.       172733  IN      A       64.25.171.9

;; Query time: 108 msec
;; SERVER: 64.25.171.9#53(ns2.erikturk.com)
;; WHEN: Wed Jun  7 19:02:49 2006
;; MSG SIZE  rcvd: 114

Looks ok, too.

8 Change ifwolfpack.com’s Authoritative Name Servers

(This step should always be done after you have created the appropriate DNS records on the new name servers! Some registries will complain if they do not find records for a domain on the new name servers.)

Now we must change the authoritative name servers in the GoDaddy interface. Up to now, GoDaddy’s name servers are still responsible for ifwolfpack.com, and if a client asks for details about ifwolfpack.com, GoDaddy’s name servers will answer. To change this, we check the checkbox in front of ifwolfpack.com in our domain list in the GoDaddy interface and click on Set Nameservers:

29

On the right, the Set Name Servers box loads. Mark Custom Name Servers and replace GoDaddy’s name servers with ns1.erikturk.com (Name Server 1) and ns2.erikturk.com (Name Server 2). Then click on Save Changes:

30

The next screen confirms your changes and tells us that it can take up to 48 hours to propagate, i.e., it can take up to 48 hours until all clients start to ask ns1.erikturk.com and ns2.erikturk.com about ifwolfpack.com instead of the GoDaddy name servers.

31

So after 48 hours you can do the tests from chapter 7 again, but this time you can leave out @ns1.erikturk.com and @ns2.erikturk.com because ns1.erikturk.com and ns2.erikturk.com are now authoritative.

dig any ifwolfpack.com
dig any www.ifwolfpack.com
dig any mail.ifwolfpack.com

should now show the same results as in chapter 7.

 

 

 

 

Comments

comments