• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 470
  • Last Modified:

What causes an entry in primary DNS zone to not respond?

I have a CNAME record in my primary DNS zone that doesn't seem to resolve from anywhere, even though it was added at least 24 hours ago, and has a low TTL record.

I'm running bind-9.3.6-4.P1.el5_4.2 on CentOS 5.5

I simply get an "unknown host" message when trying to ping the FQDN/CNAME entry.

If I ping the corresponding server/host entry that holds the "A" record that the CNAME points to, it responds accordingly.

Not sure what I'm missing here.

  • 5
  • 5
1 Solution
The record might be pointing to an invalid/nonexistent entry

somename IN CNAME hostname.on-domain-that-does-not-exist.com.

looking up somename.yourdomain.com will result in an error since the lookup can not follow to resolve hostname.on-domain-that-does-not-exist.com

Double check the DNS entry for accuracy.

note if you forgot to add the terminating period as I have in the above example, the result of an entry such as:
somename IN CNAME hostname.on-domain-that-does-not-exist.com

will really be after all the appending processes:

somename.yourdomain.com. IN CNAME hostname.on-domain-that-does-not-exist.com.yourdomain.com

Which will result in a hostname that does not exist.

kapshureAuthor Commented:
the CNAME record points to a valid "A" entry; I can ping the A record, I can ssh to it, etc..  we are just looking to setup a FQDN that will be the entry for an application.

A record = hostA.mydomain.com
CNAME record = hostB.mydomain.com (pointing to hostA.mydomain.com)

and you're right the trailing "." is a common mistake, but its present on the CNAME entry

Do i not actually need the full domain name for the CNAME record? I see it done that way in the DNS zone as is, and other CNAME records work - but just curious.
Could you copy and paste what you have with the domain replaced with a masquerading mydomain.com  make sure to leave all other items in place.?

If you are creating an alias local to your domain you do not need to use the domain.

hostb IN CNAME hostA

will work as the domain will be appended as it is implicitly referenced.
Build your data science skills into a career

Are you ready to take your data science career to the next step, or break into data science? With Springboard’s Data Science Career Track, you’ll master data science topics, have personalized career guidance, weekly calls with a data science expert, and a job guarantee.

kapshureAuthor Commented:
hostB.                         900     IN      CNAME   hostA.mydomain.com.

Open in new window

above is what I have changed it to.. per your suggestion.

this is what I had before:

hostB.mydomain.com.                    900     IN      CNAME   hostA.mydomain.com.

Open in new window

also, i've only reloaded named.. do i need to actually restart it?
You do not want to terminate hostb as you have done since you need the domain.
hostb 900 IN CNAME  hosta

Note did you change/increment the serial number? and ran "rndc reload mydomain.com"?

To get the zone data refreshed.
Check /var/log/messages to see if there are any notices from named having issues with loading the zone?

kapshureAuthor Commented:
Ok, so I need to put the CNAME entry back the way I had it then it sounds like?

hostB.mydomain.com.   900 IN CNAME hostA.mydomain.com

Open in new window


is that right above?

also, when I try to run
"rndc reload mydomain.com"

Open in new window

I get this:

rndc: 'reload' failed: dynamic zone

Open in new window

The issue is that you have defined the zone mydomain.com as dynamic.
Not sure why you have done it this way.

run the following:
echo "update add hostb.mydomain.com. 900 IN CNAME hosta.mydomain.com.
" | nsupdate -v

this should add the record you need and will update the zone's serial etc.
This is an example of a dynamic update.
kapshureAuthor Commented:
unfortunately, I didnt set up this BIND server, and am not an expert on this (as you can tell haha).

if I run that echo command above, I have a few questions:

- do I need to be in the directory where the zone file is contained
- does the entry need not be present since it looks like this command will actually add it. in my case, the         entry is there. I just need it to take

I see quite a few invalid attempts to make zone file updates in /var/log/messages.. like attempts coming from clients not in our domain. I dont see anything regarding the attempt i've made to update the zone file w/ the CNAME entry above
You need to be on a system from which dynamic updates are permitted.
Being on the server where bind is running should be fine.
The entry is in the file, but the file can not be reloaded without restarting bind.
when you run this command, you should have two files in the /var/named location for the zone.  It all depends on what you used for the filename i.e. db.mydomain.com and you will have a db.mydomain.com.dsfds

It will not pose an issue for having the same entry since they do not present a conflict.

kapshureAuthor Commented:
turns out that just reloading named doesn't produce the results I was looking for. I coulda swore I had added a CNAME successfully before and only reloaded. We were collecting stats over the past week, so I just dumped those again, then restarted named. This time the CNAME entries started working pretty quickly.

Thanks again arnold for your help
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

A proven path to a career in data science

At Springboard, we know how to get you a job in data science. With Springboard’s Data Science Career Track, you’ll master data science  with a curriculum built by industry experts. You’ll work on real projects, and get 1-on-1 mentorship from a data scientist.

  • 5
  • 5
Tackle projects and never again get stuck behind a technical roadblock.
Join Now