Per-chapter and per-server resources for "Alternative DNS Servers"
The [Dxxx] references below (e.g. [D051]) are the reference numbers given to specific downloads, as explained in the Preface on page xxxv of the book.
Shell and SQL scripts are shown with extension .sh and .sql but for security reasons their URLs refer to .sh.txt and .sql.txt so that's how they will download. You should rename them after downloading.
Resources specific to individual servers
These items are listed in alphabetical order.
bind
- bind95-statistics.pl: Extract counters from Bind's XML.
djbdns
- isp2tiny.out: Generate tinydns data from MySQL.
- isp2tiny.pl: Sample output.
dlz
- bind-dlz-patch-dollar2.patch: Replace % by $.
- bind-dlz-patch-ldap-url.patch: Replace % by $.
dlz/autoptr
- f-inarpa4.sql: MySQL function returns in-addr.arpa from IPv4.
- f-ip4octet.sql: MySQL function return the fourth octet of a dotted-quad.
- f-revip4.sql: MySQL function return a reversed dotted-quad .
- ins.pl: Sample insert in Perl.
- schema.sql: MySQL database schema.
- trigger.sql: MySQL trigger: automatic insert of `PTR' when an `A' is inserted.
dlz/bdbhpt
- [D095] mydns2bdbhpt.pl: Create BDBHPT from MySQL.
dlz/ldap
- [D093]minimal.schema
- [D094]dlz.schema
dlz/mysql
- [D091]minimal.sql
- [D092]schema.sql
dnssec
- [D221] sign-zone.pdf: How to sign a DNSSEC zone.
ldap
- [D251] silverinst.sh: Configure Symas' OpenLDAP server.
ldapdns
- ldapdns-perf.html: Comments on ldapdns' performance.
- [D121]ldapdns-2.06.patch
lua/getconfig
- conf.c: Sample Lua program.
- getconfig.c: Sample Lua program.
- my.conf: Configuration file.
- our.conf: Configuration file.
lua/recursor
- qupps.lua.nxdomain: Catch non-existent domain.
- qupps.lua.preresolve: Return CNAME for certain queries.
mara
- safefetch: Fetch zone safely.
misc/countries
[D311] misc/rfc1464
- pmsservice.pl: Return URL from TXT RR.
mydns
- [D051]tables-mysql.sql: MySQL schema for MyDNS.
nsd
- Makefile: Makefile for fixserial.pl.
- fixserial.pl: Read SOA from zone file and set new serial number.
nss
- getaddr.c: Resolve hostname.
- gethost.pl: Resolve hostname.
pdns
- enumzonesldap.pl: Print a list of all dNSDomain2 zones in LDAP to include in BIND.
- enumzonessql.pl: Generate zones to include in named.conf or nsd.conf.
- [D064] pdns-tables.sh: MySQL schema for PowerDNS.
- zones2ldap.sh: Convert zone files to LDAP.
pdns/ldap
- [D063] dnsdomain2-addon.schema: OpenLDAP Schema file for PowerDNS LDAP backend.
- [D062] dnsdomain2.schema: A schema for storing DNS zones in LDAP.
pdns/newzone
- Makefile: Recipe.
- Makefile.dns: Recipe for trigger.
- README: What to do.
- ins.pl: Perl program to insert record.
- newzone.c: MySQL UDF.
- newzone.sql: MySQL trigger.
pdns/opendbx
- [D061]tables-mysql.sql: MySQL database schema.
pdns/perl
- newdomain.pl: Example for PowerDNS::Backend::MySQL.
pdns/pipe
- loadb.pl: Example of PowerDNS pipe backend in Perl.
[D291] pdns/trigger
- Makefile: Recipe.
- cnametrigger-raiseerror.sql: RAISE ERROR trigger.
- cnametrigger.sql: CNAME trigger.
- udf_raise.c: RAISE ERROR UDF.
performance/bind
- named.conf: Bind configuration.
- zones.include: sample include.
performance/dlz
- named-dlz-bdbhpt.conf: Bind configuration.
- named-dlz-ldap-demo.conf: Bind configuration.
- named-dlz-mysql.conf: Bind configuration.
- slapd.conf.dlz: slapd configuration.
performance/maradns
- mararc: MaraDNS rc file.
performance/mydns
- mydns.conf: MyDNS configuration file.
performance/nsd
- nsd.conf: NSD configuration file.
- nsd.conf.include: Zones included.
performance/pdns
- run.pdns.mysql.perf.cache: Start script for PowerDNS.
- slapd.conf.pdns: slapd.conf.
performance/sdb-ldap
- named-sdb-ldap.conf: Bind configuration.
- sdb-ldap.include: slapd configuration.
- slapd.conf.sdb: slapd include file.
perldns
- clidnsd.pl: Example Stanford::DNSserver.
- dnssrv.pl: Query SRV with Net::DNS.
- look.pl: Net::DNS example.
- nameserver.pl: Sample Net::DNS::Nameserver server.
- netdnss.pl: Sample Net::DNS.
sdb/axfr
- [D083] sdbldap2bind.pl: Create an include file for BIND's `named.conf'.
[D084] sdb/jpload
- jpload.c: Example SDB driver.
- jpload.h: Example SDB driver (include).
- named.conf: Bind configuration.
sdb/ldap
- [D082] dNSZoneAXFR.schema: LDAP schema file.
- [D081] dnszone.schema: LDAP schema file.
unbound
- Makefile: Recipe.
- unboundq.c: libUnbound sample.
[D190] updates/pmc-pms
- Makefile: Recipe.
- [D191] pmc.c: PMC client.
- pmc.c.shorter.c: PMC client (shorter version).
- [D192] pms.php: PMS server (PHP).
updates/rfc2136
- nsupdate-tsig.pl: DNS updates with TSIG.
- nsupdate.pl: DNS updates in Perl.
wdns
- wdns-perf.html: Notes on Windows DNS server performance.
Resources by reference
The following resources are explicitly mentioned in the text of the book:
- [D051]tables-mysql.sql: MySQL schema for MyDNS.
- [D061]tables-mysql.sql: MySQL database schema.
- [D062] dnsdomain2.schema: A schema for storing DNS zones in LDAP.
- [D063] dnsdomain2-addon.schema: OpenLDAP Schema file for PowerDNS LDAP backend.
- [D064] pdns-tables.sh: MySQL schema for PowerDNS.
- [D081] dnszone.schema: LDAP schema file.
- [D082] dNSZoneAXFR.schema: LDAP schema file.
- [D083] sdbldap2bind.pl: Create an include file for BIND's `named.conf'.
- [D084] sdb/jpload: see multiple items in this resource's entry above.
- [D091]minimal.sql
- [D092]schema.sql
- [D093]minimal.schema
- [D094]dlz.schema
- [D095] mydns2bdbhpt.pl: Create BDBHPT from MySQL.
- [D121]ldapdns-2.06.patch
- [D190] updates/pmc-pms: see multiple items in this resource's entry above.
- [D191] pmc.c: PMC client.
- [D192] pms.php: PMS server (PHP).
- [D221] sign-zone.pdf: How to sign a DNSSEC zone.
- [D251] silverinst.sh: Configure Symas' OpenLDAP server.
- [D291] pdns/trigger: see multiple items in this resource's entry above.
- [D311] misc/rfc1464: see multiple items in this resource's entry above.