The MyDNS-NG logo. It's blue text on a gradient background.
- Features
- Download
- Bug Tracker
- Mailing Lists
- Contacts
- Chat


MyDNS-NG needs you!

Yes that's right, we need you to submit patches!

We're currently looking for more developers to contribute. So if you or a friend got a patch for us, just send it to the bugtracker and we'll start working on it immediately!


MyDNS-ng is a follow on project from the MyDNS project developed by Don Moore. The aims of this project are to produce a product that is a fully fledged DNS server supporting a wider range of Resource Records and allowing very large scale services.

MyDNS-ng is currently being developed by Howard Wilkinson of Coherent Technology Ltd. The core of the work is being carried out in 'C' and has been aimed at producing an evolving DNS platform which changes often but produces stable development points so that the code can be deployed for production use as it gains new features.

The target of the development is to:

  • Add support for the newer record types that have been defined in recent years.
  • Add support for EDNS operation.
  • Add support for multiple concurrent database backend instances, this will allow: fail-over to alternate provider in case of back end failure or network partition; load balancing across multiple providers to achieve higher throughput; partitioning of the data store into multiple arenas so that support for different DB engines can be combined in the one executable. See data migration
  • Add a run-time control utility that will allow the running system to be reconfigured, ala RNDC from BIND (Internet System Consortium), this will allow the in-memory cache to be tuned and flushed; the flushing and reloading of zones; the collection of statistics; the dynamic enabling of debug code, ...
  • Provide support for secondary zones, this will allow zone transfers into the database storage from other DNS servers.
  • Increase the performance of the core server in handling queries by making the task scheduler more responsive and by multi-threading the core so that database requests cannot stall one of the processes.
  • Convert the in-memory cache to a shared resource between the running processes giving the server core a smaller memory footprint and increasing the responsive ness of the core for records that are being hit rapidly. This mechanism will be designed to allow the existence of multiple copies of the in-memory cache to continue to exist for those environment where memory is segmented such as NUMA machines.

News (rss!)