[Pdns-users] using wildcards with multiple backends

Jay Coulter jay at nextdimensioninc.com
Thu Jan 11 14:57:23 UTC 2007


Hi Bert, Thanks for the reply, I should have included more info to start
with...

	We are using version 2.9.20 running on red hat.  The backends
were compiled with version 3.2.3 gcc.  We are not using the recursor.
The custom backend basically replies to any DNS request with a specific
IP that we have set up in the PDNS.CONF file as a parameter.  

	There are some requests for certain domains that we would like
to return other data and this can change from one day to the next so
this is why we decided to implement the GMYSQL backend in front of our
custom backend.  We can store the info in the database and when PDNS
does not find any matches we would expect it to fall back to the custom
backend.

I have read how PDNS handles the wildcard and it seems to work properly
when just the GMYSQL backend is being used.  Once I enable both
backends, the wildcard functionality no longer works the same.  See
below examples.

Domain table entries
+----+----------+--------+------------+--------+-----------------+------
---+
| id | name     | master | last_check | type   | notified_serial |
account |
+----+----------+--------+------------+--------+-----------------+------
---+
|  1 | test.com | NULL   |       NULL | NATIVE |            NULL | NULL
|
+----+----------+--------+------------+--------+-----------------+------
---+

Record table entries
+----+-----------+--------------------+------+-------------------------+
-------+------+-------------+
| id | domain_id | name               | type | content                 |
ttl   | prio | change_date |
+----+-----------+--------------------+------+-------------------------+
-------+------+-------------+
|  1 |         1 | test.com           | SOA  | localhost ahu at ds9a.nl 1 |
86400 | NULL |        NULL |
|  2 |         1 | test.com           | NS   | dns-us1.powerdns.net    |
86400 | NULL |        NULL |
|  3 |         1 | test.com           | NS   | dns-eu1.powerdns.net    |
86400 | NULL |        NULL |
|  4 |         1 | www.test.com       | A    | 199.198.197.196         |
120 | NULL |        NULL |
|  5 |         1 | mail.test.com      | A    | 195.194.193.192         |
120 | NULL |        NULL |
|  6 |         1 | localhost.test.com | A    | 127.0.0.1               |
120 | NULL |        NULL |
|  7 |         1 | test.com           | MX   | mail.test.com           |
120 |   25 |        NULL |
|  8 |         1 | www.test.com       | SOA  | 255.255.255.255         |
86400 | NULL |        NULL |
+----+-----------+--------------------+------+-------------------------+
-------+------+-------------+

Example 1 - with both backends enabled and a query for doc.test.com the
answer returned is the default IP set up in the custom backend which is
supposed to be called second.

C:\dig>dig doc.test.com

; <<>> DiG 9.3.2 <<>> doc.test.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 162
;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;doc.test.com.                  IN      A

;; ANSWER SECTION:
doc.test.com.           3600    IN      A       68.218.251.49

;; Query time: 15 msec
;; SERVER: 
;; WHEN: Thu Jan 11 09:46:52 2007
;; MSG SIZE  rcvd: 46

Example 2 - only with the GMYSQL backend and a query for doc.test.com
the server accepts the wildcard query and handles correctly.

C:\dig>dig doc.test.com

; <<>> DiG 9.3.2 <<>> doc.test.com
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 904
;; flags: qr aa rd; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;doc.test.com.                  IN      A

;; AUTHORITY SECTION:
test.com.               86400   IN      SOA     localhost. ahu.ds9a.nl.
1 10800
3600 604800 3600

;; Query time: 46 msec
;; SERVER:
;; WHEN: Thu Jan 11 09:48:21 2007
;; MSG SIZE  rcvd: 86


Any direction you can provide me would be greatly appreciated!

Thanks,
Jay Coulter

-----Original Message-----
From: bert hubert [mailto:bert.hubert at netherlabs.nl] 
Sent: Wednesday, January 10, 2007 4:23 PM
To: Jay Coulter
Cc: pdns-users at mailman.powerdns.com
Subject: Re: [Pdns-users] using wildcards with multiple backends

On Wed, Jan 10, 2007 at 04:21:31PM -0500, Jay Coulter wrote:
> We've developed a custom backend for PDNS at a clients request that is
> authoritative for any DNS request passed to it.  They would like to
use
> real functionality of the DNS server with the GMysql backend in front
of

Jay,

Could you go into some more detail?

PowerDNS translates queries that don't match directly into a sequence of
*.something quiries.

But please elaborate a bit.

Thanks.

-- 
http://www.PowerDNS.com      Open source, database driven DNS Software 
http://netherlabs.nl              Open and Closed source services


More information about the Pdns-users mailing list