Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have a domain name mydomain.net purchased/registered for one of the cloud server(ubuntu) and its pointing to the server(nslookup). I have installed DNS(bind) service with the domain mydomain.net. Now I'm trying to add some host records for other cloud servers(all has static public ip) so that I can access them globally anywhere with the name assigned as host records in the DNS.

I added some hosts(I use webmin to manage DNS) for name and ip resolution but I could not resolve their names.

Many times I installed & configured local dns servers with no publicly registered domain names. But I didn't not understand what the concept behind running DNS for global name resolution. Anybody could tell me here if it's actually possible.

EDIT: 1

I already added the name server like my-dns-hostname-here.mydomain.net for my DNS ip 204.x.x.x and also the host record like the one below for my DNS ip 204.x.x.x

my-dns-hostname-here.mydomain.net
mediawiki.mydomain.net

when I did nslookup of above host records, it didn't resolve them

EDIT: 2

As a procedure I'll be adding domain mydomain.com & nameserver dns-ip-here entries in /etc/resolv.conf while doing local dns server but in the cloud dns server I didn't but the ISP's dns server ips. If I have to change it then probably I may have to restart the cloud server which I couldn't do it as it is one of the production server.

EDIT: 3

Output of dig mydomain.net: I've edited to avoid security issue

; <<>> DiG 9.7.0-P1 <<>> mydomain.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 42599
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0

;; QUESTION SECTION:
;mydomain.net.      IN  A

;; ANSWER SECTION:
mydomain.net.   1000    IN  A   204.x.x.x

;; AUTHORITY SECTION:
mydomain.net.   3600    IN  NS  dns1.stabletransit.com.
mydomain.net.   3600    IN  NS  dns2.stabletransit.com.

;; Query time: 239 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Wed May  4 14:29:00 2011
;; MSG SIZE  rcvd: 104
share|improve this question
    
Do you want to use DNS for internal purposes, or do you want everybody on the internet to be able to access those host names? –  itsadok May 4 '11 at 8:23
    
Does nslookup indicate that it is indeed querying the right server? –  itsadok May 4 '11 at 8:27
    
I want it on the internet so that I can access it from anywherer. Yes I checked nslookup mydoamin.net and it properly resolved –  user3215 May 4 '11 at 8:51
    
can you post the output of dig mydomain.net? –  itsadok May 4 '11 at 8:56
    
I have edit twice my question! –  user3215 May 4 '11 at 9:07
add comment

1 Answer 1

up vote 2 down vote accepted

You can find a good explanation about how dns work on wikippedia.

As a simplification, you can look at it like an inverse file system. To discover the IP address for mydomain.net a computer will work in a similar way that to find a file on /net/mydomain. First it must read the root dir to find where id the net dir, in dns land it will have to ask the root servers for .net. Then it will read the net dir to search for mydomain, in dns land it will ask the.net server for mydomain.

Note that this was not a technically correct answer. Filesystems don't work that way, DNS caching and multiple DNS makes name resolving more complicated. But I feel that it is a simple model.

Back to your problem: the .net root dns are saying that the authoritative dns for your domain are dns1.stabletransit.com. and dns2.stabletransit.com.. So when a computer is triying to resolve test.mydomain.net it will ask dns1.stabletransit.com for the test.mydoin.net IP, not your server, and stabletransit doesn't know anything about test.

You have two options:

1) The sensible and easy one. Forget about running your dns server and just add test.mydomain.net to dns1.stabletransit.com. There is likely some option to do it where you bougth the domain.

2) The geek way, great for learning. Delegate your dns to your own server, learn all about dns, find some secondaries (your ISP will likely do it) and have fun. You will have to read quite a lot of documentation and experiment a little. Be sure that you are able to access your domain by IP, you will need it when (not if) something goes wrong.

share|improve this answer
    
I hope that this answer is clear enough. It's a somewhat complex explanation and it have tested my English skills to its (low) limits. Any help to make it clearer is appreciate. –  Javier Rivera May 4 '11 at 9:26
    
Really great info!!. I understood and realized that is not that easy running own dns server. Having done some courses, performing locally feels promising but when it comes to real time it shows and everything flops(in my case). One or one day(of course after having good experience in sys adm) I'll definetly read and promote dns server. Thanks a lot! –  user3215 May 4 '11 at 9:51
    
As per my question your answer suits best but if I do that delegation it would be unforgettable memory in my life and it would be gift to them where I work in. –  user3215 May 4 '11 at 9:57
    
I (We) used to run our own dns servers long time ago. Now we let it to our registrars, it's usually included in the price and they are better at it than us. We still run a caching dns, but that is easy. –  Javier Rivera May 4 '11 at 11:53
    
A small hope!. I added some host records(mediawiki.mydomain.net and mail.mydomain.net) in the DNS cloud server and after adding nameserver DNS-ip-here in resolv.conf file at home I could access the domain names on the browser. Felt a bit happy. Would like to add anymore to this?please!. –  user3215 May 5 '11 at 16:11
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.