chiark / gitweb /
hosts.lisp, distorted.lisp: Allocate an IPv6 range for DHCP.
[zones] / hosts.lisp
1 ;;; -*-lisp-*-
2 ;;;
3 ;;; distorted.org.uk hosts and networks, and other useful addresses.
4
5 ;;;--------------------------------------------------------------------------
6 ;;; External hosts.
7
8 (defhost boyle.nsict.org ((:ipv4 "85.158.42.162")))
9 (defhost chiark.greenend.org.uk ((:ipv4 "212.13.197.229")
10                                  (:ipv6 "2001:ba8:1e3::")))
11 (defhost mccoy.flatline.org.uk "80.74.241.31")
12 (defhost mythic-ns1 ((:ipv4 "45.33.127.156")
13                      (:ipv6 "2600:3c00::f03c:91ff:fe96:beac")))
14 (defhost mythic-ns2 ((:ipv4 "93.93.128.67")
15                      (:ipv6 "2a00:1098:0:80:1000::10")))
16 (defhost mythic-ns3 ((:ipv4 "185.24.221.32")
17                      (:ipv6 "2a02:2770:11:0:21a:4aff:febe:759b")))
18 (defhost gandi-ns6 ((:ipv4 "217.70.177.40")))
19
20 ;;;--------------------------------------------------------------------------
21 ;;; Internal addresses.
22
23 ;; (RFC1918 addresses are allocated from Cambridge G-RIN.)
24 (defnet distorted.org.uk "172.29.198/23"
25   (untrusted "198.0/24"
26     (wireless "0/25")
27     (iodine "128/28")
28     (upn "160/27"))
29   (trusted "199.0/24"
30     (wired "0/25"
31       (unsafe "0/27")
32       (dhcp "32/27"))
33     (vpn "128/27")
34     (its "160/30")
35     (colo "176/28")
36     (safe "192/27")
37     (any "224/27")))
38
39 ;; Externally routable DMZ from Andrews and Arnold.
40 (defnet gw "81.2.113.195")
41 (defnet dmz "81.187.238.128/28")
42 (defnet distorted.org.uk-aaisp "2001:8b0:c92/48"
43   (unsafe "1/64"
44     (dhcp "6468:6370/96"))
45   (dmz "fff/64")
46   (safe "4001/64")
47   (untrusted "8001/64"))
48
49 ;; Externally routed colo range.
50 (defnet jump "212.13.198.66/28")
51 (defnet jump "2001:ba8:0:1d9/64")
52 (defnet distorted.org.uk-jump "2001:ba8:1d9/48"
53   (colo "2/64")
54   (any "0/64")
55   (vpn "6000/64")
56   (upn "a000/64"))
57
58 ;;;--------------------------------------------------------------------------
59 ;;; Host allocations
60
61 ;; External addresses.
62 (defhost guvnor.dmz ((:ipv4 gw 0) (:ipv6 dmz "::1:1")))
63 (defhost radius.dmz (dmz 1))
64 (defhost roadstar.dmz (dmz 2))
65 (defhost jem.dmz (dmz 3))
66 (defhost artist.dmz (dmz 4))
67 (defhost vampire.dmz (dmz 5))
68 (defhost universe.dmz (dmz 6))
69 (defhost ibanez.dmz (dmz 9))
70 (defhost anon.dmz (dmz 12))
71 (defhost nat.dmz ((:ipv4 dmz 14)))
72
73 ;; Colocated addresses.
74 (defhost gate.jump ((:ipv6 jump 2)))
75 (defhost fender.jump (jump 5))
76 (defhost precision.jump (jump 6))
77 (defhost telecaster.jump (jump 7))
78 (defhost stratocaster.jump (jump 8))
79 (defhost jazz.jump (jump 9))
80 (defhost jaguar.jump ((:ipv4 jump 11) (:ipv6 jump "::2:1")))
81 (defhost richmond.jump ((:ipv4 jump 12) (:ipv6 jump "::1:1")))
82 (defhost anon.jump (jump 13))
83 (defhost blackhole.jump ((:ipv4 jump 14) (:ipv6 jump "::ffff")))
84
85 ;; Linode virtual hosts.
86 (defhost national.linode ((:ipv4 "45.33.118.239")
87                           (:ipv6 "2600:3c00::f03c:91ff:fe3b:d7c1")))
88
89 ;; Unsafe network.
90 (defhost radius.unsafe (unsafe 1))
91 (defhost roadstar.unsafe (unsafe 2))
92 (defhost jem.unsafe (unsafe 3))
93 (defhost artist.unsafe (unsafe 4))
94 (defhost vampire.unsafe (unsafe 5))
95 (defhost universe.unsafe (unsafe 6))
96 (defhost ibanez.unsafe (unsafe 14))
97 (defhost groove.unsafe (unsafe 17))
98
99 ;; Client hosts, with IPv6 addresses.
100 (defhost gibson.unsafe ((:ipv6 unsafe "e269:95ff:fe63:bb4")))
101 (defhost crybaby.unsafe ((:ipv6 unsafe "216:eaff:fec2:4cb8")))
102 (defhost lespaul.unsafe ((:ipv6 unsafe "a00:27ff:fef5:aaef")))
103 (defhost haze.unsafe ((:ipv6 unsafe "5056:a8ff:fe01:5654")))
104 (defhost gretsch.unsafe ((:ipv6 unsafe "3a2c:4aff:fe6d:e768")))
105 (defhost invader.safe ((:ipv6 safe "a00:27ff:fe94:a5d7")))
106 (defhost marauder.safe ((:ipv6 safe "a00:27ff:fe6a:7846")))
107
108 ;; Safe network.
109 (defhost radius.safe (safe 1))
110 (defhost vampire.safe (safe 2))
111 (defhost evolution.safe (safe 3))
112 (defhost grigsby.safe (safe 4))
113 (defhost carling.safe (safe 5))
114 (defhost tritan.safe (safe 6))
115
116 ;; Wireless network.
117 (defhost radius.untrusted (untrusted 1))
118 (defhost artist.untrusted (untrusted 2))
119 (defhost vampire.untrusted (untrusted 3))
120
121 ;; Virtual private network.
122 (defhost crybaby.vpn ((:ipv4 vpn 1) (:ipv6 vpn "::1:1")))
123 (defhost terror.vpn ((:ipv4 vpn 2)))
124 (defhost orange.vpn ((:ipv4 vpn 3) (:ipv6 vpn "::3:1")))
125 (defhost haze.vpn ((:ipv4 vpn 4) (:ipv6 vpn "::4:1")))
126 (defhost radius.vpn ((:ipv4 vpn 5) (:ipv6 vpn "::5:1")))
127 (defhost precision.vpn ((:ipv4 vpn 6) (:ipv6 vpn "::6:1")))
128 (defhost jazz.vpn ((:ipv4 vpn 7) (:ipv6 vpn "::7:1")))
129 (defhost vampire.vpn ((:ipv4 vpn 8) (:ipv6 vpn "::8:1")))
130
131 ;; Untrusted private network.
132 (defhost national.upn ((:ipv4 upn 1) (:ipv6 upn "::1:1")))
133
134 ;; Iodine network.
135 (defhost jazz.iodine (iodine 1))
136
137 ;; Special network for ITS.
138 ;; It doesn't understand point-to-point links, so we need a little net.
139 (defhost gw.its (its 1))
140 (defhost mz.its (its 2))
141
142 ;; Internal (VPN) addresses for colocated services.
143 (defhost fender.colo (colo 1))
144 (defhost precision.colo (colo 2))
145 (defhost telecaster.colo (colo 3))
146 (defhost stratocaster.colo (colo 4))
147 (defhost jazz.colo (colo 5))
148
149 ;; Anycast addresses for services.
150 (defhost dns0.any ((:ipv4 any 0) (:ipv6 any "::0:1")))
151 (defhost dns1.any ((:ipv4 any 1) (:ipv6 any "::1:1")))
152 (defhost ntp0.any ((:ipv4 any 2) (:ipv6 any "::2:1")))
153 (defhost ntp1.any ((:ipv4 any 3) (:ipv6 any "::3:1")))
154 (defhost www-cache.any ((:ipv4 any 4) (:ipv6 any "::4:1")))
155 (defhost krb0.any ((:ipv4 any 5) (:ipv6 any "::5:1")))
156 (defhost krb1.any ((:ipv4 any 6) (:ipv6 any "::6:1")))
157
158 ;;;--------------------------------------------------------------------------
159 ;;; Host switch.
160
161 (preferred-subnet-case
162   ((unsafe colo)
163    (defhost radius radius.unsafe)
164    (defhost vampire vampire.unsafe)
165    (defhost precision precision.colo)
166    (defhost telecaster telecaster.colo)
167    (defhost stratocaster stratocaster.colo)
168    (defhost national national.upn))
169   (t
170    (defhost radius radius.dmz)
171    (defhost vampire vampire.dmz)
172    (defhost precision precision.jump)
173    (defhost telecaster telecaster.jump)
174    (defhost stratocaster stratocaster.jump)
175    (defhost national national.linode)))
176
177 (defhost jaguar jaguar.jump)
178
179 ;;;----- That's all, folks --------------------------------------------------