chiark / gitweb /
distorted.lisp: Fix subnets for anycast service names.
[zones] / distorted.lisp
index 75174ab756022c6b1c49f8eb45761b71f9e4c553..85c93382a0fc45f502f09ed5a993e2ee8f60bd3f 100644 (file)
 
 (load "hosts.lisp" :verbose nil)
 
-;;;--------------------------------------------------------------------------
-;;; Network allocations
-;;; (RFC1918 addresses are allocated from Cambridge G-RIN.)
-
-(defnet inet 62.49.204.144/28)
-
-(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.inet (inet 1))
-(defhost radius.inet (inet 2))
-(defhost roadstar.inet (inet 3))
-(defhost jem.inet (inet 4))
-(defhost artist.inet (inet 5))
-(defhost vampire.inet (inet 6))
-(defhost ibanez.inet (inet 9))
-(defhost gate.inet (inet 13))
-(defhost nat.inet (inet 14))
-
-;; Unsafe network.
-(defhost radius (unsafe 1))
-(defhost roadstar (unsafe 2))
-(defhost jem (unsafe 3))
-(defhost artist (unsafe 4))
-(defhost vampire (unsafe 5))
-(defhost ibanez (unsafe 14))
-
-;; Safe network.
-(defhost tubescreamer (safe 1))
-(defhost obsidian (safe 2))
-
-;; Wireless network.
-(defhost radius.untrusted (untrusted 1))
-(defhost evolution (untrusted 2))
-(defhost vampire.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")
 
-(setf *default-zone-source* 'vampire.distorted.org.uk.)
-(preferred-subnet-case
-  (fretwank
-   (defhost www-frontend vampire)
-   (defhost dns-frontend vampire))
-  (t
-   (defhost www-frontend vampire.inet)
-   (defhost dns-frontend vampire.inet)))
+(setf *default-zone-source* 'radius.distorted.org.uk.)
 
 ;;;--------------------------------------------------------------------------
 ;;; Main zone definition.
 
 (defzone distorted.org.uk
-  ;;
+
   ;; Nameservers.
-  :ns #+view/fretwank ((vampire.ns :ip vampire))
-      #-view/fretwank ((mythic-beasts-1.ns :ip mythic-ns1)
-                      (mythic-beasts-2.ns :ip mythic-ns2)
-                      (chiark.ns :ip chiark.greenend.org.uk)
-                      (radius.ns :ip radius.inet)
-                      (vampire.ns :ip vampire.inet))
-  ;;
+  :ns #+view/inside ((radius.ns :ip radius)
+                    (vampire.ns :ip vampire))
+      #-view/inside ((radius.ns :ip radius)
+                    (vampire.ns :ip vampire)
+                    (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)
    :mx mail
    :srv ((:smtp mail)))
-  ;;
+
+  ;; Kerberos.
+  (_kerberos :txt "DISTORTED.ORG.UK")
+  :srv (((:kerberos :protocol :udp) krb)
+       ((:kerberos-master :protocol :udp :port 88) krb)
+       (:kerberos-adm krb)
+       ((:kpasswd :protocol :udp) krb))
+
+  ;; Anycast services.  (Currently not implemented.)
+  (dns0 (unsafe :svc radius.unsafe)
+       (any :a dns0.any))
+  (dns1 (unsafe :svc vampire.unsafe)
+       (any :a dns1.any))
+  (ntp0 (unsafe :svc ibanez.unsafe)
+       (any :a ntp0.any))
+  (ntp1 (unsafe :svc vampire.unsafe)
+       (any :a ntp1.any))
+  (www-cache (dmz :svc vampire.dmz)
+            (unsafe :svc vampire.unsafe)
+            (any :a www-cache.any))
+  (dns :cname dns0)
+  (ntp :cname ntp0)
+  (wpad :cname www-cache)
+
   ;; Other services.
   :srv ((:http www)
        (:ftp ftp))
-  ;;
+
   ;; Entry is via little router box.
-  (inet :net inet)
-  (guvnor (inet :a guvnor.inet) (fretwank :svc gate.inet))
-  (gate (inet :a gate.inet))
-  (nat (inet :a nat.inet))
-  ;;
+  (dmz :net dmz)
+  (guvnor (inside :svc gate.dmz) (dmz :a guvnor.dmz))
+  (anon (dmz :a anon.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)
+
   ;; Local services.
-  :svc www-frontend
-  ((www ftp wiki git bugs mail db tor i2p rawk vox www-cache)
-   (inet :svc vampire.inet)
-   (fretwank :svc vampire))
-  ;;
+  :svc vampire
+  ((www krb ftp rsync wiki git bugs mail db i2p rawk vox)
+   :svc vampire)
+
   ;; Internal services.
-  ((ntp) (fretwank :svc ibanez))
-  ((wpad ntp1 news) (fretwank :svc vampire))
-  ;;
+  #+view/inside ((news lpr) :svc vampire.unsafe)
+
+  ;; Anonymity services.
+  (tor :svc #+view/inside vampire.unsafe
+           #-view/inside anon.dmz)
+
+  ;; 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))
+
   ;; Wired ethernet.
-  (fretwank :net fretwank)
-  (vampire (fretwank :a vampire)
-          (inet :a vampire.inet)
+  (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)
           (iodine :a vampire.iodine))
-  (obsidian (fretwank :a obsidian))
-  (ibanez (fretwank :a ibanez)
-         (inet :a ibanez.inet))
-  (radius (fretwank :a radius)
-         (inet :a radius.inet)
+  (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)
-           (inet :a roadstar.inet))
-  (jem (fretwank :a jem)
-       (inet :a jem.inet))
-  (artist (fretwank :a artist)
-         (inet :a artist.inet))
+  (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))
+
+  ;; 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))
   (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))
+
   ;; Delegations.
-  #+view/fretwank (dhcp :ns (vampire.ns))
-  (io :ns ((ns.io :ip dns-frontend))))
+  (dhcp :ns (radius.ns vampire.ns))
+  (io :ns ((ns.io :ip vampire))))
 
 ;;;--------------------------------------------------------------------------
 ;;; Other subsidiary zones.
 
 (defrevzone trusted
-  :ns ((vampire.ns :ip vampire))
-  :reverse trusted
-  #+view/fretwank (dhcp :ns (metalzone.ns vampire.ns))
-  #+view/fretwank (@ :cidr-delegation
-                    (dhcp
-                     (dhcp 199.29.172.dhcp.199.29.172.in-addr.arpa))))
-
-(defrevzone untrusted
-  :ns ((vampire.ns :ip vampire))
-  :reverse untrusted)
-
-(defrevzone inet
-  :reverse inet)
-
-(defzone dhcp.distorted.org.uk
-  :ns ((vampire.ns :ip vampire))
-  :net dhcp)
+  :ns ((radius.ns :ip radius)
+       (vampire.ns :ip vampire))
+  :reverse unsafe
+  :reverse vpn
+  :reverse colo
+  :reverse its
+  :reverse any
+  (dhcp :ns (radius.ns vampire.ns))
+  :cidr-delegation
+  (trusted ((dhcp safe) 199.29.172.dhcp.199.29.172.in-addr.arpa)))
+
+(defrevzone dmz
+  :ns ((radius.ns :ip radius)
+       (vampire.ns :ip vampire))
+  :reverse dmz)
+
+(defrevzone jump
+  :ns ((radius.ns :ip radius)
+       (vampire.ns :ip vampire))
+  :reverse jump)
 
 (defzone io.distorted.org.uk
-  :ns ((ns :ip dns-frontend))
+  :ns ((ns :ip vampire))
   (about :txt "Fake zone used for IP-over-DNS tunnelling."))
 
-(defzone dhcp.199.29.172.in-addr.arpa
-  :ns ((vampire.ns :ip vampire)))
-
 ;;;----- That's all, folks --------------------------------------------------