A simple DNS server (that requiresunfortunately). It relies on PostgreSQL for its zone and record information.
Install github.com/Torxed/slimDNS and follow the manual setup instructions.AUR or clone
Create a user/role called "slimdns"
[postgres@machine~] createuser --interactive [postgres@machine~] psql > CREATE DATABASE slimdns OWNER slimdns; > ALTER USER slimdns WITH PASSWORD '<some secure random string>';
[user@machine~] python slimdns.py
Configuration is stored under `/etc/slimDNS/config.py`, any changes to the config requires a restart.
SlimDNS comes with a tool to modify the database, it's called `dnstools` (subject to name change). The tool takes a series of parameters in order and can create domains (zones) and records.
Adding a domain
[user@machine~] python dnstool.py example.com
Adding a `A` record
[user@machine~] python dnstool.py example.com 22.214.171.124
You can also add the same record, but define the record type:
[user@machine~] python dnstool.py example.com 126.96.36.199 A
Adding a MX record / complex records
Some records have more complex structure, for instance the SRV, MX or TXT records. In order to be generic in handling these records, enclose the content of the record and add all the necessary data needed for the desired record type.
[user@machine~] python dnstool.py example.com "188.8.131.52 10" MX
This would create a MX record, with a priority or preference of 10.
- Updates run time cache every 30 seconds.
- Does support a forwarding DNS server, however, testing on this is limited
- Upon each start, slimdns will attempt to create the database 'slimdns' if not found, but will need this optional permissions to work.
- Might crash for no aparent reason :D