ALL-KNOWING-DNS(1p) | User Contributed Perl Documentation | ALL-KNOWING-DNS(1p) |
all-knowing-dns - Tiny DNS server for IPv6 Reverse DNS
all-knowing-dns [--configfile <path>] [--querylog]
AllKnowingDNS provides reverse DNS for IPv6 networks which use SLAAC (autoconf), e.g. for a /64 network.
The problem with IPv6 reverse DNS and traditional nameservers is that the nameserver requires you to provide a zone file. Assuming you want to provide RDNS for a /64 network, you have 2**64 = 18446744073709551616 different usable IP addresses (a little less if you are using SLAAC). Providing a zone file for that, even in a very terse notation, would consume a huge amount of disk space and could not possibly be held in the memory of the computers we have nowadays.
AllKnowingDNS instead generates PTR and AAAA records on the fly. You only configure which network you want to serve and what your entries should look like.
The configuration file is wonderfully simple:
# Configuration file for AllKnowingDNS v1.7 listen 79.140.39.197 listen 2001:4d88:100e:1::3 # RaumZeitLabor network 2001:4d88:100e:ccc0::/64 resolves to ipv6-%DIGITS%.nutzer.raumzeitlabor.de with upstream 2001:4d88:100e:1::2 # Chaostreff network 2001:4d88:100e:cd1::/64 resolves to ipv6-%DIGITS%.treff.noname-ev.de
This example contains all configuration directives. Let's go over them one by one:
Example:
network 2001:4d88:100e:ccc0::/64 resolves to ipv6-%DIGITS%.nutzer.raumzeitlabor.de
Example query:
The PTR query 2001:4d88:100e:ccc0:216:eaff:fecb:826 will resolve to ipv6-0216eafffecb0826.nutzer.raumzeitlabor.de
Example:
network 2001:4d88:100e:ccc0::/64 resolves to ipv6-%DIGITS%.nutzer.raumzeitlabor.de with upstream 2001:4d88:100e:1::2
Example query:
The PTR query 2001:4d88:100e:ccc0:219:dbff:fe43:2ec5 will make AllKnowingDNS ask for 5.c.e.2.3.4.e.f.f.f.b.d.9.1.2.0.0.c.c.c.e.0.0.1. \ 8.8.d.4.1.0.0.2.ip6.arpa.upstream. at 2001:4d88:100e:1::2 and relay the answer, if any.
This section shows you how to delegate a zone in BIND9 or any DNS server with a compatible zone file syntax. To use AllKnowingDNS, you need to delegate the appropriate .ip6.arpa zone for your network and one regular domain.
$ORIGIN . $TTL 604800 ; 1 week e.0.0.1.8.8.d.4.1.0.0.2.ip6.arpa IN SOA infra.in.zekjur.net. \ hostmaster.zekjur.net. ( 20 ; serial 604800 ; refresh (1 week) 86400 ; retry (1 day) 2419200 ; expire (4 weeks) 604800 ; minimum (1 week) ) NS libri.sur5r.net. NS infra.in.zekjur.net. ; net for RaumZeitLabor 0.c.c.c.e.0.0.1.8.8.d.4.1.0.0.2.ip6.arpa. IN NS ipv6-rdns.zekjur.net.
$TTL 6h raumzeitlabor.de IN SOA ns1.jpru.de. hostmaster.jpru.de. ( 2012030701 3h 30m 7d 1d ) IN NS ns1.jpru.de. IN NS ns2.jpru.de. IN A 195.49.138.121 IN MX 10 rzl.uugrn.org. IN MX 20 up.uugrn.org. IN MX 50 mail.uugrn.org. IN MX 100 rzl.uugrn.org. nutzer.raumzeitlabor.de. IN NS ipv6-rdns.zekjur.net.
Version 1.7
Michael Stapelberg, "<michael at stapelberg.de>"
Copyright 2012 Michael Stapelberg.
This program is free software; you can redistribute it and/or modify it under the terms of the BSD license.
2022-11-21 | perl v5.36.0 |