Blob


1 .\" Copyright (c) 2014 Peter J. Philipp
2 .\" All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\" notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\" notice, this list of conditions and the following disclaimer in the
11 .\" documentation and/or other materials provided with the distribution.
12 .\" 3. The name of the author may not be used to endorse or promote products
13 .\" derived from this software without specific prior written permission
14 .\"
15 .\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17 .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18 .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20 .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25 .\"
26 .Dd September 27, 2014
27 .Dt WILDCARDDNS.CONF 5
28 .Os
29 .Sh NAME
30 .Nm wildcarddns.conf
31 .Nd the Wildcard DNS daemon configuration file
32 .Sh DESCRIPTION
33 The
34 .Xr wildcarddnsd 8
35 has a default configfile it is called
36 .Nm
37 and it is found in /etc. You may wonder why there is a missing d, so I ask
38 you to look up
39 .Xr syslogd 8
40 and
41 .Xr syslog.conf 5
42 which also drop the d in the config file. This follows that name convention.
43 .Sh EXAMPLES
44 Here is a sample
45 .Nm
46 file:
47 .Bd -literal
48 ; sample config file that is in production.
49 ;
50 version "6";
51 options "cool stuff" {
52 interface "lo0";
53 interface "em0";
55 ;bind 127.0.0.1;
56 ;bind 192.168.34.4;
58 ratelimit-pps 6;
60 port 53;
62 ;fork 2;
63 log;
64 }
66 axfrport "10053";
68 axfr-for "these hosts" {
69 127.0.0.1;
70 ::1;
71 192.168.0.0/16;
72 }
74 notify "these hosts" {
75 192.168.34.1;
76 192.168.35.1;
77 ::1;
78 }
81 zone "centroid.eu" {
82 centroid.eu,soa,3600,uranus.centroid.eu.,pjp.solarscale.de.,2014051701,3600,1800,7200,3600
83 centroid.eu,ns,3600,proteus.solarscale.de.
84 centroid.eu,ns,3600,uranus.centroid.eu.
85 centroid.eu,ns,3600,dione.solarscale.de.
86 ;
87 centroid.eu,a,3600,200.46.208.61
88 centroid.eu,a,3600,62.75.160.180
89 ;
90 centroid.eu,SSHFP,3600,1,1,"9b3624f96a6766e73dc88505f945a564dee82e59"
91 centroid.eu,SSHFP,3600,1,2,"03310030886404f8f61d2e4dc445412788284ab04d0858bfa375eb80fc0d34f6"
92 centroid.eu,SSHFP,3600,2,1,"3de1bbae4de5ebd3571a169a50d6a5a4145dd7a9"
93 centroid.eu,SSHFP,3600,2,2,"bbd96ff7e7f629377d655d7fa9662502837b66cf9a2d24590df77acef66fe405"
94 centroid.eu,SSHFP,3600,3,1,"0ca455de4800c0f6c681e805e7bd86e511efb1fc"
95 centroid.eu,SSHFP,3600,3,2,"b330fd2288cf9e13c9ef68b1b0c0b20a10c16cc55f03cd3869cf1a49f06bed43"
96 ;
97 centroid.eu,mx,3600,10,proteus.solarscale.de.
98 centroid.eu,aaaa,3600,2001:a60:f074::8
99 ;
100 centroid.eu,spf,3600,"v=spf1 ip4:200.46.208.61 ~all"
103 ; NAPTR trial
104 centroid.eu,naptr,3600,10,10,"u","E2U+sip","!^.*$!sip:1234@sip.example.com!",centroid.eu
105 centroid.eu,naptr,3600,10,20,"u","E2U+sip","!^.*$!sip:1234@sip.example.com!",.
108 www.centroid.eu,a,3600,62.75.160.180
109 www.centroid.eu,a,3600,200.46.208.61
111 www.centroid.eu,aaaa,3600,2001:a60:f074::8
112 uranus.centroid.eu,a,3600,212.114.251.91
113 uranus.centroid.eu,aaaa,3600,2001:a60:f000:99::2
114 proteus.centroid.eu,a,3600,62.75.160.180
115 dione.centroid.eu,a,3600,200.46.208.61
116 rosalind.centroid.eu,aaaa,3600,2001:a60:f074::8
117 irc.centroid.eu,a,3600,212.114.251.91
118 irc.centroid.eu,aaaa,3600,2001:a60:f074::24
119 irc2.centroid.eu,a,3600,200.46.208.61
120 localhost.centroid.eu,a,3600,127.0.0.1
121 localhost.centroid.eu,aaaa,3600,::1
122 ; the below are new delegations (NS) records
123 ;delegation.centroid.eu,delegate,3600,ns1.server.com.
124 ; glue record
125 ;ns1.server.com.,a,3600,10.0.0.1
126 ;delegation.centroid.eu,delegate,3600,ns2.server.com.
127 ; glue record
128 ;ns2.server.com.,a,3600,10.0.0.2
130 zone "ipv6.centroid.eu" {
131 ipv6.centroid.eu,soa,3600,uranus.centroid.eu.,pjp.solarscale.de.,1244725285,3600,1800,7200,3600
132 ipv6.centroid.eu,aaaa,3600,2001:a60:f074::8
133 www.ipv6.centroid.eu,aaaa,3600,2001:a60:f074::8
135 zone "ipv6.solarscale.de" {
136 ipv6.solarscale.de,soa,3600,proteus.solarscale.de.,pjp.solarscale.de.,1234896563,3600,1800,7200,3600
137 ipv6.solarscale.de,ns,3600,proteus.solarscale.de.
138 ipv6.solarscale.de,ns,3600,uranus.centroid.eu.
139 ipv6.solarscale.de,aaaa,3600,2001:a60:f074::8
140 www.ipv6.solarscale.de,aaaa,3600,2001:a60:f074::8
142 zone "reverse dns" {
143 0.4.7.0.f.0.6.a.0.1.0.0.2.ip6.arpa.,soa,3600,proteus.solarscale.de.,pjp.solarscale.de.,1234896562,3600,1800,7200,3600
144 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4.7.0.f.0.6.a.0.1.0.0.2.ip6.arpa.,ptr,3600,uranus.centroid.eu.
145 2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.4.7.0.f.0.6.a.0.1.0.0.2.ip6.arpa.,ptr,3600,setebos.centroid.eu.
148 zone "root hints" {
149 .,hint,3600000,A.ROOT-SERVERS.NET.
150 A.ROOT-SERVERS.NET.,a,3600000,198.41.0.4
151 A.ROOT-SERVERS.NET.,aaaa,3600000,2001:503:BA3E::2:30
152 .,hint,3600000,B.ROOT-SERVERS.NET.
153 B.ROOT-SERVERS.NET.,a,3600000,192.228.79.201
154 .,hint,3600000,C.ROOT-SERVERS.NET.
155 C.ROOT-SERVERS.NET.,a,3600000,192.33.4.12
156 .,hint,3600000,D.ROOT-SERVERS.NET.
157 D.ROOT-SERVERS.NET.,a,3600000,199.7.91.13
158 D.ROOT-SERVERS.NET.,aaaa,3600000,2001:500:2D::D
159 .,hint,3600000,E.ROOT-SERVERS.NET.
160 E.ROOT-SERVERS.NET.,a,3600000,192.203.230.10
161 .,hint,3600000,F.ROOT-SERVERS.NET.
162 F.ROOT-SERVERS.NET.,a,3600000,192.5.5.241
163 F.ROOT-SERVERS.NET.,aaaa,3600000,2001:500:2f::f
164 .,hint,3600000,G.ROOT-SERVERS.NET.
165 G.ROOT-SERVERS.NET.,a,3600000,192.112.36.4
166 .,hint,3600000,H.ROOT-SERVERS.NET.
167 H.ROOT-SERVERS.NET.,a,3600000,128.63.2.53
168 H.ROOT-SERVERS.NET.,aaaa,3600000,2001:500:1::803f:235
169 .,hint,3600000,I.ROOT-SERVERS.NET.
170 I.ROOT-SERVERS.NET.,a,3600000,192.36.148.17
171 .,hint,3600000,J.ROOT-SERVERS.NET.
172 J.ROOT-SERVERS.NET.,a,3600000,192.58.128.30
173 J.ROOT-SERVERS.NET.,aaaa,3600000,2001:503:C27::2:30
174 .,hint,3600000,K.ROOT-SERVERS.NET.
175 K.ROOT-SERVERS.NET.,a,3600000,193.0.14.129
176 K.ROOT-SERVERS.NET.,aaaa,3600000,2001:7fd::1
177 .,hint,3600000,L.ROOT-SERVERS.NET.
178 L.ROOT-SERVERS.NET.,a,3600000,199.7.83.42
179 L.ROOT-SERVERS.NET.,aaaa,3600000,2001:500:3::42
180 .,hint,3600000,M.ROOT-SERVERS.NET.
181 M.ROOT-SERVERS.NET.,a,3600000,202.12.27.33
182 M.ROOT-SERVERS.NET.,aaaa,3600000,2001:dc3::35
185 .Ed
186 .Sh GRAMMAR
187 Syntax for
188 .Nm
189 in BNF:
190 .Bd -literal
191 line = ( version | axfrport | include | zone | region |
192 wof | axfr | notify | whitelist | filter | recurse | logging
193 | comment | options )
195 version = "version" ("number") semicolon
197 axfrport = "axfrport" ("port number") semicolon
199 include = "include" ("filename") semicolon
201 zone = "zone" ("string") [ "{" zonedata "}" ]
202 zonedata = { [hostname] [ "," dnstype] [ "," ttl ] ["," variablednsdata] }
203 hostname = string
204 dnstype = ( "a" | "aaaa" | "ptr" | "mx" | "soa" | "ns" | "sshfp" | "spf" |
205 "naptr" | "txt" | "delegate" | "hint" )
206 ttl = number
208 region = "region" ("string") [ "{" cidrlist "}"
210 cidrlist = { [ cidr-address ] semicolon ... }
212 wof = "wildcard-only-for" ("string") [ "{" cidrlist "}" ]
214 axfr = "axfr-for" ("string") [ "{" cidrlist "}" ]
216 notify = "notify" ("string") [ "{" cidrlist "}" ]
218 whitelist = "whitelist" ("string") [ "{" cidrlist "}" ]
220 filter = "filter" ("string") [ "{" cidrlist "}" ]
222 recurse = "recurse-for" ("string") [ "{" cidrlist "}" ]
224 logging = "logging" ("string") [ "{" logstatements "}" ]
225 logstatements = ( "logbind" | "logpasswd" | "logport" | "loghost" )
226 logbind = "logbind" ("string") semicolon
227 logpasswd = "logpasswd" ("string") semicolon
228 logport = "logport" number semicolon
229 loghost = "loghost" cidr-address semicolon
231 comment = ( semicolon | pound ) line
233 options = "options" ("string") [ "{" optionlist "}" ]
234 optionlist = ( optrecurse | optinterface | optfork | optport |
235 optratelimit | optbind )
236 optrecurse = "recurse" semicolon
237 optinterface = "interface" ("string") semicolon
238 optfork = "fork" number semicolon
239 optratelimit = "ratelimit-pps" number semicolon
240 optbind = "bind" cidr-address semicolon
241 .Ed
242 .Sh FILES
243 .Pa /etc/wildcarddns.conf
244 .Sh SEE ALSO
245 .Xr wildcarddnsd 8
246 .Sh AUTHORS
247 This software and manual was written by
248 .An Peter J. Philipp Aq pjp@centroid.eu