micro dns server
Project description
udns is an authoritative, caching DNS server for development and small deployments written in Python using the circuits Application Framework and the dnslib DNS library. udns can be run standalone, via Docker or using the Docker Compose tool. udns is designed to be small, lightweight, fast and flexible. udns fully supports forwarding, caching as well as honoring TTL(s). udns will also read your /etc/hosts file at startup and use this to populate an internal hosts cache so that entries in your local /etc/hosts file are fully resolvable with tools such as host, dig and resolver client libraries.
Installation and Usage
From Source:
$ git clone https://github.com/prologic/udns $ cd udns $ python setup.py develop $ sudo udnsd --debug # Server $ udnsc --help # Client
From Source using Docker and Docker Compose:
$ git clone https://github.com/prologic/udns $ cd udns $ docker-compose up -d # Server $ docker-compose run --rm udns udnsc # Client
Using Docker:
$ docker run -d -p 53:53/udp prologic/udns
From PyPi (coming soon):
$ pip install udns $ udnsd # Server $ udnsc # Client
Running as a Daemon:
$ sudo udnsd -d --logfile=$(pwd)/udnsd.log --pidfile=$(pwd)/udnsd.pid
Managing Zones and Records
udns is a full authoritative, caching DNS server and ships with a client to help manage zones and records. Here are some quick examples:
Create new Zone:
$ udnsc create abc.com.
Create new Zone from a file:
$ udnsc create abc.com. abc.com
or::
$ udnsc create abc.com. - < abc.com
List Zones:
$ udnsc list
Show Zone Records:
$ udnsc show abc.com.
Export a Zone::
$ udnsc export abc.com.
Add Zone Records:
$ udnsc add abc.com. www 127.0.0.1
Delete a Zone Record:
$ udnsc delete abc.com. www
Delete a Zone:
$ udnsc delete abc.com.
Changes
udns 0.0.2 (2016-01-26)
Added support for CNAME(s)
Added support for @ ($ORIGIN)
Various small bugfixes
udns 0.0.1 (2014-08-26)
Initial Release
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.