93d63c44bc08e491ea69c9021177d7abee0f5068
howto/lglass.md
... | ... | @@ -0,0 +1,91 @@ |
1 | +lglass is a Python software package designed for Internet Registries like the DN42. You can generate zone files for DNS and rDNS IPv4/v6, and handle the registry. It is available on GitHub as free software: |
|
2 | + |
|
3 | + $ git clone git://github.com/fritz0705/lglass.git |
|
4 | + |
|
5 | +## Links |
|
6 | +- [Fritz Gihub repo](https://github.com/fritz0705/lglass) |
|
7 | +- [lglass Manual](http://lglass.flonet.dn42/) |
|
8 | + |
|
9 | +## Running your own Whois daemon |
|
10 | + |
|
11 | +lglass provides an event-based whois daemon with internal caching, which was written in Python. It is very simple to run an instance: |
|
12 | + |
|
13 | + $ ./bin/lglass-whoisd |
|
14 | + |
|
15 | +without the configfile: |
|
16 | + |
|
17 | + $ ./bin/lglass-regtool whoisd -H $HOST -p $PORT |
|
18 | +. |
|
19 | + |
|
20 | + usage: lglass-whoisd [-h] [-4] [-6] [--host HOST] [--port PORT] |
|
21 | + [--cidr] [--no-cidr] [--inverse] [--no-inverse] |
|
22 | + |
|
23 | + optional arguments: |
|
24 | + -h, --help show this help message and exit |
|
25 | + -4 Listen on IPv4 |
|
26 | + -6 Listen on IPv6 |
|
27 | + --host HOST, -H HOST Listen on host |
|
28 | + --port PORT, -p PORT Listen on port |
|
29 | + --cidr, -c Perform CIDR matching on queries |
|
30 | + --no-cidr Do not perform CIDR matching on queries |
|
31 | + --inverse, -i Perform inverse matching on queries |
|
32 | + --no-inverse Do not perform inverse matching on queries |
|
33 | + |
|
34 | + |
|
35 | +## Generate zone files |
|
36 | + |
|
37 | +lglass also provides a script to generate zone files from the registry. It's named zonegen.py and requires a registry dump from Monotone. |
|
38 | + |
|
39 | +To generate DNS zones: |
|
40 | + |
|
41 | + $ ./bin/lglass-zonegen -d $PATH_TO_DATA_DIR -n ns1... -n ns2... -e foo.bar.com dns -z dn42 |
|
42 | + |
|
43 | +To generate IPv4 rDNS zones: |
|
44 | + |
|
45 | + $ ./bin/lglass-zonegen -d $PATH_TO_DATA_DIR -n ns1... -n ns2... -e foo.bar.com rdns4 -N 172.22.0.0/16 |
|
46 | + |
|
47 | +To generate IPv6 rDNS zones: |
|
48 | + |
|
49 | + $ ./bin/lglass-zonegen -d $PATH_TO_DATA_DIR -n ns1... -n ns2... -e foo.bar.com rdns6 -N fd00::/8 |
|
50 | + |
|
51 | +## Reformat RPSL files |
|
52 | + |
|
53 | +You can also reformat RPSL files using lglass by using the lglass.rpsl module: |
|
54 | + |
|
55 | + $ ./bin/lglass-rpsl < $DATA/inetnum/172.22.0.53_32 |
|
56 | + |
|
57 | +lglass.rpsl also supports in-place operation: |
|
58 | + |
|
59 | + $ ./bin/lglass-rpsl -i $DATA/inetnum/172.22.0.53_32 |
|
60 | + |
|
61 | +This opens the file, reads the content into memory, seeks to position 0, writes the formatted object and truncates the file. |
|
62 | +Simple web interface |
|
63 | + |
|
64 | +lglass also comes with a simple web interface written in Python3 using Bottle and Jinja2. It also provides a binary to run it using wsgiref: |
|
65 | + |
|
66 | + $ ./bin/lglass-web |
|
67 | + |
|
68 | +Furthermore you can use any WSGI server like Gunicorn by using lglass.web.application:app as WSGI callback. You can provide a path to the configuration file in the environment variable `LGLASS_WEB_CFG`. |
|
69 | + |
|
70 | +## Configuration |
|
71 | + |
|
72 | +The configuration file format is JSON and allows configuration of the database chain, the listen parameters, the custom messages and the process management. |
|
73 | + |
|
74 | +| Option | Meaning | |
|
75 | +|----------|:-------------| |
|
76 | +| listen.host |IP address for listening socket (Default: ::)| |
|
77 | +|listen.port|TCP port for listening socket (Default: 4343)| |
|
78 | +|listen.protocol|Protocol for listening socket (4 or 6, by default 6)| |
|
79 | +|database|Array of database URLs to initialize database chain| |
|
80 | +|database.types|Array of object types in database (Default: undefined)<br/>Default chain:<br/>[<br/> "whois+lglass.database.file+file:.",<br/> "whois+lglass.database.cidr+cidr:",<br/> "whois+lglass.database.schema+schema:",<br/> "whois+lglass.database.cache+cached:"<br/>]| |
|
81 | +|messages.preamble|String preamble for whois responses| |
|
82 | +|messages.help|String help message for help requests| |
|
83 | +|process.user|User to change after initialization| |
|
84 | +|process.group|Group to change after initialization| |
|
85 | +|process.pidfile|Path to PID file| |
|
86 | + |
|
87 | +## RPSL |
|
88 | +- Routing Policy Specification Language [RFC2622](https://tools.ietf.org/html/rfc2622) |
|
89 | +- Routing Policy Specification Language next generation (RPSLng) [RFC4012](https://tools.ietf.org/html/rfc4012) |
|
90 | +- <http://www.ripe.net/data-tools/db/rpsl> |
|
91 | +- <http://www.ripe.net/data-tools/db/rpsl/transition-to-rpsl-version-of-the-ripe-database> |
internal/lglass.md
... | ... | @@ -1,91 +0,0 @@ |
1 | -lglass is a Python software package designed for Internet Registries like the DN42. You can generate zone files for DNS and rDNS IPv4/v6, and handle the registry. It is available on GitHub as free software: |
|
2 | - |
|
3 | - $ git clone git://github.com/fritz0705/lglass.git |
|
4 | - |
|
5 | -## Links |
|
6 | -- [Fritz Gihub repo](https://github.com/fritz0705/lglass) |
|
7 | -- [lglass Manual](http://lglass.flonet.dn42/) |
|
8 | - |
|
9 | -## Running your own Whois daemon |
|
10 | - |
|
11 | -lglass provides an event-based whois daemon with internal caching, which was written in Python. It is very simple to run an instance: |
|
12 | - |
|
13 | - $ ./bin/lglass-whoisd |
|
14 | - |
|
15 | -without the configfile: |
|
16 | - |
|
17 | - $ ./bin/lglass-regtool whoisd -H $HOST -p $PORT |
|
18 | -. |
|
19 | - |
|
20 | - usage: lglass-whoisd [-h] [-4] [-6] [--host HOST] [--port PORT] |
|
21 | - [--cidr] [--no-cidr] [--inverse] [--no-inverse] |
|
22 | - |
|
23 | - optional arguments: |
|
24 | - -h, --help show this help message and exit |
|
25 | - -4 Listen on IPv4 |
|
26 | - -6 Listen on IPv6 |
|
27 | - --host HOST, -H HOST Listen on host |
|
28 | - --port PORT, -p PORT Listen on port |
|
29 | - --cidr, -c Perform CIDR matching on queries |
|
30 | - --no-cidr Do not perform CIDR matching on queries |
|
31 | - --inverse, -i Perform inverse matching on queries |
|
32 | - --no-inverse Do not perform inverse matching on queries |
|
33 | - |
|
34 | - |
|
35 | -## Generate zone files |
|
36 | - |
|
37 | -lglass also provides a script to generate zone files from the registry. It's named zonegen.py and requires a registry dump from Monotone. |
|
38 | - |
|
39 | -To generate DNS zones: |
|
40 | - |
|
41 | - $ ./bin/lglass-zonegen -d $PATH_TO_DATA_DIR -n ns1... -n ns2... -e foo.bar.com dns -z dn42 |
|
42 | - |
|
43 | -To generate IPv4 rDNS zones: |
|
44 | - |
|
45 | - $ ./bin/lglass-zonegen -d $PATH_TO_DATA_DIR -n ns1... -n ns2... -e foo.bar.com rdns4 -N 172.22.0.0/16 |
|
46 | - |
|
47 | -To generate IPv6 rDNS zones: |
|
48 | - |
|
49 | - $ ./bin/lglass-zonegen -d $PATH_TO_DATA_DIR -n ns1... -n ns2... -e foo.bar.com rdns6 -N fd00::/8 |
|
50 | - |
|
51 | -## Reformat RPSL files |
|
52 | - |
|
53 | -You can also reformat RPSL files using lglass by using the lglass.rpsl module: |
|
54 | - |
|
55 | - $ ./bin/lglass-rpsl < $DATA/inetnum/172.22.0.53_32 |
|
56 | - |
|
57 | -lglass.rpsl also supports in-place operation: |
|
58 | - |
|
59 | - $ ./bin/lglass-rpsl -i $DATA/inetnum/172.22.0.53_32 |
|
60 | - |
|
61 | -This opens the file, reads the content into memory, seeks to position 0, writes the formatted object and truncates the file. |
|
62 | -Simple web interface |
|
63 | - |
|
64 | -lglass also comes with a simple web interface written in Python3 using Bottle and Jinja2. It also provides a binary to run it using wsgiref: |
|
65 | - |
|
66 | - $ ./bin/lglass-web |
|
67 | - |
|
68 | -Furthermore you can use any WSGI server like Gunicorn by using lglass.web.application:app as WSGI callback. You can provide a path to the configuration file in the environment variable `LGLASS_WEB_CFG`. |
|
69 | - |
|
70 | -## Configuration |
|
71 | - |
|
72 | -The configuration file format is JSON and allows configuration of the database chain, the listen parameters, the custom messages and the process management. |
|
73 | - |
|
74 | -| Option | Meaning | |
|
75 | -|----------|:-------------| |
|
76 | -| listen.host |IP address for listening socket (Default: ::)| |
|
77 | -|listen.port|TCP port for listening socket (Default: 4343)| |
|
78 | -|listen.protocol|Protocol for listening socket (4 or 6, by default 6)| |
|
79 | -|database|Array of database URLs to initialize database chain| |
|
80 | -|database.types|Array of object types in database (Default: undefined)<br/>Default chain:<br/>[<br/> "whois+lglass.database.file+file:.",<br/> "whois+lglass.database.cidr+cidr:",<br/> "whois+lglass.database.schema+schema:",<br/> "whois+lglass.database.cache+cached:"<br/>]| |
|
81 | -|messages.preamble|String preamble for whois responses| |
|
82 | -|messages.help|String help message for help requests| |
|
83 | -|process.user|User to change after initialization| |
|
84 | -|process.group|Group to change after initialization| |
|
85 | -|process.pidfile|Path to PID file| |
|
86 | - |
|
87 | -## RPSL |
|
88 | -- Routing Policy Specification Language [RFC2622](https://tools.ietf.org/html/rfc2622) |
|
89 | -- Routing Policy Specification Language next generation (RPSLng) [RFC4012](https://tools.ietf.org/html/rfc4012) |
|
90 | -- <http://www.ripe.net/data-tools/db/rpsl> |
|
91 | -- <http://www.ripe.net/data-tools/db/rpsl/transition-to-rpsl-version-of-the-ripe-database> |
services/Whois.md
... | ... | @@ -75,7 +75,7 @@ The idea comes from the guys at cymru.com, who provide this service for the Inte |
75 | 75 | |
76 | 76 | # Software |
77 | 77 | |
78 | - * [lglass](/internal/lglass) is a python implementation for working with the registry. It features a whois server, tools to manipulate the data (DNS zone generation, etc). |
|
78 | + * [lglass](/howto/lglass) is a python implementation for working with the registry. It features a whois server, tools to manipulate the data (DNS zone generation, etc). |
|
79 | 79 | * [whois42d](https://git.dn42.dev/registry/whois42d) written in golang, lightweight/fast, whois server with support for all registry objects, type filtering and systemd socket activation. |
80 | 80 | |
81 | 81 | # Whois daemons |