+ (evolution (safe :addr evolution.safe))
+ (evolution :alias evo)
+ (kitkat :alias ap0)
+ (kitkat (safe :addr kitkat.safe))
+ (lunch :alias ap1)
+ (lunch (safe :addr lunch.safe))
+
+ ;; Printer and scanner.
+ (burntaxe :alias lp0)
+ (burntaxe (safe :addr burntaxe.safe))
+ (unicorn :alias scan0)
+ (unicorn (safe :addr unicorn.safe))
+
+ ;; Switches.
+ (grigsby :alias tp0)
+ (grigsby (safe :addr grigsby.safe))
+ (carling :alias tp1)
+ (carling (safe :addr carling.safe))
+ (tritan :alias tp2)
+ (tritan (safe :addr tritan.safe))
+
+ ;; Wired ethernet.
+ (unsafe :net unsafe)
+ (safe :net safe)
+ (untrusted :net untrusted)
+ (vampire :abbrev v
+ (unsafe :abbrev vu) (dmz :abbrev vd) (vpn :abbrev vv)
+ (safe :abbrev vs) (untrusted :abbrev vx))
+ (vampire (unsafe :addr vampire.unsafe :sshfp "vampire")
+ (dmz :addr vampire.dmz :sshfp "vampire")
+ (vpn :addr vampire.vpn :sshfp "vampire")
+ (safe :addr vampire.safe :sshfp "vampire")
+ (untrusted :addr vampire.untrusted :sshfp "vampire"))
+ (ibanez :abbrev i (unsafe :abbrev iu) (dmz :abbrev id))
+ (ibanez (unsafe :addr ibanez.unsafe :sshfp "ibanez")
+ (dmz :addr ibanez.dmz :sshfp "ibanez"))
+ (radius :abbrev r
+ (unsafe :abbrev ru) (dmz :abbrev rd) (vpn :abbrev rv)
+ (safe :abbrev rs) (untrusted :abbrev rx))
+ (radius (unsafe :addr radius.unsafe :sshfp "radius")
+ (dmz :addr radius.dmz :sshfp "radius")
+ (vpn :addr radius.vpn :sshfp "radius")
+ (safe :addr radius.safe :sshfp "radius")
+ (untrusted :addr radius.untrusted :sshfp "radius"))
+ (roadstar :abbrev rg (unsafe :abbrev rgu) (dmz :abbrev rgd))
+ (roadstar (unsafe :addr roadstar.unsafe :sshfp "roadstar")
+ (dmz :addr roadstar.dmz :sshfp "roadstar"))
+ (jem :abbrev j (unsafe :abbrev ju) (dmz :abbrev jd))
+ (jem (unsafe :addr jem.unsafe :sshfp "jem")
+ (dmz :addr jem.dmz :sshfp "jem"))
+ (universe :abbrev u (unsafe :abbrev uu) (dmz :abbrev ud))
+ (universe (unsafe :addr universe.unsafe :sshfp "universe")
+ (dmz :addr universe.dmz :sshfp "universe"))
+ (artist :abbrev a
+ (unsafe :abbrev au) (dmz :abbrev ad) (untrusted :abbrev ax))
+ (artist (unsafe :addr artist.unsafe :sshfp "artist")
+ (dmz :addr artist.dmz :sshfp "artist")
+ (untrusted :addr artist.untrusted :sshfp "artist"))
+ (groove :abbrev gr
+ (vpn :abbrev grv) (unsafe :abbrev gru))
+ (groove (vpn :addr groove.vpn :sshfp "groove")
+ (unsafe :addr groove.unsafe :sshfp "groove"))
+
+ ;; DHCP hosts.
+ (gibson :cname gibson.dhcp :abbrev g)
+ (lespaul :cname lespaul.dhcp)
+ (firebird :cname firebird.dhcp)
+ (marauder :cname marauder.dhcp)
+ (invader :cname invader.dhcp)
+ (gretsch :cname gretsch.dhcp)
+
+ ;; Virtual network.
+ (vpn :net vpn)
+ (crybaby :abbrev cb)
+ (crybaby (vpn :addr crybaby.vpn :sshfp "crybaby")
+ (hippo :addr crybaby.hippo :sshfp "crybaby"))
+ (spirit (vpn :addr spirit.vpn :sshfp "spirit")
+ (hippo :addr spirit.hippo :sshfp "spirit"))
+ (terror (vpn :addr terror.vpn :sshfp "terror"))
+ (orange :abbrev o)
+ (orange (vpn :addr orange.vpn :sshfp "orange"))
+ (haze :abbrev h)
+ (haze (vpn :addr haze.vpn :sshfp "haze"))
+ (iodine :net iodine)
+ (hippo :net hippo)
+
+ ;; ITS.
+ (its :net its)
+ (gw (its :addr gw.its))
+ (mz (its :addr mz.its))
+
+ ;; Strange things.
+ (blackhole (dmz :addr blackhole.dmz))
+
+ ;; Delegations.
+ (dhcp :ns ((radius.ns.dhcp :ip radius)
+ (precision.ns.dhcp :ip precision)
+ (telecaster.ns.dhcp :ip telecaster)
+ (national.ns.dhcp :ip national)
+ (eggle.ns.dhcp :ip eggle))
+ :ds ((55966 :rsasha256 :sha1
+ "95b05c1f4e84f950f29630004bac447f8a87ca33")
+ (55966 :rsasha256 :sha256
+ #.(concatenate 'string "31696bf54b577362b2eb75793adeb9ec"
+ "2e8440ec671371b35d8d978cd9ca3007"))))
+ (dyn :ns ((radius.ns.dyn :ip radius)
+ (precision.ns.dyn :ip precision)
+ (telecaster.ns.dyn :ip telecaster)
+ (national.ns.dyn :ip national)
+ (eggle.ns.dyn :ip eggle))
+ :ds ((11335 :rsasha256 :sha1
+ "7ed2b843b0bfb38ceca68617dfacbeafab1d1ea9")
+ (11335 :rsasha256 :sha256
+ #.(concatenate 'string "6eb15eb587c48f5b84ca128a656a4cce"
+ "0a41cf040d3d0f15a44dffd6476b2b55"))))
+ (dnserr :ns ((radius.ns.dnserr :ip radius.dmz)
+ (precision.ns.dnserr :ip precision.dmz)
+ (telecaster.ns.dnserr :ip telecaster.dmz)
+ (national.ns.dnserr :ip national.linode)
+ (eggle.ns.dnserr :ip eggle.jump))
+ :ds ((40945 :rsasha256 :sha1
+ "f35b5d0b877b940e63ad1b3afc21d6ba83cd1b3b")
+ (40945 :rsasha256 :sha256
+ #.(concatenate 'string "fb171d206d4d64c5a7a6c290ce6e20df"
+ "44f1db7f41e2260f1fe8d7c55d524c11"))))
+ (stratocaster.dkim
+ :ns ((radius.ns.stratocaster.dkim :ip radius.dmz)
+ (precision.ns.stratocaster.dkim :ip precision.dmz)
+ (telecaster.ns.stratocaster.dkim :ip telecaster.dmz)
+ (national.ns.stratocaster.dkim :ip national.linode)
+ (eggle.ns.stratocaster.dkim :ip eggle.jump)
+ (mythic-beasts-1.ns.stratocaster.dkim :ip mythic-ns1)
+ (mythic-beasts-2.ns.stratocaster.dkim :ip mythic-ns2)
+ (mythic-beasts-3.ns.stratocaster.dkim :ip mythic-ns3))
+ :ds ((24577 :rsasha256 :sha1
+ "d06847c01e19098509a8d07a9aafaceff532c9c7")
+ (24577 :rsasha256 :sha256
+ #.(concatenate 'string "a40cdb1c633041cfbc1b80a400cff527"
+ "2cad051915fc0cd40296a2d4590b9d2b"))))
+ (telecaster.dkim
+ :ns ((radius.ns.telecaster.dkim :ip radius.dmz)
+ (precision.ns.telecaster.dkim :ip precision.dmz)
+ (telecaster.ns.telecaster.dkim :ip telecaster.dmz)
+ (national.ns.telecaster.dkim :ip national.linode)
+ (eggle.ns.telecaster.dkim :ip eggle.jump)
+ (mythic-beasts-1.ns.telecaster.dkim :ip mythic-ns1)
+ (mythic-beasts-2.ns.telecaster.dkim :ip mythic-ns2)
+ (mythic-beasts-3.ns.telecaster.dkim :ip mythic-ns3))
+ :ds ((38896 :rsasha256 :sha1
+ "2c2daea658784e22c46bf9e86da67def1e34cf40")
+ (38896 :rsasha256 :sha256
+ #.(concatenate 'string "66997571c7d47f912caa65f2154ecd37"
+ "5b9d391e3ed44d79ac35eef59264e521"))))
+ (io :ns ((ns.io :ip jazz.dmz)))
+ (play :ns (radius.ns precision.ns telecaster.ns national.ns eggle.jump)))
+
+;;;--------------------------------------------------------------------------
+;;; Other subsidiary zones.
+
+#+view/outside
+(defzone dhcp.distorted.org.uk
+ :ns ((radius.ns :ip radius)
+ (precision.ns :ip precision)
+ (telecaster.ns :ip telecaster)
+ (national.ns :ip national)
+ (eggle.ns :ip eggle))
+ (gibson :addr gibson.unsafe)
+ (crybaby :addr crybaby.unsafe)
+ (lespaul :addr lespaul.unsafe)
+ (gretsch :addr gretsch.unsafe)
+ (spirit :addr spirit.unsafe)
+ (haze :addr haze.unsafe)
+ (invader :addr invader.safe)
+ (marauder :addr marauder.safe))
+
+#+view/outside
+(defzone (dyn.distorted.org.uk :source telecaster.distorted.org.uk.)
+ :ns ((radius.ns :ip radius)
+ (precision.ns :ip precision)
+ (telecaster.ns :ip telecaster)
+ (national.ns :ip national)
+ (eggle.ns :ip eggle)))
+
+#+view/outside
+(defzone nicko.org
+ (richmond :addr richmond.dmz))
+
+#+view/outside
+(defzone stratocaster.dkim.distorted.org.uk
+ :ns ((radius.ns :ip radius)
+ (precision.ns :ip precision)
+ (telecaster.ns :ip telecaster)
+ (national.ns :ip national)
+ (eggle.ns :ip eggle)
+ (mythic-beasts-1.ns :ip mythic-ns1)
+ (mythic-beasts-2.ns :ip mythic-ns2)
+ (mythic-beasts-3.ns :ip mythic-ns3)))
+#+view/outside
+(defzone telecaster.dkim.distorted.org.uk
+ :ns ((radius.ns :ip radius)
+ (precision.ns :ip precision)
+ (telecaster.ns :ip telecaster)
+ (national.ns :ip national)
+ (eggle.ns :ip eggle)
+ (mythic-beasts-1.ns :ip mythic-ns1)
+ (mythic-beasts-2.ns :ip mythic-ns2)
+ (mythic-beasts-3.ns :ip mythic-ns3)))