From 93a4819b99e48a7ab4b83ea156502363df93a606 Mon Sep 17 00:00:00 2001 From: Roland Gruber Date: Sat, 31 May 2014 13:40:43 +0000 Subject: [PATCH] auto PTR management --- lam/HISTORY | 1 + lam/docs/manual-sources/howto.xml | 18 ++++++++++++++++++ lam/docs/manual-sources/images/mod_bind12.png | Bin 0 -> 14184 bytes 3 files changed, 19 insertions(+) create mode 100644 lam/docs/manual-sources/images/mod_bind12.png diff --git a/lam/HISTORY b/lam/HISTORY index 03b3ae9b..1766983a 100644 --- a/lam/HISTORY +++ b/lam/HISTORY @@ -6,6 +6,7 @@ June 2014 4.6 - LAM Pro: -> Password self reset and user self registration support to set a header text -> Sudo roles: support latest schema + -> Bind DLZ: automatic PTR management (disabled by default) and better formating of e.g. TTL values 18.03.2014 4.5 diff --git a/lam/docs/manual-sources/howto.xml b/lam/docs/manual-sources/howto.xml index 592bb2ef..4ddfc053 100644 --- a/lam/docs/manual-sources/howto.xml +++ b/lam/docs/manual-sources/howto.xml @@ -4430,6 +4430,24 @@ Run slapindex to rebuild the index. + Automatic PTR management + + LAM can automatically create/delete PTR entries for the entered + IPv4/6 records. You can enable this feature on the module settings + tab. + + PTR records will get the same TTL as IP records. Please note that + you need to have matching reverse zones (".in-addr.arpa"/".ip6.arpa") + under the same suffix as your other DNS entries. + + + + + + + + + Zone management If you do not yet have a DNS zone then LAM can create one for you. diff --git a/lam/docs/manual-sources/images/mod_bind12.png b/lam/docs/manual-sources/images/mod_bind12.png new file mode 100644 index 0000000000000000000000000000000000000000..3f253dbc929f1006d8703207d58c039cfa88e71d GIT binary patch literal 14184 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