Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 55 lines (35 sloc) 1.517 kb
239d703 @bartman readme added
authored
1 # About
2
3 I found it a pain to maintain multiple views in bind because I had to constantly
4 modify two files (internal and external views).
5
6 Once I started using IPv6 I had another grief, I had to update IPv4 and IPv6 and CNAME
7 records in two files.
8
0ffbf7a @bartman README: dependencies and a blurb on ext/int views
authored
9 This script reads from a metazone file and generates internal/external zone files. You
10 can then use bind's *acl* and *view* features to craft what internal and external
11 hosts see.
239d703 @bartman readme added
authored
12
819bf50 @bartman README: how to run it
authored
13 # Running
14
0ffbf7a @bartman README: dependencies and a blurb on ext/int views
authored
15 There are a few dependencies
16
17 - perl with Parse::RecDescent
18
19 You may want to run this on Debian:
20
21 apt-get install libparse-recdescent-perl
22
819bf50 @bartman README: how to run it
authored
23 There is a simple.metazone file that comes with the tool. Run it like so:
24
81fdb9c @bartman update README with --selector option
authored
25 zonegen --selector int simple.metazone
26 cat example.com.int.zone
27
28 zonegen --selector ext simple.metazone
29 cat example.com.ext.zone
819bf50 @bartman README: how to run it
authored
30
239d703 @bartman readme added
authored
31 # Example
32
33 For example, given
34
35 foo: int=10.0.0.1 ext=72.0.0.1 2001:1234::1
36 www: foo
37
38 You'll get this in the internal zone:
39
40 foo.ipv6 IN AAAA 2001:1234::1
41 foo.ipv4 IN A 10.0.0.1
42 foo CNAME foo.ipv6
43 foo CNAME foo.ipv4
44 www CNAME baz
45
46 and the external zone will contain:
47
48 foo.ipv6 IN AAAA 2001:1234::1
49 foo.ipv4 IN A 72.0.0.1
50 foo CNAME foo.ipv6
51 foo CNAME foo.ipv4
52 www CNAME foo
819bf50 @bartman README: how to run it
authored
53
54 <!-- vim: set ft=mkd -->
Something went wrong with that request. Please try again.