Hurricane Electric's IPv6 Tunnel Broker Forums

Advanced search  

News:

Welcome to Hurricane Electric's Tunnelbroker.net forums!

Author Topic: Covering large IPv6 prefixes with reverse and forward DNS  (Read 1510 times)

castorw

  • Newbie
  • *
  • Posts: 2
Covering large IPv6 prefixes with reverse and forward DNS
« on: January 12, 2015, 07:26:44 AM »

Hello everybody,

lately I got into covering my /64 blocks with mainly rDNS. Addresses are assigned using ND/RA so they basically are random. Covering block this large is not possible using conventional zone file based solutions. So I developed a special DNS server made for this purpose. Please feel free to use, modify, distribute, pull request or issue report.

Also I would be grateful for any feedback for this solution.

Application is coded in python and is fully available here: https://github.com/castorw/large6-named
Logged

mattwilson9090

  • Newbie
  • *
  • Posts: 45
    • Brightstar Consulting
Re: Covering large IPv6 prefixes with reverse and forward DNS
« Reply #1 on: January 17, 2015, 04:00:16 PM »

What do you mean by "covering blocks"?

Is this special DNS server written entirely from scratch, or is it a fork from another DNS implementation? Other than this additional features how is it different from the latest iterations of BIND, or even Windows DNS?
Logged
Matt Wilson

castorw

  • Newbie
  • *
  • Posts: 2
Re: Covering large IPv6 prefixes with reverse and forward DNS
« Reply #2 on: January 18, 2015, 03:54:34 AM »

Hi,
by "block" I mean prefix (segment). I might have not written this one much correctly. Sorry about that.

This server is written from scratch using mainly python libraries dnslib and ipaddress. BIND nor Windows DNS do not support dynamic response to queries based on pre-defined patterns. The /64 IPv6 prefix is 2^64 addresses large, which is way more than quite enough (18 446 744 073 709 551 616 to be precise). You can do the math and calculate how much disk space would it take create records for every IPv6 address in such a range. Other than that, I don't think it would be possible for i.e. BIND to load such a zone file and work correctly.

As far as I understand, /64 prefixes are a standard for end-customer delegation in IPv6. When you need all these hostnames to correctly have a hostname associated with it, you need to do it in a dynamic fashion (not static record based). This server allows you to:
  • create dynamic hostname for addresses (eg. *.ipv6.example.com, where * is one of currently two supported formats)
  • create static hostname for specific entries (eg. gw.ipv6.example.com, for the gateway IP (if is used))
  • etc...
You can lookup the full feature list here: https://github.com/castorw/large6-named/wiki

Regards,
castor
« Last Edit: January 18, 2015, 06:58:22 AM by castorw »
Logged