Hi all,

I know very little about how to do this. I'm trying to make up an enum server with powerdns on debian. I installed the powerdns authoritative server 3.1 with mysql backend. In the mysql database I have the following tables:


mysql> show tables;
+--------------------+
| Tables_in_pdns |
+--------------------+
| audit |
| domains |
| perm_items |
| perm_templ |
| perm_templ_items |
| records |
| setting |
| supermasters |
| template |
| template_record |
| users |
| zone_templ |
| zone_templ_records |
| zones |
+--------------------+


And I only have one domain:

mysql> select * from domains;
+----+---------------+--------+------------+--------+-----------------+---------+
| id | name | master | last_check | type | notified_serial | account |
+----+---------------+--------+------------+--------+-----------------+---------+
| 1 | e164.arpa | NULL | NULL | NATIVE | NULL | NULL |


And only one record for testing purposes:

mysql> select * from records;
+----+-----------+-----------------------------------+-------+------------------------------------------------------------------+------+------+-------------+
| id | domain_id | name | type | content | ttl | prio | change_date |
+----+-----------+-----------------------------------+-------+------------------------------------------------------------------+------+------+-------------+
| 1 | 1 | 2.0.0.0.3.1.6.6.5.6.2.5.e164.arpa | NAPTR | 100 10 "u" "E2U+sip" "!^.*$!sip:9999996566130002@X.X.X.X!" . | 120 | 0 | NULL |
+----+-----------+-----------------------------------+-------+------------------------------------------------------------------+------+------+-------------+

When I use dig to request that entry I get:

root@pdns1:/etc/powerdns# dig @127.0.0.1 2.0.0.0.3.1.6.6.5.6.2.5.e164.arpa NAPTR

; <<>> DiG 9.7.3 <<>> @127.0.0.1 2.0.0.0.3.1.6.6.5.6.2.5.e164.arpa NAPTR
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21158
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;2.0.0.0.3.1.6.6.5.6.2.5.e164.arpa. IN NAPTR

;; ANSWER SECTION:
2.0.0.0.3.1.6.6.5.6.2.5.e164.arpa. 120 IN NAPTR 100 10 "u" "E2U+sip" "!^.*$!sip:1881176566130002@X.X.X.X!" .

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu May 17 13:04:26 2012
;; MSG SIZE rcvd: 118

That's ok, but when I send a request for an entry that doesn't exist in the database, I get a SERVFAIL error:

root@pdns1:/etc/powerdns# dig @127.0.0.1 2.0.0.0.3.1.6.6.5.6.2.6.e164.arpa NAPTR

; <<>> DiG 9.7.3 <<>> @127.0.0.1 2.0.0.0.3.1.6.6.5.6.2.6.e164.arpa NAPTR
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 48820
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;2.0.0.0.3.1.6.6.5.6.2.6.e164.arpa. IN NAPTR

;; Query time: 2 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu May 17 13:09:09 2012
;; MSG SIZE rcvd: 51

But I'm expecting to receive an NXDOMAIN status because I don't have recursion configured and I'm the Authoritative Server for that domain. Anyone knows why is this happening ??

My pdns.conf is:

allow-recursion-override=on
cache-ttl=50
config-dir=/etc/powerdns
daemon=yes
disable-axfr=yes
guardian=yes
launch=gmysql
gmysql-host=127.0.0.1
gmysql-user=root
gmysql-password=itfp534U
gmysql-dbname=pdns
local-address=x.x.x.x
local-port=53
master=yes
module-dir=/usr/lib/powerdns
negquery-cache-ttl=60
recursor=no
setgid=pdns
setuid=pdns
soa-minimum-ttl=3600
soa-refresh-default=10800
soa-retry-default=3600
soa-serial-offset=0
socket-dir=/var/run

Thanks.