DELPHINUSDNS.CONF(5) File Formats Manual DELPHINUSDNS.CONF(5)

delphinusdns.conf
the delphinus DNS daemon configuration file

The delphinusdnsd(8) has a default configfile it is called delphinusdns.conf and it is found in /etc. You may wonder why there is a missing d, so I ask you to look up syslogd(8) and syslog.conf(5) which also drop the d in the config file. This follows that name convention.

Here is a sample delphinusdns.conf file:
version "9";
options "cool stuff" {
	interface "lo0";
	interface "em0";

	;bind 127.0.0.1;
	;bind 192.168.34.4;

	ratelimit-pps 6;

	port 53;

	;fork 2;
	log;
	;dnssec;
}

axfrport "10053";

axfr-for "these hosts" {
	127.0.0.1;
	::1;
	192.168.0.0/16;
}

mzone "centroid.eu" {
	zonename "centroid.eu";
	notifydest 192.168.34.1 NOKEY;
	notifydest ::1 port 8053 NOKEY;
}

zone "centroid.eu" {
	centroid.eu,soa,3600,uranus.centroid.eu.,pjp.solarscale.de.,2014051701,3600,1800,7200,3600
	centroid.eu,ns,3600,proteus.solarscale.de.
	centroid.eu,ns,3600,uranus.centroid.eu.
	centroid.eu,ns,3600,dione.solarscale.de.
	;
	centroid.eu,a,3600,200.46.208.61
	centroid.eu,a,3600,62.75.160.180
	;
	centroid.eu,SSHFP,3600,1,1,"9b3624f96a6766e73dc88505f945a564dee82e59"
	centroid.eu,SSHFP,3600,1,2,"03310030886404f8f61d2e4dc445412788284ab04d0858bfa375eb80fc0d34f6"
	centroid.eu,SSHFP,3600,2,1,"3de1bbae4de5ebd3571a169a50d6a5a4145dd7a9"
	centroid.eu,SSHFP,3600,2,2,"bbd96ff7e7f629377d655d7fa9662502837b66cf9a2d24590df77acef66fe405"
	centroid.eu,SSHFP,3600,3,1,"0ca455de4800c0f6c681e805e7bd86e511efb1fc"
	centroid.eu,SSHFP,3600,3,2,"b330fd2288cf9e13c9ef68b1b0c0b20a10c16cc55f03cd3869cf1a49f06bed43"
	;
	centroid.eu,mx,3600,10,proteus.solarscale.de.
	centroid.eu,aaaa,3600,2001:a60:f074::8
	;
	;
	; NAPTR trial
	centroid.eu,naptr,3600,10,10,"u","E2U+sip","!^.*$!sip:1234@sip.example.com!",centroid.eu
	centroid.eu,naptr,3600,10,20,"u","E2U+sip","!^.*$!sip:1234@sip.example.com!",.

	;
	www.centroid.eu,a,3600,62.75.160.180
	www.centroid.eu,a,3600,200.46.208.61
	;
	www.centroid.eu,aaaa,3600,2001:a60:f074::8
	uranus.centroid.eu,a,3600,212.114.251.91
	uranus.centroid.eu,aaaa,3600,2001:a60:f000:99::2
	proteus.centroid.eu,a,3600,62.75.160.180
	dione.centroid.eu,a,3600,200.46.208.61
	rosalind.centroid.eu,aaaa,3600,2001:a60:f074::8
	irc.centroid.eu,a,3600,212.114.251.91
	irc.centroid.eu,aaaa,3600,2001:a60:f074::24
	irc2.centroid.eu,a,3600,200.46.208.61
	localhost.centroid.eu,a,3600,127.0.0.1
	localhost.centroid.eu,aaaa,3600,::1
	; the below are new delegations (NS) records
	;delegation.centroid.eu,delegate,3600,ns1.server.com.
	; glue record
	;ns1.server.com.,a,3600,10.0.0.1
	;delegation.centroid.eu,delegate,3600,ns2.server.com.
	; glue record
	;ns2.server.com.,a,3600,10.0.0.2
}
Here is a sample delphinusdns.conf file suited for DNSSEC:
version "9";
options "some options" {
        ratelimit-pps 12;
        bind 127.0.0.1;
        bind ::1;
        bind 10.110.99.87;
        port 32253;
        log;
        dnssec;
        versionstring "delphinusdnsd 1.4.0";
}
axfr-for "these hosts" {
        ::1/128;
        127.0.0.1/32;
        10.110.99.88/32;
}

axfrport "10053";

mzone "centroid.eu" {
	zonename "centroid.eu";
	notifydest 10.1110.99.88 NOKEY;
	notifydest ::1 port 8053 NOKEY;
}


zinclude "/etc/delphinusdns/centroid.eu.signed";
zinclude "/etc/delphinusdns/virgostar.net.signed";

Then the included files are output of dddctl(8)

Syntax for delphinusdns.conf in BNF:
line = ( version | axfrport | include | zinclude | zone | region |
	axfr | mzone | whitelist | filter | recurse | logging
        | comment | options )

version = "version" ("number") ;

axfrport = "axfrport" ("port number") ;

include = "include" ("filename") ;

zinclude = "zinclude" ("filename") ;

zone = "zone" ("string") [ "{" zonedata "}" ]
zonedata = { [hostname] [ "," dnstype] [ "," ttl ] ["," variablednsdata] }
hostname = string
dnstype = ( 	"a" | "aaaa" | "cname" | "dnskey" | "ds" | "mx" | "naptr" |
		"ns" | "nsec" | "nsec3" | "nsec3param" | "ptr" | "rrsig" |
		"soa" | "srv" | "sshfp" | "tlsa" | "txt" |
		"delegate" | "hint" )

ttl = number

region = "region" ("string") [ "{" cidrlist "}"


cidrlist = { [ cidr-address ] ; ... }

axfr = "axfr-for" ("string") [ "{" cidrlist "}" ]

mzonelist = ( optzonename | optnotifydest | optnotifybind )
optzonename = "zonename" ("string") ;
optnotifydest = "notifydest" cidr-address ["port number"] "tsigkey" ;
optnotifybind = "notifybind" cidr-address ;

mzone = "mzone" ("string") [ "{" mzonelist "}" ]

whitelist = "whitelist" ("string") [ "{" cidrlist "}" ]

filter = "filter" ("string") [ "{" cidrlist "}" ]

recurse = "recurse-for" ("string") [ "{" cidrlist "}" ]

logging = "logging" ("string") [ "{" logstatements "}" ]
logstatements = ( "logbind" | "logpasswd" | "logport" | "loghost" )
logbind = "logbind" ("string") ;
logpasswd = "logpasswd" ("string") ;
logport = "logport" number ;
loghost = "loghost" cidr-address ;

comment = ( ; | pound ) line

options = "options" ("string") [ "{" optionlist "}" ]
optionlist = ( optrecurse | optinterface | optfork | optport |
		optratelimit | optbind | optdnssec )
optrecurse = "recurse" ;
optinterface = "interface" ("string") ;
optfork = "fork" number ;
optratelimit = "ratelimit-pps" number ;
optbind = "bind" cidr-address ;
optdnssec = "dnssec" ;

/etc/delphinusdns.conf

dddctl(8), delphinusdnsd(8)

This software and manual was written by Peter J. Philipp ⟨petphi@delphinusdns.org⟩

July 11, 2018 OpenBSD 6.5