README pvl.dns-process and pvl.dns-zone
authorTero Marttila <tero.marttila@aalto.fi>
Fri, 27 Feb 2015 17:03:15 +0200
changeset 644 c51eb0151fec
parent 643 eda838f84366
child 645 0467e1464cca
README pvl.dns-process and pvl.dns-zone
README.md
etc/zones/test
--- a/README.md	Fri Feb 27 17:02:44 2015 +0200
+++ b/README.md	Fri Feb 27 17:03:15 2015 +0200
@@ -283,6 +283,59 @@
 ### `var/zones/`
 Generated zonefiles, loaded by bind.
 
+# *pvl-dns*
+Low-level zonefile utilities.
+
+## `bin/pvl.dns-process`
+Process a zonefile to modify:
+
+* `SOA` record serial
+* `$INCLUDE` paths
+
+    $ cat etc/zones/test 
+    $TTL 3600
+
+    @                   SOA     foo.test. hostmaster.test. (
+                                0               ; serial
+                                1d              ; refresh
+                                5m              ; retry
+                                10d             ; expiry
+                                300             ; negative
+                        )
+
+                        NS      foo
+                        NS      bar
+
+    $INCLUDE "forward/test"
+
+    $ bin/pvl.dns-process --serial $(date +%s) --include-path var/zones etc/zones/test 
+    $TTL    3600
+    @                                 SOA   foo.test. hostmaster.test. 1425049088 1d 5m 10d 300
+                                      NS    foo
+                                      NS    bar
+    $INCLUDE        "var/zones/forward/test"
+
+## `bin/pvl.dns-zone`
+Load a zonefile and output any ZoneRecords that it contains, including `$GENERATE`ed and `$INCLUDE`ed records:
+
+    $ bin/pvl.dns-zone --zone=test var/zones/test 
+    @                         3600    SOA   foo.test. hostmaster.test. 1425049248 1d 5m 10d 300
+    @                         3600    NS    foo
+    @                         3600    NS    bar
+    foo                       3600    A     192.0.2.1
+    bar                       3600    A     192.0.2.2
+    quux.asdf                 3600    A     192.0.2.5
+
+
+Optionally `--check-hosts` for dupliates `A`/`AAAA` records.
+
+Use `--reverse-prefix=192.0.2` to generate a reverse-dns zone from `A`/`AAAA` records:
+
+    $ bin/pvl.dns-zone --zone=test var/zones/test --reverse-prefix=192.0.2
+    1                                 PTR   foo.test.
+    2                                 PTR   bar.test.
+    5                                 PTR   quux.asdf.test.
+
 # Experimental features 
 
 Features that are still under development
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/etc/zones/test	Fri Feb 27 17:03:15 2015 +0200
@@ -0,0 +1,14 @@
+$TTL 3600
+
+@                   SOA     foo.test. hostmaster.test. (
+                            0               ; serial
+                            1d              ; refresh
+                            5m              ; retry
+                            10d             ; expiry
+                            300             ; negative
+                    )
+
+                    NS      foo
+                    NS      bar
+
+$INCLUDE "forward/test"