chiark / gitweb /
Makefile, distorted.lisp: Deploy anycast services.
[zones] / distorted.lisp
1 ;;; Zone file for distorted.org.uk
2
3 (load "hosts.lisp" :verbose nil)
4
5 ;;;--------------------------------------------------------------------------
6 ;;; Other definitions.
7
8 (setf *default-zone-admin* "hostmaster@distorted.org.uk")
9
10 (setf *default-zone-source* 'radius.distorted.org.uk.)
11
12 ;;;--------------------------------------------------------------------------
13 ;;; Main zone definition.
14
15 (defzone distorted.org.uk
16
17   ;; Nameservers.
18   :ns #+view/inside ((radius.ns :ip radius)
19                      (precision.ns :ip precision)
20                      (vampire.ns :ip vampire))
21       #-view/inside ((radius.ns :ip radius)
22                      (precision.ns :ip precision)
23                      (mythic-beasts-1.ns :ip mythic-ns1)
24                      (mythic-beasts-2.ns :ip mythic-ns2)
25                      (chiark.ns :ip chiark.greenend.org.uk))
26
27   ;; Mail servers.
28   ((@ mail lists bugs cryptomail)
29    :mx mail
30    :srv ((:smtp mail)))
31
32   ;; Kerberos.
33   (_kerberos :txt "DISTORTED.ORG.UK")
34   :srv (((:kerberos :protocol :udp) krb)
35         ((:kerberos-master :protocol :udp :port 88) krb)
36         (:kerberos-adm krb)
37         ((:kpasswd :protocol :udp) krb))
38
39   ;; Anycast services.
40   (dns0 (any :a dns0.any)
41         (jump :svc precision.jump)
42         (dmz :svc radius.dmz)
43         (unsafe :svc radius.unsafe)
44         (colo :svc precision.colo))
45   (dns1 (any :a dns1.any)
46         (jump :svc telecaster.jump)
47         (dmz :svc vampire.dmz)
48         (unsafe :svc vampire.unsafe)
49         (colo :svc telecaster.colo))
50   (ntp0 (any :a ntp0.any)
51         (jump :svc fender.jump)
52         (dmz :svc ibanez.dmz)
53         (unsafe :svc ibanez.unsafe)
54         (colo :svc fender.colo))
55   (ntp1 (any :a ntp1.any)
56         (dmz :svc vampire.dmz)
57         (unsafe :svc vampire.unsafe))
58   (www-cache (any :a www-cache.any)
59              (jump :svc telecaster.jump)
60              (dmz :svc vampire.dmz)
61              (unsafe :svc vampire.unsafe)
62              (colo :svc telecaster.colo))
63   (dns :cname dns0)
64   (ntp :cname ntp0)
65   (wpad :cname www-cache)
66
67   ;; Other services.
68   :srv ((:http www)
69         (:ftp ftp))
70
71   ;; Entry is via little router box.
72   (dmz :net dmz)
73   (guvnor (inside :svc gate.dmz) (dmz :a guvnor.dmz))
74   (anon (dmz :a anon.dmz))
75   (gate (dmz :a gate.dmz))
76   (nat (dmz :a nat.dmz))
77
78   ;; Wireless gateway.
79   (wireless :net wireless)
80   (evolution (safe :a evolution.safe))
81   (evolution :alias evo)
82
83   ;; Colocated services.
84   (irc (colo :svc stratocaster.colo)
85        (jump :svc stratocaster.jump))
86
87   ;; Local services.
88   :svc vampire
89   ((www krb ftp rsync wiki git bugs mail db i2p rawk vox)
90    :svc vampire)
91
92   ;; Internal services.
93   #+view/inside ((news lpr) :svc vampire.unsafe)
94
95   ;; Anonymity services.
96   (tor :svc #+view/inside vampire.unsafe
97             #-view/inside anon.dmz)
98
99   ;; Fancy connectivity.
100   (iodine (dmz :a iodine.dmz))
101
102   ;; Colocated hosts.
103   (colo :net colo)
104   (jump :net jump)
105   (fender (colo :a fender.colo)
106           (jump :a fender.jump))
107   (precision (colo :a precision.colo)
108              (jump :a precision.jump))
109   (telecaster (colo :a telecaster.colo)
110               (jump :a telecaster.jump))
111   (telecaster :alias tele)
112   (stratocaster (colo :a stratocaster.colo)
113                 (jump :a stratocaster.jump))
114   (stratocaster :alias strat)
115   (jazz (colo :a jazz.colo)
116         (jump :a jazz.jump))
117
118   ;; Nicko's server.
119   (richmond (jump :a richmond.jump))
120
121   ;; Wired ethernet.
122   (unsafe :net unsafe)
123   (safe :net safe)
124   (untrusted :net untrusted)
125   (vampire (unsafe :a vampire.unsafe)
126            (dmz :a vampire.dmz)
127            (safe :a vampire.safe)
128            (untrusted :a vampire.untrusted)
129            (iodine :a vampire.iodine))
130   (ibanez (unsafe :a ibanez.unsafe)
131           (dmz :a ibanez.dmz))
132   (radius (unsafe :a radius.unsafe)
133           (dmz :a radius.dmz)
134           (safe :a radius.safe)
135           (untrusted :a radius.untrusted))
136   (roadstar (unsafe :a roadstar.unsafe)
137             (dmz :a roadstar.dmz))
138   (jem (unsafe :a jem.unsafe)
139        (dmz :a jem.dmz))
140   (artist (unsafe :a artist.unsafe)
141           (dmz :a artist.dmz))
142
143   ;; DHCP hosts.
144   (gibson :cname gibson.dhcp)
145   (lespaul :cname lespaul.dhcp)
146   (firebird :cname firebird.dhcp)
147   (marauder :cname marauder.dhcp)
148   (invader :cname invader.dhcp)
149
150   ;; Virtual network.
151   (vpn :net vpn)
152   (crybaby (vpn :a crybaby.vpn))
153   (terror (vpn :a terror.vpn))
154   (iodine :net iodine)
155
156   ;; ITS.
157   (its :net its)
158   (gw (its :a gw.its))
159   (mz (its :a mz.its))
160
161   ;; Strange things.
162   (blackhole (jump :a blackhole.jump))
163
164   ;; Delegations.
165   (dhcp :ns ((radius.ns.dhcp :ip radius)
166              (precision.ns.dhcp :ip precision)
167              (vampire.ns.dhcp :ip vampire)))
168   (dnserr :ns ((radius.ns.dnserr :ip radius.dmz)
169                (precision.ns.dnserr :ip precision.jump)
170                (vampire.ns.dnserr :ip vampire.dmz)))
171   (io :ns ((ns.io :ip iodine.dmz))))
172
173 ;;;--------------------------------------------------------------------------
174 ;;; Other subsidiary zones.
175
176 (defrevzone trusted
177   :ns ((radius.ns :ip radius)
178        (precision.ns :ip precision)
179        (vampire.ns :ip vampire))
180   :reverse unsafe
181   :reverse vpn
182   :reverse colo
183   :reverse its
184   :reverse any
185   (dhcp :ns ((radius.ns.dhcp :ip radius)
186              (precision.ns.dhcp :ip precision)
187              (vampire.ns.dhcp :ip vampire)))
188   :cidr-delegation
189   (trusted ((dhcp safe) 199.29.172.dhcp.199.29.172.in-addr.arpa)))
190
191 (defrevzone dmz
192   :ns ((radius.ns :ip radius)
193        (precision.ns :ip precision)
194        (vampire.ns :ip vampire))
195   :reverse dmz)
196
197 (defrevzone jump
198   :ns ((radius.ns :ip radius)
199        (precision.ns :ip precision)
200        (vampire.ns :ip vampire))
201   :reverse jump)
202
203 (defzone io.distorted.org.uk
204   :ns ((ns :ip vampire))
205   (about :txt "Fake zone used for IP-over-DNS tunnelling."))
206
207 ;;;----- That's all, folks --------------------------------------------------