chiark / gitweb /
odin.lisp: Retreat to glueless delegation due to loss of glue records.
[zones] / distorted.lisp
1 ;;; Zone file for distorted.org.uk
2
3 (load "hosts.lisp" :verbose nil)
4
5 ;;;--------------------------------------------------------------------------
6 ;;; Anycast services.
7
8 (defvar *anycast-routable-families* (list :ipv6))
9
10 (defzoneparse :anycast (name data rec :prefix prefix :zname zname)
11   (destructuring-bind (any-provider default-provider &rest other-providers)
12       data
13
14     ;; First, the default address.  If the anycast network is preferred then
15     ;; this is easy; otherwise we have something complicated to do because
16     ;; IPv6 anycast addresses are globally routable, while IPv4 ones aren't.
17     (if (zone-preferred-subnet-p (car any-provider))
18         (zone-set-address #'rec (cdr any-provider) :make-ptr-p t)
19         (do-host (addr (cdr any-provider))
20           (let ((family (ipaddr-family addr)))
21             (if (member family *anycast-routable-families*)
22                 (zone-set-address #'rec addr
23                                   :family family :make-ptr-p t)
24                 (zone-set-address #'rec (cdr default-provider)
25                                   :family family :make-ptr-p nil)))))
26
27     ;; Now for all of the others.
28     (dolist (provider (list* any-provider default-provider other-providers))
29       (zone-set-address #'rec (cdr provider)
30                         :make-ptr-p (eq provider any-provider)
31                         :name (domain-name-concat prefix
32                                                   (zone-parse-host
33                                                    (car provider)
34                                                    zname))))))
35
36 ;;;--------------------------------------------------------------------------
37 ;;; Hostname abbreviations.
38
39 (defvar *abbrev-subdomain*
40   (make-domain-name :labels '("abbrev") :absolutep nil))
41 (defparameter *abbrev-used* (make-hash-table :test #'equal))
42
43 (defzoneparse :abbrev (name data rec :zname zname)
44   (let* ((domain (zone-parse-host data
45                                   (domain-name-concat *abbrev-subdomain*
46                                                       zname)))
47          (key (princ-to-string domain))
48          (existing (gethash key *abbrev-used*)))
49     (when existing
50       (error "Abbrev collision for ~A between ~A and ~A."
51              domain existing name))
52     (setf (gethash key *abbrev-used*) name)
53     (rec :name domain
54          :type :cname
55          :data name)))
56
57 ;;;--------------------------------------------------------------------------
58 ;;; Other definitions.
59
60 (setf *default-zone-admin* "hostmaster@distorted.org.uk")
61
62 (setf *default-zone-source* 'radius.distorted.org.uk.)
63
64 ;;;--------------------------------------------------------------------------
65 ;;; Main zone definition.
66
67 (defzone distorted.org.uk
68
69   ;; Nameservers.
70   :ns ((radius.ns :ip radius)
71        (precision.ns :ip precision)
72        (telecaster.ns :ip telecaster)
73        (national.ns :ip national)
74        (eggle.ns :ip eggle)
75        #-view/inside (mythic-beasts-1.ns :ip mythic-ns1)
76        #-view/inside (mythic-beasts-2.ns :ip mythic-ns2)
77        #-view/inside (mythic-beasts-3.ns :ip mythic-ns3)
78        #-view/inside (chiark.ns :ip chiark.greenend.org.uk))
79
80   ;; Certification.
81   :caa ((:issue "letsencrypt.org")
82         (:issue "distorted.org.uk"))
83
84   ;; Mail servers.
85   ((@ mail blackhole) :mx mail :srv ((:smtp mail)))
86   (bugs :mx lists :srv ((:smtp bugs)))
87   (lists :mx lists :srv ((:smtp lists)))
88   (_dmarc :dmarc (:v "DMARC1"
89                   :p "quarantine" :sp "quarantine"
90                   :adkim "s" :aspf "s"))
91   ((_domainkey _domainkey.mail) :dname stratocaster.dkim)
92   ((stratocaster @ mail) :spf ((:version "spf1")
93                                (:pass :ip stratocaster.dmz)
94                                (:soft :all)))
95   ((_domainkey.bugs _domainkey.lists) :dname telecaster.dkim)
96   ((telecaster bugs lists) :spf ((:version "spf1")
97                                  (:pass :ip telecaster.dmz)
98                                  (:soft :all)))
99
100   ;; Anycast services.
101   (dns0 :anycast ((any dns0.any) (dmz radius.dmz)
102                   (unsafe radius.unsafe)))
103   (dns1 :anycast ((any dns1.any) (dmz precision.dmz)
104                   (unsafe precision.unsafe)))
105   (dns :cname dns0)
106
107   (ntp0 :anycast ((any ntp0.any) (dmz ibanez.dmz)
108                   (unsafe ibanez.unsafe)))
109   (ntp1 :anycast ((any ntp1.any) (dmz fender.dmz)
110                   (unsafe fender.unsafe)))
111   (ntp :cname ntp0)
112
113   (www-cache :anycast ((any www-cache.any) (dmz telecaster.dmz)
114                        (unsafe telecaster.unsafe)))
115   (wpad :cname www-cache)
116
117   (_kerberos :txt "DISTORTED.ORG.UK")
118   (krb0 :anycast ((any krb0.any) (dmz radius.dmz)
119                   (unsafe radius.unsafe)))
120   (krb1 :anycast ((any krb1.any) (dmz precision.dmz)
121                   (unsafe precision.unsafe)))
122   (krb-master (unsafe :svc radius.unsafe)
123               (dmz :svc radius.dmz))
124   :srv (((:kerberos :protocol :udp)
125          krb0
126          (krb1 :prio 100))
127         ((:kerberos-master :protocol :udp :port 88) krb-master)
128         (:kerberos-adm krb-master)
129         ((:kpasswd :protocol :udp) krb-master))
130   (krb :cname krb0)
131
132   ;; Other services.
133   :srv ((:http www)
134         (:ftp ftp))
135
136   ;; Formerly colocated services.
137   ((irc vox keys wiki) (unsafe :svc jazz.unsafe :sshfp "jazz")
138                        (dmz :svc jazz.dmz :sshfp "jazz"))
139   ((irc vox keys wiki) :tlsa (:https (:service-certificate-constraint
140                                       :public-key :sha-256 #p"https-jazz")))
141   ((bugs lists db ftp) (unsafe :svc telecaster.unsafe :sshfp "telecaster")
142                        (dmz :svc telecaster.dmz :sshfp "telecaster"))
143   ((bugs lists ftp) :tlsa (:https #3=(:service-certificate-constraint
144                                       :public-key :sha-256
145                                       #p"https-telecaster")))
146   (dyndns :svc telecaster.dmz :sshfp "telecaster")
147   ((git www mail) (unsafe :svc stratocaster.unsafe :sshfp "stratocaster")
148                   (dmz :svc stratocaster.dmz :sshfp "stratocaster"))
149   ((www git mail @) :tlsa (:https #2=(:service-certificate-constraint
150                                       :public-key :sha-256
151                                       #p"https-stratocaster")))
152   (www-cache :tlsa (3127 #1=(:trust-anchor-assertion
153                              :certificate :sha-256 #p"distorted-ca")))
154   (mail :tlsa ((:submission :imap :imaps) #1#))
155   (mail :tlsa (:smtp
156                #+view/inside #1#
157                #-view/inside (:domain-issued-certificate
158                               :public-key :sha-256
159                               #p"smtps-stratocaster")))
160   ((bugs lists) :tlsa (:smtp
161                        #+view/inside #1#
162                        #-view/inside (:domain-issued-certificate
163                                       :public-key :sha-256
164                                       #p"smtps-telecaster")))
165   :svc #+view/inside stratocaster.unsafe
166        #-view/inside stratocaster.dmz
167   (cabal :svc stratocaster.dmz :sshfp "stratocaster")
168
169   ;; Local services.
170   (rawk (unsafe :svc artist.unsafe) (dmz :svc artist.dmz))
171   (rawk :tlsa (:https (:service-certificate-constraint
172                        :public-key :sha-256
173                        #p"https-artist")))
174   (mirror (dmz :svc roadstar.dmz :sshfp "roadstar")
175           (unsafe :svc roadstar.unsafe :sshfp "roadstar"))
176
177   ;; Internal services.
178   ((news lpr) :svc roadstar.unsafe :sshfp "roadstar")
179
180   ;; Anonymity services.
181   (anon (dmz :svc anon.dmz)
182         (unsafe :svc jazz.unsafe))
183
184   ;; Fancy connectivity.
185   (iodine (dmz :svc jazz.dmz))
186   (hippotat (dmz :svc jazz.dmz))
187
188   ;; Formerly colocated hosts.
189   (fender :abbrev f (unsafe :abbrev fu) (dmz :abbrev fd))
190   (fender (unsafe :addr fender.unsafe :sshfp "fender")
191           (dmz :addr fender.dmz :sshfp "fender"))
192   (precision :abbrev p (unsafe :abbrev pu) (dmz :abbrev pd) (vpn :abbrev pv))
193   (precision (unsafe :addr precision.unsafe :sshfp "precision")
194              (dmz :addr precision.dmz :sshfp "precision")
195              (vpn :addr precision.vpn :sshfp "precision"))
196   (telecaster :alias tele :abbrev t
197               (unsafe :alias tele.unsafe :abbrev tu)
198               (dmz :alias tele.dmz :abbrev td))
199   (telecaster (unsafe :addr telecaster.unsafe :sshfp "telecaster")
200               (dmz :addr telecaster.dmz :sshfp "telecaster"))
201   (stratocaster :alias strat :abbrev s
202                 (unsafe :alias strat.unsafe :abbrev su)
203                 (dmz :alias strat.dmz :abbrev sd))
204   (stratocaster (unsafe :addr stratocaster.unsafe :sshfp "stratocaster")
205                 (dmz :addr stratocaster.dmz :sshfp "stratocaster"))
206   (jazz :abbrev z
207         (unsafe :abbrev zu) (dmz :abbrev zd)
208         (vpn :abbrev :zv) (iodine :abbrev z53) (hippo :abbrev zh))
209   (jazz (unsafe :addr jazz.unsafe :sshfp "jazz")
210         (dmz :addr jazz.dmz :sshfp "jazz")
211         (vpn :addr jazz.vpn :sshfp "jazz")
212         (iodine :addr jazz.iodine :sshfp "jazz")
213         (hippo :addr jazz.hippo :sshfp "jazz"))
214
215   ;; Virtual hosts.
216   (national :abbrev n (linode :abbrev nl) (upn :abbrev ny))
217   (national (linode :addr national.linode :sshfp "national")
218             (upn :addr national.upn :sshfp "national"))
219   (eggle :abbrev e (jump :abbrev ej) (upn :abbrev ey))
220   (eggle (jump :addr eggle.jump :sshfp "eggle")
221          (upn :addr eggle.upn :sshfp "eggle"))
222   (mdwdev (upn :addr mdwdev.upn))
223
224   ;; Nicko's servers.
225   (richmond (dmz :svc richmond.dmz))
226   (marshall (dmz :svc marshall.dmz))
227
228   ;; Entry is via little router box.
229   (dmz :net dmz)
230   (guvnor (dmz :addr guvnor.dmz :sshfp "radius"))
231   (nat (dmz :addr nat.dmz))
232
233   ;; Wireless access points.
234   (wireless :net wireless)
235   (evolution (safe :addr evolution.safe))
236   (evolution :alias evo)
237   (kitkat :alias ap0)
238   (kitkat (safe :addr kitkat.safe))
239   (lunch :alias ap1)
240   (lunch (safe :addr lunch.safe))
241
242   ;; Printer and scanner.
243   (burntaxe :alias lp0)
244   (burntaxe (safe :addr burntaxe.safe))
245   (unicorn :alias scan0)
246   (unicorn (safe :addr unicorn.safe))
247
248   ;; Switches.
249   (grigsby :alias tp0)
250   (grigsby (safe :addr grigsby.safe))
251   (carling :alias tp1)
252   (carling (safe :addr carling.safe))
253   (tritan :alias tp2)
254   (tritan (safe :addr tritan.safe))
255
256   ;; Wired ethernet.
257   (unsafe :net unsafe)
258   (safe :net safe)
259   (untrusted :net untrusted)
260   (vampire :abbrev v
261            (unsafe :abbrev vu) (dmz :abbrev vd) (vpn :abbrev vv)
262            (safe :abbrev vs) (untrusted :abbrev vx))
263   (vampire (unsafe :addr vampire.unsafe :sshfp "vampire")
264            (dmz :addr vampire.dmz :sshfp "vampire")
265            (vpn :addr vampire.vpn :sshfp "vampire")
266            (safe :addr vampire.safe :sshfp "vampire")
267            (untrusted :addr vampire.untrusted :sshfp "vampire"))
268   (ibanez :abbrev i (unsafe :abbrev iu) (dmz :abbrev id))
269   (ibanez (unsafe :addr ibanez.unsafe :sshfp "ibanez")
270           (dmz :addr ibanez.dmz :sshfp "ibanez"))
271   (radius :abbrev r
272           (unsafe :abbrev ru) (dmz :abbrev rd) (vpn :abbrev rv)
273           (safe :abbrev rs) (untrusted :abbrev rx))
274   (radius (unsafe :addr radius.unsafe :sshfp "radius")
275           (dmz :addr radius.dmz :sshfp "radius")
276           (vpn :addr radius.vpn :sshfp "radius")
277           (safe :addr radius.safe :sshfp "radius")
278           (untrusted :addr radius.untrusted :sshfp "radius"))
279   (roadstar :abbrev rg (unsafe :abbrev rgu) (dmz :abbrev rgd))
280   (roadstar (unsafe :addr roadstar.unsafe :sshfp "roadstar")
281             (dmz :addr roadstar.dmz :sshfp "roadstar"))
282   (jem :abbrev j (unsafe :abbrev ju) (dmz :abbrev jd))
283   (jem (unsafe :addr jem.unsafe :sshfp "jem")
284        (dmz :addr jem.dmz :sshfp "jem"))
285   (universe :abbrev u (unsafe :abbrev uu) (dmz :abbrev ud))
286   (universe (unsafe :addr universe.unsafe :sshfp "universe")
287             (dmz :addr universe.dmz :sshfp "universe"))
288   (artist :abbrev a
289           (unsafe :abbrev au) (dmz :abbrev ad) (untrusted :abbrev ax))
290   (artist (unsafe :addr artist.unsafe :sshfp "artist")
291           (dmz :addr artist.dmz :sshfp "artist")
292           (untrusted :addr artist.untrusted :sshfp "artist"))
293   (groove :abbrev gr (vpn :abbrev grv) (unsafe :abbrev gru))
294   (groove (vpn :addr groove.vpn :sshfp "groove")
295           (unsafe :addr groove.unsafe :sshfp "groove"))
296
297   ;; DHCP hosts.
298   (gibson :cname gibson.dhcp :abbrev g)
299   (lespaul :cname lespaul.dhcp)
300   (firebird :cname firebird.dhcp)
301   (marauder :cname marauder.dhcp)
302   (invader :cname invader.dhcp)
303   (gretsch :cname gretsch.dhcp)
304
305   ;; Virtual network.
306   (vpn :net vpn)
307   (crybaby :abbrev cb (vpn :abbrev cbv) (hippo :abbrev cbh))
308   (crybaby (vpn :addr crybaby.vpn :sshfp "crybaby")
309            (hippo :addr crybaby.hippo :sshfp "crybaby"))
310   (spirit :abbrev sp (vpn :abbrev spv) (hippo :abbrev sph))
311   (spirit (vpn :addr spirit.vpn :sshfp "spirit")
312           (hippo :addr spirit.hippo :sshfp "spirit"))
313   (terror (vpn :addr terror.vpn :sshfp "terror"))
314   (orange :abbrev o)
315   (orange (vpn :addr orange.vpn :sshfp "orange"))
316   (haze :abbrev h)
317   (haze (vpn :addr haze.vpn :sshfp "haze"))
318   (iodine :net iodine)
319   (hippo :net hippo)
320
321   ;; ITS.
322   (its :net its)
323   (gw (its :addr gw.its))
324   (mz (its :addr mz.its))
325
326   ;; Strange things.
327   (blackhole (dmz :addr blackhole.dmz))
328
329   ;; Delegations.
330   (dhcp :ns ((radius.ns.dhcp :ip radius)
331              (precision.ns.dhcp :ip precision)
332              (telecaster.ns.dhcp :ip telecaster)
333              (national.ns.dhcp :ip national)
334              (eggle.ns.dhcp :ip eggle))
335         :ds ((55966 :rsasha256 :sha1
336              "95b05c1f4e84f950f29630004bac447f8a87ca33")
337              (55966 :rsasha256 :sha256
338               #.(concatenate 'string "31696bf54b577362b2eb75793adeb9ec"
339                                      "2e8440ec671371b35d8d978cd9ca3007"))))
340   (dyn :ns ((radius.ns.dyn :ip radius)
341             (precision.ns.dyn :ip precision)
342             (telecaster.ns.dyn :ip telecaster)
343             (national.ns.dyn :ip national)
344             (eggle.ns.dyn :ip eggle))
345        :ds ((11335 :rsasha256 :sha1
346             "7ed2b843b0bfb38ceca68617dfacbeafab1d1ea9")
347             (11335 :rsasha256 :sha256
348              #.(concatenate 'string "6eb15eb587c48f5b84ca128a656a4cce"
349                                     "0a41cf040d3d0f15a44dffd6476b2b55"))))
350   (dnserr :ns ((radius.ns.dnserr :ip radius.dmz)
351                (precision.ns.dnserr :ip precision.dmz)
352                (telecaster.ns.dnserr :ip telecaster.dmz)
353                (national.ns.dnserr :ip national.linode)
354                (eggle.ns.dnserr :ip eggle.jump))
355           :ds ((40945 :rsasha256 :sha1
356                 "f35b5d0b877b940e63ad1b3afc21d6ba83cd1b3b")
357                (40945 :rsasha256 :sha256
358                 #.(concatenate 'string "fb171d206d4d64c5a7a6c290ce6e20df"
359                                        "44f1db7f41e2260f1fe8d7c55d524c11"))))
360   (stratocaster.dkim
361    :ns ((radius.ns.stratocaster.dkim :ip radius.dmz)
362         (precision.ns.stratocaster.dkim :ip precision.dmz)
363         (telecaster.ns.stratocaster.dkim :ip telecaster.dmz)
364         (national.ns.stratocaster.dkim :ip national.linode)
365         (eggle.ns.stratocaster.dkim :ip eggle.jump)
366         (mythic-beasts-1.ns.stratocaster.dkim :ip mythic-ns1)
367         (mythic-beasts-2.ns.stratocaster.dkim :ip mythic-ns2)
368         (mythic-beasts-3.ns.stratocaster.dkim :ip mythic-ns3))
369    :ds ((24577 :rsasha256 :sha1
370          "d06847c01e19098509a8d07a9aafaceff532c9c7")
371         (24577 :rsasha256 :sha256
372          #.(concatenate 'string "a40cdb1c633041cfbc1b80a400cff527"
373                                 "2cad051915fc0cd40296a2d4590b9d2b"))))
374   (telecaster.dkim
375    :ns ((radius.ns.telecaster.dkim :ip radius.dmz)
376         (precision.ns.telecaster.dkim :ip precision.dmz)
377         (telecaster.ns.telecaster.dkim :ip telecaster.dmz)
378         (national.ns.telecaster.dkim :ip national.linode)
379         (eggle.ns.telecaster.dkim :ip eggle.jump)
380         (mythic-beasts-1.ns.telecaster.dkim :ip mythic-ns1)
381         (mythic-beasts-2.ns.telecaster.dkim :ip mythic-ns2)
382         (mythic-beasts-3.ns.telecaster.dkim :ip mythic-ns3))
383    :ds ((38896 :rsasha256 :sha1
384          "2c2daea658784e22c46bf9e86da67def1e34cf40")
385         (38896 :rsasha256 :sha256
386          #.(concatenate 'string "66997571c7d47f912caa65f2154ecd37"
387                                 "5b9d391e3ed44d79ac35eef59264e521"))))
388   (io :ns ((ns.io :ip jazz.dmz)))
389   (play :ns (radius.ns precision.ns telecaster.ns national.ns eggle.jump)))
390
391 ;;;--------------------------------------------------------------------------
392 ;;; Other subsidiary zones.
393
394 #+view/outside
395 (defzone dhcp.distorted.org.uk
396   :ns ((radius.ns :ip radius)
397        (precision.ns :ip precision)
398        (telecaster.ns :ip telecaster)
399        (national.ns :ip national)
400        (eggle.ns :ip eggle))
401   (gibson :addr gibson.unsafe)
402   (crybaby :addr crybaby.unsafe)
403   (lespaul :addr lespaul.unsafe)
404   (gretsch :addr gretsch.unsafe)
405   (spirit :addr spirit.unsafe)
406   (haze :addr haze.unsafe)
407   (invader :addr invader.safe)
408   (marauder :addr marauder.safe))
409
410 #+view/outside
411 (defzone (dyn.distorted.org.uk :source telecaster.distorted.org.uk.)
412   :ns ((radius.ns :ip radius)
413        (precision.ns :ip precision)
414        (telecaster.ns :ip telecaster)
415        (national.ns :ip national)
416        (eggle.ns :ip eggle)))
417
418 (defzone nicko.org
419   (richmond :addr richmond.dmz)
420   (marshall :addr marshall.dmz))
421
422 #+view/outside
423 (defzone stratocaster.dkim.distorted.org.uk
424   :ns ((radius.ns :ip radius)
425        (precision.ns :ip precision)
426        (telecaster.ns :ip telecaster)
427        (national.ns :ip national)
428        (eggle.ns :ip eggle)
429        (mythic-beasts-1.ns :ip mythic-ns1)
430        (mythic-beasts-2.ns :ip mythic-ns2)
431        (mythic-beasts-3.ns :ip mythic-ns3)))
432 #+view/outside
433 (defzone telecaster.dkim.distorted.org.uk
434   :ns ((radius.ns :ip radius)
435        (precision.ns :ip precision)
436        (telecaster.ns :ip telecaster)
437        (national.ns :ip national)
438        (eggle.ns :ip eggle)
439        (mythic-beasts-1.ns :ip mythic-ns1)
440        (mythic-beasts-2.ns :ip mythic-ns2)
441        (mythic-beasts-3.ns :ip mythic-ns3)))
442
443 (defrevzone trusted
444   :ns (radius.distorted.org.uk.
445        precision.distorted.org.uk.
446        telecaster.distorted.org.uk.
447        national.distorted.org.uk.
448        eggle.distorted.org.uk.)
449   :reverse unsafe
450   :reverse safe
451   :reverse vpn
452   :reverse its
453   :reverse any
454   (dhcp :ns (radius.distorted.org.uk.
455              precision.distorted.org.uk.
456              telecaster.distorted.org.uk.
457              national.distorted.org.uk.))
458   :multi (((unsafe-dhcp01 unsafe-dhcp1x safe-dhcp011 safe-dhcp1xx)
459            :family :ipv4 :suffix "199.29.172.dhcp") :cname *))
460
461 #+view/outside
462 (defzone dhcp.199.29.172.in-addr.arpa
463   :ns (radius.distorted.org.uk.
464        precision.distorted.org.uk.
465        telecaster.distorted.org.uk.
466        national.distorted.org.uk.
467        eggle.distorted.org.uk.))
468
469 (defrevzone untrusted
470   :ns (radius.distorted.org.uk.
471        precision.distorted.org.uk.
472        telecaster.distorted.org.uk.
473        national.distorted.org.uk.
474        eggle.distorted.org.uk.))
475
476 (defzone 128-143.238.187.81.in-addr.arpa
477   :ns (radius.distorted.org.uk.
478        precision.distorted.org.uk.
479        telecaster.distorted.org.uk.
480        national.distorted.org.uk.
481        eggle.distorted.org.uk.
482        secondary-dns.co.uk.)
483   :reverse ((((:ipv4 dmz)))))
484
485 (defzone 64-79.12.169.217.in-addr.arpa
486   :ns (radius.distorted.org.uk.
487        precision.distorted.org.uk.
488        telecaster.distorted.org.uk.
489        national.distorted.org.uk.
490        eggle.distorted.org.uk.
491        secondary-dns.co.uk.)
492   :reverse ((((:ipv4 dmz1)))))
493
494 (defzone 195.113.2.81.in-addr.arpa
495   :ns (radius.distorted.org.uk.
496        precision.distorted.org.uk.
497        telecaster.distorted.org.uk.
498        national.distorted.org.uk.
499        eggle.distorted.org.uk.
500        secondary-dns.co.uk.)
501   :reverse ((((:ipv4 gw)))))
502
503 (defrevzone (distorted.org.uk-aaisp :family :ipv6)
504   :ns (radius.distorted.org.uk.
505        precision.distorted.org.uk.
506        telecaster.distorted.org.uk.
507        national.distorted.org.uk.
508        eggle.distorted.org.uk.
509        secondary-dns.co.uk.)
510   (0.7.3.6.8.6.4.6.1.0.0.0 :ns (radius.distorted.org.uk.
511                                 precision.distorted.org.uk.
512                                 telecaster.distorted.org.uk.
513                                 national.distorted.org.uk.
514                                 eggle.distorted.org.uk.))
515   :reverse ((((:ipv6 distorted.org.uk-aaisp)))))
516
517 (defrevzone jump-ipv6
518   :ns (radius.distorted.org.uk.
519        precision.distorted.org.uk.
520        telecaster.distorted.org.uk.
521        national.distorted.org.uk.
522        eggle.distorted.org.uk.)
523   :reverse ((((:ipv6 jump-ipv6)))))
524
525 (defrevzone (unsafe-dhcp :family :ipv6)
526   :ns (radius.distorted.org.uk.
527        precision.distorted.org.uk.
528        telecaster.distorted.org.uk.
529        national.distorted.org.uk.
530        eggle.distorted.org.uk.))
531
532 (defrevzone (safe-dhcp :family :ipv6)
533   :ns (radius.distorted.org.uk.
534        precision.distorted.org.uk.
535        telecaster.distorted.org.uk.
536        national.distorted.org.uk.
537        eggle.distorted.org.uk.))
538
539 #+view/outside
540 (defzone io.distorted.org.uk
541   :ns ((ns :ip jazz.dmz))
542   (about :txt "Fake zone used for IP-over-DNS tunnelling."))
543
544 ;;;----- That's all, folks --------------------------------------------------