chiark / gitweb /
Domain keys support.
[zones] / distorted.lisp
index c7fd62943c2867902b2b34f756281bc9d6aafd29..0806e78534bc78281b5764d6970e32ff3a8df09f 100644 (file)
 
 (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 128)
-    (iodine 16))
-  (trusted 256
-    (fretwank 128
-      (unsafe 32)
-      (dhcp 32)
-      (safe 32))
-    (virtual 32)
-    (its 4)))
-
-;;;--------------------------------------------------------------------------
-;;; Host allocations
-
-;; External addresses.
-(defhost guvnor.demon 80.177.3.76)
-
-;; Unsafe network.
-(defhost guvnor (unsafe 1))
-(defhost metalzone (unsafe 2))
-(defhost radius (unsafe 3))
-(defhost vampire (unsafe 4))
-(defhost roadstar (unsafe 5))
-(defhost jem (unsafe 6))
-(defhost artist (unsafe 7))
-(defhost ibanez (unsafe 14))
-
-;; Safe network.
-(defhost tubescreamer (safe 1))
-(defhost obsidian (safe 2))
-
-;; Wireless network.
-(defhost vampire.untrusted (untrusted 1))
-(defhost evolution (untrusted 2))
-(defhost radius.untrusted (untrusted 3))
-
-;; Virtual private network.
-(defhost crybaby (virtual 1))
-(defhost terror (virtual 2))
-
-;; Iodine network.
-(defhost vampire.iodine (iodine 1))
-
-;; Special network for ITS.
-;; It doesn't understand point-to-point links, so we need a little net.
-(defhost gw (its 1))
-(defhost mz (its 2))
-
 ;;;--------------------------------------------------------------------------
 ;;; Other definitions.
 
 (setf *default-zone-admin* "hostmaster@distorted.org.uk")
 
-(preferred-subnet-case
-  (fretwank
-   (setf *default-zone-source* 'vampire.distorted.org.uk.)
-   (defhost www-frontend metalzone)
-   (defhost dns-frontend vampire))
-  (t
-   (setf *default-zone-source* 'guvnor.distorted.org.uk.)
-   (defhost www-frontend guvnor.demon)
-   (defhost dns-frontend guvnor.demon)))
+(setf *default-zone-source* 'radius.distorted.org.uk.)
 
 ;;;--------------------------------------------------------------------------
 ;;; Main zone definition.
 
 (defzone distorted.org.uk
-  ;;
+
   ;; Nameservers.
-  :ns #+subnet/fretwank ((metalzone.ns :ip metalzone)
-                        (vampire.ns :ip vampire))
-      #-subnet/fretwank ((mythic-beasts-1.ns :ip mythic-ns1)
-                        (mythic-beasts-2.ns :ip mythic-ns2)
-                        (chiark.ns :ip chiark.greenend.org.uk)
-                        (guvnor.ns :ip guvnor.demon))
-  ;;
+  :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))
+
   ;; Mail servers.
-  ((@ mail lists bugs cryptomail)
+  ((@ mail)
    :mx mail
    :srv ((:smtp mail)))
-  ;;
+  ((lists bugs cryptomail)
+   :ttl 300
+   :mx mail
+   :srv ((:smtp old-mail)))
+
+  (stratocaster.20140403._domainkey
+   :dkim ("dkim-stratocaster.20140403.pub"
+         :v "DKIM1"
+         :k "rsa"
+         :h "sha256"
+         :s "email"))
+
+  ;; 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))
-  ;;
-  ;; 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))
-  ;;
+
+  ;; 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.
-  (untrusted :net untrusted)
-  (evolution (untrusted :a evolution))
-  ;;
+  (wireless :net wireless)
+  (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.
-  (@ :svc www-frontend)
-  ((www ftp wiki git bugs mail db tor i2p rawk vox www-cache)
-   (inet :svc guvnor.demon)
-   (fretwank :svc vampire))
-  ;;
+  ((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.
-  ((ntp) (fretwank :svc ibanez))
-  ((wpad ntp1 news) (fretwank :svc vampire))
-  ;;
+  #+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.
-  (fretwank :net fretwank)
-  (metalzone (inet :a guvnor.demon)
-            (fretwank :a metalzone))
-  (vampire (fretwank :a vampire)
-          (inet :a guvnor.demon)
-          (untrusted :a vampire.untrusted)
-          (iodine :a vampire.iodine))
-  (obsidian (fretwank :a obsidian))
-  (ibanez (fretwank :a ibanez))
-  (radius (fretwank :a radius)
+  (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 (fretwank :a roadstar))
-  (jem (fretwank :a jem))
-  (artist (fretwank :a artist))
+  (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.
-  (virtual :net virtual)
-  (crybaby (virtual :a crybaby))
-  (terror (virtual :a terror))
+  (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))
-  (mz (its :a mz))
-  ;;
+  (gw (its :a gw.its))
+  (mz (its :a mz.its))
+
+  ;; Strange things.
+  (blackhole (jump :a blackhole.jump))
+
   ;; Delegations.
-  #+subnet/fretwank (dhcp :ns (metalzone.ns vampire.ns))
-  (io :ns ((ns.io :ip dns-frontend))))
+  (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
-  #+subnet/fretwank (dhcp :ns (metalzone.ns vampire.ns))
-  #+subnet/fretwank (@ :cidr-delegation
-                      (dhcp
-                       (dhcp 199.29.172.dhcp.199.29.172.in-addr.arpa))))
-
-(defrevzone untrusted
-  :ns ((metalzone.ns :ip metalzone) (vampire.ns :ip vampire))
-  :reverse untrusted)
-
-(defzone dhcp.distorted.org.uk
-  :ns ((metalzone.ns :ip metalzone) (vampire.ns :ip vampire))
-  :net dhcp)
+  :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 dns-frontend))
+  :ns ((ns :ip jazz.jump))
   (about :txt "Fake zone used for IP-over-DNS tunnelling."))
 
-(defzone dhcp.199.29.172.in-addr.arpa
-  :ns ((metalzone.ns :ip metalzone) (vampire.ns :ip vampire)))
-
 ;;;----- That's all, folks --------------------------------------------------