services/Services-Whois.md
... ...
@@ -1,145 +0,0 @@
1
-# Whois registry
2
-**aka** _The registry_ contains:
3
-
4
- * AS numbers assignations
5
- * Subnet assignations
6
- * DNS root zone for `dn42.`
7
-
8
-## Names and numbers
9
-
10
-dn42 uses some names and numbers, which are declared in the registry. Whenever possible, we try to stick to names and numbers that do not conflict with the ICANN-net or other networks similar to dn42, for instance by using private numbers space.
11
-
12
-### Address space
13
-
14
-dn42 uses **172.22.0.0/15** for IPv4.
15
-
16
-For IPv6, we use both ULA (that is, **fd00::/8**) and globally unique PI/PA address space of participants. ULA is prefered for various reasons, see the [FAQ](Frequently-Asked-Questions#What-about-IPv6-in-DN42?).
17
-
18
-### AS numbers
19
-
20
-Since June 2014, dn42 is using the **4242420000-4242429999** ASN range for allocations. This range is further subdivided:
21
-* **4242420000-4242423999** for end-users allocations
22
-* **4242424000-4242426999** reserved for future use
23
-* **4242427000-4242429999** for sub-allocations
24
-
25
-If you are running a project similar to dn42, please use another range of ASN. The "sub-allocations" range is meant for dn42 users willing to have administrative control over a small, consecutive range of ASN (e.g. to use them directly or to distribute them).
26
-
27
-Note that currently, most AS are using one of the legacy ASN range (and will probably continue to do so, as renumbering is painful). See the [FAQ](Frequently-Asked-Questions#Why-are-you-using-ASN-in-the-76100-76199-range?) for a discussion on AS ranges.
28
-
29
-### DNS zones
30
-
31
-dn42 uses the `dn42.` TLD, which is not present in the root DNS zone of the ICANN-net. For details, see [DNS](Services-DNS).
32
-
33
-Note that other TLDs should also be usable from dn42, most notably from Freifunk and ChaosVPN. A tentative list is available at [External DNS](External-DNS).
34
-
35
-## Web interface
36
-
37
-Nixnodes provides a nice web interface, that allows you to **add/edit records** easily. It is available at https://io.nixnodes.net/?registry. A full guide is available at [Getting started](Getting-started-with-dn42#Fill-in-the-registry).
38
-
39
-### Authentication
40
-
41
-To add or edit records with the web interface, authentication is done thanks to **maintainer objects**. Each maintainer object has a password associated to it.
42
-
43
-The password are not stored in cleartext in the registry: a hash is computed from the password and the name of the maintainer object. To generate such a hash (e.g. in case you forgot your password), use https://io.nixnodes.net/nctlio.php?m=dnr&gen=mypassword&mnt=MYMAINTAINER-MNT
44
-
45
-### Misc
46
-
47
-A read-only interface is also available at http://ix.ucis.dn42/dn42/ ([public](http://ix.ucis.nl/dn42/) or 172.22.166.3). The used PHP scripts are available from UFO a.k.a. Ivo at request.
48
-
49
-## DNS interface
50
-
51
-There is also a DNS-based interface to query AS information from the registry. The DNS zone is `asn.dn42`. Example:
52
-
53
- $ dig +short AS76103.asn.dn42 TXT
54
- "76103 | DN42 | dn42 | | NIXNODES-IX - NixNodes CORE Network"
55
-
56
-The Python code for generating the zone from the registry is available on the monotone repository.
57
-
58
-The idea comes from the guys at cymru.com, who provide this service for the Internet (e.g. `AS1.asn.cymru.com`), see https://www.team-cymru.org/Services/ip-to-asn.html#dns
59
-
60
-## Address space
61
-
62
-There is nice 3djs visualisation showing current address space usage: http://dataviz.polynome.dn42/dn42-netblock-visu/registry.html ([public](http://109.24.208.244:8888/dn42-netblock-visu/registry.html) or 172.23.184.98). The input data is taken from the registry.
63
-
64
-Another visualisation shows the prefixes seen by BGP: http://dataviz.polynome.dn42/dn42-netblock-visu/index.html ([public](http://109.24.208.244:8888/dn42-netblock-visu/index.html) or 172.23.184.98).
65
-
66
-## Software
67
-
68
- * [[lglass]] is a python implementation for working with the registry. It features a whois server, tools to manipulate the data (DNS zone generation, etc).
69
-
70
-## Whois daemons
71
-
72
-| **person** | **dns** | **ip** |
73
-|------------|---------------------------|-----------------|
74
-| welterde | thinkbase.srv.welterde.de | 46.4.248.201 |
75
-| fritz | whois.fritz.dn42 | 172.22.119.139 |
76
-| nixnodes | whois.nixnodes.dn42 | 172.22.177.77 |
77
-
78
-### Usage
79
-```sh
80
-whois -h $host $query
81
-```
82
-### Using a whois config
83
-```sh
84
-$ cat /etc/whois.conf
85
-\.dn42$ 172.22.177.77
86
-\-DN42$ 172.22.177.77
87
-# dn42 range 64512-65534
88
-^as6(4(5(1[2-9]|[2-9][0-9])|[6-9][0-9]{2})|5([0-4][0-9]{2}|5([0-2][0-9]|3[0-4])))$ 172.22.177.77
89
-# dn42 range 76100-76199
90
-^as761[0-9][0-9]$ 172.22.177.77
91
-# dn42 range 4242420000-4242429999
92
-^as424242[0-9]{4}$ 172.22.177.77
93
-# dn42 ipv4 address space
94
-^172\.2[2-3]\.[0-9]{1,3}\.[0-9]{1,3}(/(1[56789]|2[0-9]|3[012]))?$ 172.22.177.77
95
-
96
-# dn42 ula ipv6 address space
97
-fd**:****:****:****:****:****:****:**** 172.22.177.77
98
-
99
-```
100
-You can then use whois without specifying the server. Works at least with Marco d'Itri's whois client.
101
-
102
-### Running your own whoisd
103
-```sh
104
-cd /home/some/path/to/store/branch
105
-sudo aptitude install ruby rubygems
106
-sudo gem install netaddr
107
-cd whoisd/ruby
108
-sudo ruby whoisd.rb nobody
109
-```
110
-
111
-## Monotone
112
-Monotone is an distributed revision control system. Monotone tracks revisions to files, groups sets of revisions into changesets, and tracks history across renames. The design principle is distributed operation making heavy use of cryptographic primitives to track file revisions (via the SHA-1 secure hash) and to authenticate user actions (via RSA cryptographic signatures). Each participant maintains their own revision history store in a local SQLite database. Monotone is especially strong in its support of a diverge/merge workflow, which it achieves in part by always allowing commit before merge. Revisions are exchanged using the custom netsync protocol which shares some conceptual ground with rsync and cvs.
113
- * [Website](http://monotone.ca/)
114
- * [Tutorial](http://monotone.ca/docs/Tutorial.html)
115
-
116
-### Monotone servers
117
-
118
-| Person | Address | Status |
119
-|----------|----------------------------------------|--------|
120
-| crest | mtn.crest.dn42 | UP |
121
-| dracoling | dn42.smrsh.net (net.smrsh.dn42) | UP |
122
-| siska | mtn.nixnodes.net / mtn.nixnodes.dn42 (172.22.177.77) | UP |
123
-| xuu | mtn.xuu.dn42 (172.22.141.248) | UP |
124
-| zorun | mtn.polyno.me / mtn.polynome.dn42 (172.23.184.71| UP |
125
-
126
-### Monotone branches
127
- * net.dn42.registry: Contains the registry and some related code
128
-
129
-### Client setup
130
-```sh
131
-mtn genkey [email protected]
132
-mtn pubkey [email protected] # send the output to some $monotone_server operator (do NOT send the keypair!)
133
-mtn clone 'mtn://$monotone_server/?net.dn42.*' --branch net.dn42.registry
134
-cd net.dn42.registry
135
-$add_your_objects
136
-mtn add --unknown
137
138
-mtn sync
139
-```
140
-
141
-### Server setup
142
-
143
-Debian has a package "monotone-server", with config located in "/etc/monotone".
144
-
145
-Pro-tip: monotone seems to use `SO_V6ONLY`, which is annoying. To bind to both IPv4 and IPv6, use `ADDRESS=":: --bind 0.0.0.0"` in `/etc/default/monotone`.
services/Whois.md
... ...
@@ -0,0 +1,145 @@
1
+# Whois registry
2
+**aka** _The registry_ contains:
3
+
4
+ * AS numbers assignations
5
+ * Subnet assignations
6
+ * DNS root zone for `dn42.`
7
+
8
+## Names and numbers
9
+
10
+dn42 uses some names and numbers, which are declared in the registry. Whenever possible, we try to stick to names and numbers that do not conflict with the ICANN-net or other networks similar to dn42, for instance by using private numbers space.
11
+
12
+### Address space
13
+
14
+dn42 uses **172.22.0.0/15** for IPv4.
15
+
16
+For IPv6, we use both ULA (that is, **fd00::/8**) and globally unique PI/PA address space of participants. ULA is prefered for various reasons, see the [FAQ](Frequently-Asked-Questions#What-about-IPv6-in-DN42?).
17
+
18
+### AS numbers
19
+
20
+Since June 2014, dn42 is using the **4242420000-4242429999** ASN range for allocations. This range is further subdivided:
21
+* **4242420000-4242423999** for end-users allocations
22
+* **4242424000-4242426999** reserved for future use
23
+* **4242427000-4242429999** for sub-allocations
24
+
25
+If you are running a project similar to dn42, please use another range of ASN. The "sub-allocations" range is meant for dn42 users willing to have administrative control over a small, consecutive range of ASN (e.g. to use them directly or to distribute them).
26
+
27
+Note that currently, most AS are using one of the legacy ASN range (and will probably continue to do so, as renumbering is painful). See the [FAQ](Frequently-Asked-Questions#Why-are-you-using-ASN-in-the-76100-76199-range?) for a discussion on AS ranges.
28
+
29
+### DNS zones
30
+
31
+dn42 uses the `dn42.` TLD, which is not present in the root DNS zone of the ICANN-net. For details, see [DNS](Services-DNS).
32
+
33
+Note that other TLDs should also be usable from dn42, most notably from Freifunk and ChaosVPN. A tentative list is available at [External DNS](External-DNS).
34
+
35
+## Web interface
36
+
37
+Nixnodes provides a nice web interface, that allows you to **add/edit records** easily. It is available at https://io.nixnodes.net/?registry. A full guide is available at [Getting started](Getting-started-with-dn42#Fill-in-the-registry).
38
+
39
+### Authentication
40
+
41
+To add or edit records with the web interface, authentication is done thanks to **maintainer objects**. Each maintainer object has a password associated to it.
42
+
43
+The password are not stored in cleartext in the registry: a hash is computed from the password and the name of the maintainer object. To generate such a hash (e.g. in case you forgot your password), use https://io.nixnodes.net/nctlio.php?m=dnr&gen=mypassword&mnt=MYMAINTAINER-MNT
44
+
45
+### Misc
46
+
47
+A read-only interface is also available at http://ix.ucis.dn42/dn42/ ([public](http://ix.ucis.nl/dn42/) or 172.22.166.3). The used PHP scripts are available from UFO a.k.a. Ivo at request.
48
+
49
+## DNS interface
50
+
51
+There is also a DNS-based interface to query AS information from the registry. The DNS zone is `asn.dn42`. Example:
52
+
53
+ $ dig +short AS76103.asn.dn42 TXT
54
+ "76103 | DN42 | dn42 | | NIXNODES-IX - NixNodes CORE Network"
55
+
56
+The Python code for generating the zone from the registry is available on the monotone repository.
57
+
58
+The idea comes from the guys at cymru.com, who provide this service for the Internet (e.g. `AS1.asn.cymru.com`), see https://www.team-cymru.org/Services/ip-to-asn.html#dns
59
+
60
+## Address space
61
+
62
+There is nice 3djs visualisation showing current address space usage: http://dataviz.polynome.dn42/dn42-netblock-visu/registry.html ([public](http://109.24.208.244:8888/dn42-netblock-visu/registry.html) or 172.23.184.98). The input data is taken from the registry.
63
+
64
+Another visualisation shows the prefixes seen by BGP: http://dataviz.polynome.dn42/dn42-netblock-visu/index.html ([public](http://109.24.208.244:8888/dn42-netblock-visu/index.html) or 172.23.184.98).
65
+
66
+## Software
67
+
68
+ * [[lglass]] is a python implementation for working with the registry. It features a whois server, tools to manipulate the data (DNS zone generation, etc).
69
+
70
+## Whois daemons
71
+
72
+| **person** | **dns** | **ip** |
73
+|------------|---------------------------|-----------------|
74
+| welterde | thinkbase.srv.welterde.de | 46.4.248.201 |
75
+| fritz | whois.fritz.dn42 | 172.22.119.139 |
76
+| nixnodes | whois.nixnodes.dn42 | 172.22.177.77 |
77
+
78
+### Usage
79
+```sh
80
+whois -h $host $query
81
+```
82
+### Using a whois config
83
+```sh
84
+$ cat /etc/whois.conf
85
+\.dn42$ 172.22.177.77
86
+\-DN42$ 172.22.177.77
87
+# dn42 range 64512-65534
88
+^as6(4(5(1[2-9]|[2-9][0-9])|[6-9][0-9]{2})|5([0-4][0-9]{2}|5([0-2][0-9]|3[0-4])))$ 172.22.177.77
89
+# dn42 range 76100-76199
90
+^as761[0-9][0-9]$ 172.22.177.77
91
+# dn42 range 4242420000-4242429999
92
+^as424242[0-9]{4}$ 172.22.177.77
93
+# dn42 ipv4 address space
94
+^172\.2[2-3]\.[0-9]{1,3}\.[0-9]{1,3}(/(1[56789]|2[0-9]|3[012]))?$ 172.22.177.77
95
+
96
+# dn42 ula ipv6 address space
97
+fd**:****:****:****:****:****:****:**** 172.22.177.77
98
+
99
+```
100
+You can then use whois without specifying the server. Works at least with Marco d'Itri's whois client.
101
+
102
+### Running your own whoisd
103
+```sh
104
+cd /home/some/path/to/store/branch
105
+sudo aptitude install ruby rubygems
106
+sudo gem install netaddr
107
+cd whoisd/ruby
108
+sudo ruby whoisd.rb nobody
109
+```
110
+
111
+## Monotone
112
+Monotone is an distributed revision control system. Monotone tracks revisions to files, groups sets of revisions into changesets, and tracks history across renames. The design principle is distributed operation making heavy use of cryptographic primitives to track file revisions (via the SHA-1 secure hash) and to authenticate user actions (via RSA cryptographic signatures). Each participant maintains their own revision history store in a local SQLite database. Monotone is especially strong in its support of a diverge/merge workflow, which it achieves in part by always allowing commit before merge. Revisions are exchanged using the custom netsync protocol which shares some conceptual ground with rsync and cvs.
113
+ * [Website](http://monotone.ca/)
114
+ * [Tutorial](http://monotone.ca/docs/Tutorial.html)
115
+
116
+### Monotone servers
117
+
118
+| Person | Address | Status |
119
+|----------|----------------------------------------|--------|
120
+| crest | mtn.crest.dn42 | UP |
121
+| dracoling | dn42.smrsh.net (net.smrsh.dn42) | UP |
122
+| siska | mtn.nixnodes.net / mtn.nixnodes.dn42 (172.22.177.77) | UP |
123
+| xuu | mtn.xuu.dn42 (172.22.141.248) | UP |
124
+| zorun | mtn.polyno.me / mtn.polynome.dn42 (172.23.184.71| UP |
125
+
126
+### Monotone branches
127
+ * net.dn42.registry: Contains the registry and some related code
128
+
129
+### Client setup
130
+```sh
131
+mtn genkey [email protected]
132
+mtn pubkey [email protected] # send the output to some $monotone_server operator (do NOT send the keypair!)
133
+mtn clone 'mtn://$monotone_server/?net.dn42.*' --branch net.dn42.registry
134
+cd net.dn42.registry
135
+$add_your_objects
136
+mtn add --unknown
137
138
+mtn sync
139
+```
140
+
141
+### Server setup
142
+
143
+Debian has a package "monotone-server", with config located in "/etc/monotone".
144
+
145
+Pro-tip: monotone seems to use `SO_V6ONLY`, which is annoying. To bind to both IPv4 and IPv6, use `ADDRESS=":: --bind 0.0.0.0"` in `/etc/default/monotone`.