In Bind 9.8.1 Ubuntu server 12.04, I configured ENUM (Electronic Number Mapping).

1) Create named.conf.enum file in /etc/bind named.conf.enum content:

zone "adras.af" { type master; file "/etc/bind/db.adras.af"; };

2) Include the named.conf.enum in named.conf file

include "/etc/bind/named.conf.enum";

3) Make the db.adras.af file:

$TTL 86400

e164.arpa. IN SOA servera.adras.af root.adrasnew.af. (

2004011522 ; Serial

21600 ; Refresh

3600 ; Retry

604800 ; Expire

3600 ; Minimum TTL

adras.af. IN NS servera.adras.af.


servera.adras.af. IN A IN NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:[email protected]!". NAPTR 10 101 "u" "E2U+h323" "!^.*$!h323:[email protected]!". NAPTR 10 102 "u" "E2U+msg" "!^.*$!mailto:[email protected]!". NAPTR 100 10 "U" "SIP+E2U" "!^.*$!sip:[email protected]!".

I configured the ENUM in Bind 9 like above, Bind 9 was successfully restarted, when we test our configuration:

dig @ -t NAPTR

The server displays this message:

dig: couldn't get address for '@':not found

2 Answers 2


you are querying the record you want to look up, you need to query the dns server.

dig @xxx.xxx.xxx.xxx NAPTR


Old question but let make a review...

I am missing log file content related to the zone file during the bind (re-)load but I would expect something like "ignoring out-of-zone data"... This zone would be ignored.

The reason is that once the zone is defined for adras.af it can contain the defined zone or its subzone. Exception could be Glue records but it is not the case in this question.

zone "adras.af" { type master; file "/etc/bind/db.adras.af"; };

Allowed data contained in the zone would be for example:

$ORIGIN adras.af.
@  A IN
www CNAME adras.af.

so the result is adras.af and www.adras.af. NAPTR 10 100 "u" "E2U+sip" "!^.*$!sip:[email protected]!".

is subdomain of e164.arpa. and not adras.af. These lines would be just ignored during loading the zone (if the zone would be even loaded) so you will not be success on it.

to be able to handle these records you need overwrite e164.arpa. or subdomain (make sense only for local resolution as globally it will not be available / for global usage you need pay for proper service - public subdomain for e164.arpa.).

For local overwrite you can use for example following definition (one of):

  • zone "e164.arpa" { type master; file "/etc/bind/db.e164.arpa"; };

This is the most probably not what you want as you would overwrite /hide all other e164 records for local resolving.

  • zone "" { type master; file "/etc/bind/db.e164.arpa"; };

Here would be just one record. I would start with this... For the next number I would do similar overwrite.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .