Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've a zone example.tld configured with a wildcard CNAME (1&1), A records (custom & 1&1), MX records (1&1), and a subzone record (NS) pointing to

I've configured the subzone subzone.example.tld conatining a MX record pointing to a NAS. I've added a sub-zone record (not sure if necessary)

However, when I dig to it using dig subzone.example.tld in mx, I obtain MX records of example.tld.

How can I fix my configuration to have subzone MX records taken in account ?

I've tried dig subzone.example.tld in ns with negative results :

subzone.example.tld.    86400   IN  CNAME   example.tld.
example.tld.    86400   IN  NS
example.tld.    86400   IN  NS
example.tld.    86400   IN  NS

Zone configuration (example.tld):

$TTL 86400 ; TTL par défaut
example.tld.        IN  SOA  . (
                1234567891  ; numéro de série
                10800   ; Intervalle de rafraichissement
                3600    ; Intervalle de renouvellement de tentative
                604800  ; Délai d'expiration
                10800   ; TTL pour les réponses négatives

$ORIGIN example.tld.
            IN      NS
            IN      NS
            IN      NS
        10  IN      MX  0
        10  IN      MX  1
example.tld.            IN      A

*           IN      CNAME       example.tld.

subzone         IN      NS

Subzone (subzone.example.tld)

$TTL 86400 ; TTL par défaut
subzone.example.tld.        IN  SOA  . (
                1234567890  ; numéro de série
                10800   ; Intervalle de rafraichissement
                3600    ; Intervalle de renouvellement de tentative
                604800  ; Délai d'expiration
                10800   ; TTL pour les réponses négatives

$ORIGIN subzone.example.tld.
            IN      NS
            IN      NS
            IN      NS
            IN      MX  0   mx.subzone.example.tld.
mx          IN      A
share|improve this question
Does the NS record delegating the subdomain return when you query for that? – Shane Madden Dec 27 '11 at 23:30
I've tried dig in ns with negative results (see. the updated question for details). The zone and sub zone are managed by the same NS ( – ybart Dec 27 '11 at 23:35
If only there were a domain name specifically reserved by IANA for examples. Oh, wait. – Joel Coel Dec 28 '11 at 1:47
XNAme itself have long-time troubles with zone reload. It maybe source of your problem, check serial of parent – Lazy Badger Dec 28 '11 at 9:57
Checking the serial seemed to be the key. Serial returned by dig is not the one returned by xname when submitting the zone form. – ybart Dec 28 '11 at 16:24

I added your zones (in their current state, after Joel Coel's edit) into my bind 9.7.3. It does return MX record:

;subzone.example.tld.       IN  MX

subzone.example.tld.    86400   IN  MX  0

subzone.example.tld.    86400   IN  NS
subzone.example.tld.    86400   IN  NS
subzone.example.tld.    86400   IN  NS

It seems that there's just some mistake, maybe your new zone file doesn't appear on the server yet, or there's some typo not shown here or it's a bug in their bind version or something like that.

I'm not sure though why you need such delegated subzone (like BillThor suggested).

share|improve this answer
I was notified by xname of the reload of my zones. I don't need delegated subzone. I need to have a MX configured for a subzone. I am currently using services. However, after checking, the serial is not up to date. Your assumption that the zone is not reloaded seems true. – ybart Dec 28 '11 at 16:20
so add the required "subzone in MX" instead "subzone in NS" and you are done. CNAME doesn't affects hostnames that have records of any kinds. – Sandman4 Dec 28 '11 at 18:31
Not possible with the form provided by MX records always apply to the whole zone. I've switched to zoneedit, which reloads my records immediately, and allows setting the MX subzone like you advise. Anyway, I now believe that there is no configuration problem, the zones are not updated despite misleading the mail received from xname. – ybart Dec 28 '11 at 21:05

There are two ways to define your subdmain. They way you are specifying requires you to specify the NS servers for the subdomain in the parent domain.

The alternate method is to just define it within the parent domain.

subdomain     IN MX   10  mx.subdomain.example.tld
mx.subdomain  IN A

or self MX

subdomain     IN MX   10  subdomain.example.tld
              IN A      

or MX defined in parent domain

subdomain     IN MX   10  mx.example.tld
mx            IN A

The second method is commonly used when the subdomain refers to a host or service. The first method us normally reserved when delegating a subdomain to a different DNS administrator and/or different name servers.

share|improve this answer
Don't mix hosts insidedomain and subdomains! Technically they are different things! – Lazy Badger Dec 28 '11 at 10:00
I could define the mx for the parent domain but this will override current settings for the domain. I would like if possible to keep the current mx on the parent domain. And override mx only for subdomain. – ybart Dec 28 '11 at 16:07
The original specification above will set the MX for the subdomain only. I have added additional options as it appears this is a mail only subdomain. – BillThor Dec 28 '11 at 18:36
Thanks for the edit (Upvoted your comment since I already upvoted answer), this is helpful though it does not apply to xname since the form does not allow specifying subdomain for MX records. I'll use the first spec with zone edit though. – ybart Dec 28 '11 at 21:17
If it is a mail only domain you can skip the MX record and just use an A record. I used bind format so subdomain gets the address specified in the selfMX example. – BillThor Dec 29 '11 at 17:22

I dont see an MX record in the code that you provided, also MX records dont like CNAMES ... so what you need to is :

subzone.example.tld. 86400 IN MX 10 foo.tld.

share|improve this answer
The code I provided is a dig response not the zone configuration... – ybart Dec 28 '11 at 0:12
Moreover, the whole subzone seems skipped, not only MX. – ybart Dec 28 '11 at 0:20

Your Answer


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.