-
Notifications
You must be signed in to change notification settings - Fork 3
Dnstool is a set of curses-based user interfaces and supporting scripts for easy administration of a large dns zone with dozens of reverse zones.
License
Redpill-Linpro/dnstool
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
DNSTOOL README PURPOSE Dnstool is a set of curses-based user interfaces and supporting scripts for easy administration of some dns zones with dozens of reverse zones. LICENSE Dnstool is distributed under the terms of the GNU General Public License (GPL) version 3 or later (at your option), which can be found in the file named COPYING. INSTALLING Prerequisites: Debian/Ubuntu "DNS Server" base install # apt-get install libnetaddr-ip-perl libnet-dns-perl libcurses-perl libcurses-ui-perl Assumes a Debian-style BIND version 9 install; should be adaptable to other layouts, previous incarnations have been known to run fine on RHEL. Configuration is saved in DNS, in the "policy.dnstool" and "networks.dnstool" local zones. For an example setup using RFC 5737 networks, do a "make install", then add include "/etc/bind/named.conf.dnstool"; include "/etc/bind/named.conf.example"; to /etc/bind/named.conf and do your usual "rndc reconfig" incantation. The toolmaster configured in "policy.dnstool" needs to be correct in the local DNS, or nothing will work. An otherwise-working /etc/hosts override is not enough. The example zone has the toolmaster at 192.0.2.5. /etc/bind/dnstool/empty-zone is the template for new reverse zones, edit to suit. Config layout: (/var files are updated by scripts or named, /etc is left to the sysadmin) ├── etc │ └── bind │ ├── dnstool │ │ ├── empty-zone │ │ └── policy │ ├── named.conf.dnstool │ └── named.conf.example └── var └── lib └── bind ├── dnstool │ ├── example.example │ ├── extra-example.example │ └── networks └── dnstool-rev ├── 192.0.2 ├── 198.51.100 ├── 203.0.113 └── zones.conf RUNNING The individual tools should be pretty self-explanatory. Meant to be run on a DNS master, as the BIND user. dnstool edits forward and reverse zones. dnstool-admin edits the list of administered reverse zones. In case of trouble, the tools log to $HOME/dnstool.log respective $HOME/dnstool-admin.log. dnstool-zonesync is a helper script that creates the actual reverse zones and reloads bind config. extras/ has various other scripts useful for automation and documentation. SCREENSHOTS Well, why not? ┌ DNS tool: Choose an operation ─────────────────┐ │ │ │ │ │ Add or remove DNS record? │ │ │ │ │ │ < Add > < Delete > < Exit > │ │ │ │ │ │ DNS-tool server: dnstooltest.example.exam$ │ │ │ │ │ └────────────────────────────────────────────────┘ ┌ DNS tool: ──────────────────────────────────────────────────────────────────┐ │ │ │ Choose domain to edit │ │ │ │ ┌ Domain ──────────────────────────────────────────────────────────────────┐ │ │ │example.example. │ │ │ │extra-example.example. │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ Filter: << Previous Next >> < Cancel > │ │ │ └──────────────────────────────────────────────────────────────────────────────┘ ┌ DNS tool: Add an address ────────────────────────────────────────────────────┐ │ │ │ Choose a network │ │ │ │ ┌ Prefix Description ────────────────────────────────────────┐ │ │ │Add address based alias (an A record) │ │ │ │Add name based alias (a CNAME record) │ │ │ │ 192.0.2.0/24 TEST-NET-1 │ │ │ │ 198.51.100.0/24 TEST-NET-2 │ │ │ │ 203.0.113.0/24 TEST-NET-3 │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ Filter: << Previous Next >> < Cancel > │ │ │ └──────────────────────────────────────────────────────────────────────────────┘ ┌ DNS tool: Add ───────────────────────────────────────────────────────────────┐ │ │ │ Choose an IP-address from 192.0.2.0/24 TEST-NET-1 │ │ │ │ ┌ Address Description ─────────────────────────────────────────────┐ │ │ │ 192.0.2.1 not used │ │ │ 192.0.2.2 not used │ │ │ │ 192.0.2.3 not used │ │ │ │ 192.0.2.4 not used │ │ │ │ 192.0.2.7 not used │ │ │ │ 192.0.2.8 not used │ │ │ │ 192.0.2.9 not used │ │ │ │ 192.0.2.10 not used │ │ │ │ 192.0.2.11 not used │ │ │ │ 192.0.2.12 not used │ │ │ │ 192.0.2.13 not used │ │ │ │ 192.0.2.14 not used │ │ │ │ 192.0.2.15 not used │ │ │ │ 192.0.2.16 not used │ │ │ │ 192.0.2.17 not used │ │ │ └──────────────────────────────────────────────────────────────────────────┘ │ │ │ │ Filter: not used << Previous Next >> < Cancel > │ │ │ └──────────────────────────────────────────────────────────────────────────────┘ ┌ DNS tool: Input name ────────────────────────────────────┐ │ │ │ Please fill in hostname and TTL │ │ │ │ .example.example. 300 IN A 192.0.2.11 │ │ │ │ << Previous Finish >> < Cancel > │ │ │ │ [X] Create A record │ │ │ │ [X] Create PTR record │ │ │ └──────────────────────────────────────────────────────────┘ ┌───────────────────────────────────────────────────────────────┐ │ │ │ ┌───────────────────────────────────────────────────────────┐ │ │ │Successfully added │ │ │ │ │ │ │ │ test1.example.example. 300 A 192.0.2.11 │ │ │ │ │ │ │ │and │ │ │ │ │ │ │ │ 11.2.0.192.in-addr.arpa. 300 PTR test1.example.example. │ │ │ │ │ │ │ │to DNS. The default router on that network │ │ │ │is 192.0.2.1. │ │ │ │ │ │ │ │Press OK to end this operation. │ │ │ └───────────────────────────────────────────────────────────┘ │ │ │ │ < OK > │ │ │ └───────────────────────────────────────────────────────────────┘ AUTHOR Originally commissioned work for Oslo Lufthavn AS (osl.no), open-sourced in 2012. Copyright 2006,2010 Nicolai Langfeldt, Linpro AS Copyright 2012,2014 Erik Inge Bolsø, Redpill Linpro AS Copyright 2006,2010,2012 Oslo Lufthavn AS Copyright 2014 Avinor AS MAILING LIST For questions, patches and discussion of dnstool, there is a moderated-for-nonmembers mailing list set up at [email protected]. Subscribe/unsubscribe: http://projects.linpro.no/mailman/listinfo/dnstool Public archives: http://projects.linpro.no/pipermail/dnstool/ OFFICIAL REPOSITORY Dnstool is hosted at github. https://github.com/Redpill-Linpro/dnstool
About
Dnstool is a set of curses-based user interfaces and supporting scripts for easy administration of a large dns zone with dozens of reverse zones.
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published