-
Notifications
You must be signed in to change notification settings - Fork 3
/
README
227 lines (189 loc) · 15.1 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
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