chiark / gitweb /
Domain keys support.
[zones] / distorted.lisp
index b88ddcbfda8c0bbc61499b161a36c541b4d5f2ae..0806e78534bc78281b5764d6970e32ff3a8df09f 100644 (file)
 ;;; Zone file for distorted.org.uk
 
-(load "hosts" :verbose nil)
+(load "hosts.lisp" :verbose nil)
 
-;; Network allocations
-;; (RFC1918 addresses are allocated from Cambridge G-RIN.)
-(defnet distorted.org.uk 172.29.198.0/23
-  (untrusted 256
-    (wireless 64))
-  (trusted 256
-    (fretwank 128
-      (unsafe 32)
-      (dhcp 32)
-      (safe 32))
-    (virtual 32)))
+;;;--------------------------------------------------------------------------
+;;; Other definitions.
 
-;; Host allocations
-(defhost guvnor.demon 80.177.3.76)
+(setf *default-zone-admin* "hostmaster@distorted.org.uk")
 
-(defhost guvnor (unsafe 1))
-(defhost metalzone (unsafe 2))
-(defhost evolution (unsafe 3))
-(defhost vampire (unsafe 4))
+(setf *default-zone-source* 'radius.distorted.org.uk.)
 
-(defhost tubescreamer (safe 1))
-(defhost obsidian (safe 2))
+;;;--------------------------------------------------------------------------
+;;; Main zone definition.
 
-(defhost evolution.wireless (wireless 1))
+(defzone distorted.org.uk
 
-(defhost fuzzface (virtual 1))
-(defhost mz (virtual 2))
+  ;; Nameservers.
+  :ns #+view/inside ((radius.ns :ip radius)
+                    (precision.ns :ip precision)
+                    (vampire.ns :ip vampire))
+      #-view/inside ((radius.ns :ip radius)
+                    (precision.ns :ip precision)
+                    (mythic-beasts-1.ns :ip mythic-ns1)
+                    (mythic-beasts-2.ns :ip mythic-ns2)
+                    (chiark.ns :ip chiark.greenend.org.uk))
 
-(setf *default-zone-admin* "hostmaster@distorted.org.uk")
+  ;; Mail servers.
+  ((@ mail)
+   :mx mail
+   :srv ((:smtp mail)))
+  ((lists bugs cryptomail)
+   :ttl 300
+   :mx mail
+   :srv ((:smtp old-mail)))
 
-(preferred-subnet-case
-  (fretwank
-   (setf *default-zone-source* 'metalzone.distorted.org.uk.)
-   (defhost www-frontend metalzone))
-  (t
-   (setf *default-zone-source* 'guvnor.distorted.org.uk.)
-   (defhost www-frontend guvnor.demon)))
+  (stratocaster.20140403._domainkey
+   :dkim ("dkim-stratocaster.20140403.pub"
+         :v "DKIM1"
+         :k "rsa"
+         :h "sha256"
+         :s "email"))
 
-(defzone distorted.org.uk
-  ;;
-  ;; Nameservers
-  :ns #+subnet/fretwank
-      ((metalzone.ns :ip metalzone)
-       (vampire.ns :ip vampire))
-      #-subnet/fretwank
-      ((boyle.ns :ip boyle.nsict.org)
-       (chiark.ns :ip chiark.greenend.org.uk)
-       (guvnor.ns :ip guvnor.demon))
-  ;;
-  ;; Mail servers
-  ((@ mail lists bugs cryptomail) :mx mail)
-  ;;
-  ;; Colocated services
-  ;;((www ftp git) (inet :svc boyle.nsict.org) (fretwank :svc metalzone))
-  ;;
-  ;; Entry is via little port-forwarding box
-  (guvnor (inet :a guvnor.demon) (fretwank :a guvnor))
-  ;;
-  ;; Wireless gateway
-  (evolution (fretwank :a evolution) (wireless :a evolution.wireless))
-  ;;
-  ;; Local services
-  (@ :svc www-frontend)
-  ((www ftp git bugs mail rawk)
-   (inet :svc guvnor.demon)
-   (fretwank :svc metalzone))
-  ;;
-  ;; Internal services
-  ((news www-cache)
-   (fretwank :svc metalzone))
-  ;;
-  ;; Wired ethernet
-  (metalzone (inet :a guvnor.demon) (fretwank :a metalzone))
-  (vampire (fretwank :a vampire))
-  (tubescreamer (fretwank :a tubescreamer))
-  (obsidian (fretwank :a obsidian))
-  (fuzzface (virtual :a fuzzface))
-  (mz (virtual :a mz))
-  ;;
-  ;; Networks
-  (fretwank :net fretwank)
-  (dhcp :net dhcp)
+  ;; Anycast services.
+  (dns0 (any :a dns0.any)
+       (jump :svc precision.jump)
+       (dmz :svc radius.dmz)
+       (unsafe :svc radius.unsafe)
+       (colo :svc precision.colo))
+  (dns1 (any :a dns1.any)
+       (jump :svc telecaster.jump)
+       (dmz :svc vampire.dmz)
+       (unsafe :svc vampire.unsafe)
+       (colo :svc telecaster.colo))
+  (dns :cname dns0)
+
+  (ntp0 (any :a ntp0.any)
+       (jump :svc fender.jump)
+       (dmz :svc ibanez.dmz)
+       (unsafe :svc ibanez.unsafe)
+       (colo :svc fender.colo))
+  (ntp1 (any :a ntp1.any)
+       (dmz :svc vampire.dmz)
+       (unsafe :svc vampire.unsafe))
+  (ntp :cname ntp0)
+
+  (www-cache (any :a www-cache.any)
+            (jump :svc telecaster.jump)
+            (dmz :svc roadstar.dmz)
+            (unsafe :svc roadstar.unsafe)
+            (colo :svc telecaster.colo))
+  (wpad :cname www-cache)
+
+  (_kerberos :txt "DISTORTED.ORG.UK")
+  (krb0 (any :a krb0.any)
+       (jump :svc precision.jump)
+       (dmz :svc radius.dmz)
+       (unsafe :svc radius.unsafe)
+       (colo :svc precision.colo))
+  (krb1 (any :a krb1.any)
+       (dmz :svc vampire.dmz)
+       (unsafe :svc vampire.unsafe))
+  (krb-master (unsafe :svc radius.unsafe)
+             (dmz :svc radius.dmz))
+  :srv (((:kerberos :protocol :udp)
+        krb0
+        (krb1 :prio 100))
+       ((:kerberos-master :protocol :udp :port 88) krb-master)
+       (:kerberos-adm krb-master)
+       ((:kpasswd :protocol :udp) krb-master))
+  (krb :cname krb0)
+
+  ;; Other services.
+  :srv ((:http www)
+       (:ftp ftp))
+
+  ;; Entry is via little router box.
+  (dmz :net dmz)
+  (guvnor (dmz :a guvnor.dmz))
+  (gate (dmz :a gate.dmz))
+  (nat (dmz :a nat.dmz))
+
+  ;; Wireless gateway.
   (wireless :net wireless)
-  (virtual :net virtual))
+  (evolution (safe :a evolution.safe))
+  (evolution :alias evo)
+
+  ;; Colocated services.
+  ((irc vox) (colo :svc jazz.colo)
+            (jump :svc jazz.jump))
+  ((git www mail) (colo :svc stratocaster.colo)
+                 (jump :svc stratocaster.jump))
+  :svc #+view/inside stratocaster.colo
+       #-view/inside stratocaster.jump
+  (cabal :svc stratocaster.colo)
+  ((db ftp) (colo :svc telecaster.colo)
+           (jump :svc telecaster.jump))
+
+  ;; Local services.
+  ((rawk pifi) (unsafe :svc artist.unsafe)
+              (dmz :svc artist.dmz))
+  (mirror (dmz :svc roadstar.dmz)
+         (unsafe :svc roadstar.unsafe))
+  ((wiki bugs old-mail i2p) :svc vampire)
+
+  ;; Internal services.
+  #+view/inside ((news lpr) :svc vampire.unsafe)
+
+  ;; Anonymity services.
+  (anon (colo :svc jazz.colo)
+       (unsafe :svc vampire.unsafe)
+       (jump :a anon.jump)
+       (dmz :a anon.dmz))
+
+  ;; Fancy connectivity.
+  (iodine (jump :a jazz.jump))
+
+  ;; Colocated hosts.
+  (colo :net colo)
+  (jump :net jump)
+  (fender (colo :a fender.colo)
+         (jump :a fender.jump))
+  (precision (colo :a precision.colo)
+            (jump :a precision.jump))
+  (telecaster (colo :a telecaster.colo)
+             (jump :a telecaster.jump))
+  (telecaster :alias tele)
+  (stratocaster (colo :a stratocaster.colo)
+               (jump :a stratocaster.jump))
+  (stratocaster :alias strat)
+  (jazz (colo :a jazz.colo)
+       (jump :a jazz.jump)
+       (iodine :a jazz.iodine))
+
+  ;; Media server (on loan to Good Technology HSTG).
+  (jaguar (jump :a jaguar.jump))
+
+  ;; Nicko's server.
+  (richmond (jump :a richmond.jump))
+
+  ;; Wired ethernet.
+  (unsafe :net unsafe)
+  (safe :net safe)
+  (untrusted :net untrusted)
+  (vampire (unsafe :a vampire.unsafe)
+          (dmz :a vampire.dmz)
+          (safe :a vampire.safe)
+          (untrusted :a vampire.untrusted))
+  (ibanez (unsafe :a ibanez.unsafe)
+         (dmz :a ibanez.dmz))
+  (radius (unsafe :a radius.unsafe)
+         (dmz :a radius.dmz)
+         (safe :a radius.safe)
+         (untrusted :a radius.untrusted))
+  (roadstar (unsafe :a roadstar.unsafe)
+           (dmz :a roadstar.dmz))
+  (jem (unsafe :a jem.unsafe)
+       (dmz :a jem.dmz))
+  (artist (unsafe :a artist.unsafe)
+         (dmz :a artist.dmz)
+         (untrusted :a artist.untrusted))
+
+  ;; DHCP hosts.
+  (gibson :cname gibson.dhcp)
+  (lespaul :cname lespaul.dhcp)
+  (firebird :cname firebird.dhcp)
+  (marauder :cname marauder.dhcp)
+  (invader :cname invader.dhcp)
+
+  ;; Virtual network.
+  (vpn :net vpn)
+  (crybaby (vpn :a crybaby.vpn))
+  (terror (vpn :a terror.vpn))
+  (orange (vpn :a orange.vpn))
+  (iodine :net iodine)
+
+  ;; ITS.
+  (its :net its)
+  (gw (its :a gw.its))
+  (mz (its :a mz.its))
+
+  ;; Strange things.
+  (blackhole (jump :a blackhole.jump))
+
+  ;; Delegations.
+  (dhcp :ns ((radius.ns.dhcp :ip radius)
+            (precision.ns.dhcp :ip precision)
+            (vampire.ns.dhcp :ip vampire)))
+  (dyn :ns ((radius.ns.dyn :ip radius)
+           (precision.ns.dyn :ip precision)
+           (vampire.ns.dyn :ip vampire)))
+  (dnserr :ns ((radius.ns.dnserr :ip radius.dmz)
+              (precision.ns.dnserr :ip precision.jump)
+              (vampire.ns.dnserr :ip vampire.dmz)))
+  (io :ns ((ns.io :ip jazz.jump))))
+
+;;;--------------------------------------------------------------------------
+;;; Other subsidiary zones.
 
 (defrevzone trusted
-  :ns ((metalzone.ns :ip metalzone) (vampire.ns :ip vampire))
-  :reverse trusted)
-(defrevzone untrusted
-  :ns ((metalzone.ns :ip metalzone) (vampire.ns :ip vampire))
-  :reverse untrusted)
+  :ns ((radius.ns :ip radius)
+       (precision.ns :ip precision)
+       (vampire.ns :ip vampire))
+  :reverse unsafe
+  :reverse vpn
+  :reverse colo
+  :reverse its
+  :reverse any
+  (dhcp :ns ((radius.ns.dhcp :ip radius)
+            (precision.ns.dhcp :ip precision)
+            (vampire.ns.dhcp :ip vampire)))
+  :cidr-delegation
+  (trusted ((dhcp safe) 199.29.172.dhcp.199.29.172.in-addr.arpa)))
+
+(defrevzone dmz
+  :ns ((radius.ns :ip radius)
+       (precision.ns :ip precision)
+       (vampire.ns :ip vampire))
+  :reverse dmz)
+
+(defrevzone jump
+  :ns ((radius.ns :ip radius)
+       (precision.ns :ip precision)
+       (vampire.ns :ip vampire))
+  :reverse jump)
+
+(defzone io.distorted.org.uk
+  :ns ((ns :ip jazz.jump))
+  (about :txt "Fake zone used for IP-over-DNS tunnelling."))
+
+;;;----- That's all, folks --------------------------------------------------