Linked zones: PTR records follow each view, deleting an override stays deleted
Auto-PTR (and --ptr) changed PTR records in every linked view, whatever view the address record was in. ptrSync now compares each touched A/AAAA set before and after, per view, and changes only that view's reverse zone. PTR records in linked reverse zones are local (fill too); a shared PTR set is made local in each view before one view changes it. Deleting a linked zone's local records no longer brings the shared ones back into the view: the name and type are gone from that view and the other views keep theirs, local to each. Share still restores. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
e38390df7d
commit
65086e314a
9 files changed
+453
-238
No files matched your search
+2
-1
@@ -318,7 +318,8 @@ host name (a bare `nas` is refused, since it would mean
|
||||
keeps the PTR record in the reverse zone in step (when that zone is managed
|
||||
by Jarl); `jarl record update ID --ptr` with nothing else adds the PTR record
|
||||
if it is missing, e.g. after creating the reverse zone. In linked zones, the
|
||||
reverse zones of every linked view count. Every record type BIND supports can be used. Jarl knows the
|
||||
reverse zone of each linked view that has the record counts
|
||||
([reverse.md](reverse.md#keeping-ptr-records-in-step)). Every record type BIND supports can be used. Jarl knows the
|
||||
syntax of the common ones and checks them strictly, and the rest are
|
||||
validated by parsing.
|
||||
|
||||
|
||||
+18
-3
@@ -147,9 +147,24 @@ jarl zone update adbraun.lol --view internal --auto-ptr # off: --auto-p
|
||||
|
||||
(Zone settings → **Reverse DNS** in the web UI.) Then adding, changing,
|
||||
disabling, enabling or deleting an A or AAAA record in the zone does the
|
||||
same to its PTR record, in the reverse zones of the zone's view and of the
|
||||
views it is linked with ([views.md](views.md#linked-zones)). A whole set
|
||||
replaced at once (`jarl record set`, a batch) works too.
|
||||
same to its PTR record, in the reverse zone of each view that has the
|
||||
record. A whole set replaced at once (`jarl record set`, a batch) works
|
||||
too.
|
||||
|
||||
**Linked zones** ([views.md](views.md#linked-zones)). PTR records follow
|
||||
each view's own address records:
|
||||
|
||||
* A shared record gets a PTR record in every linked view that has it; a
|
||||
record local to one view gets one in that view only.
|
||||
* An address that goes from one view (deleted, changed, or overridden by
|
||||
a local record) loses its PTR record there only. Views that still have
|
||||
the address keep theirs.
|
||||
* Each zone's own **Reverse DNS** setting counts: a linked zone without
|
||||
it doesn't get PTR records from its partner's changes.
|
||||
* In a linked reverse zone, these PTR records (and those **Fill** adds)
|
||||
are local to their view. A PTR record that is shared becomes local in
|
||||
each view the first time one of them changes it, so that a change in
|
||||
one view doesn't reach the others.
|
||||
|
||||
* **One name per address.** When an address's PTR record names another
|
||||
host, it stays: a second A record for the same address doesn't add a
|
||||
|
||||
+3
-1
@@ -183,7 +183,9 @@ own and its own zone options.
|
||||
the web UI). A local record overrides the shared records of the same name
|
||||
and type in that view: `www A 10.0.10.5` local to internal, while the
|
||||
external view keeps the shared `www A 203.0.113.20`. Delete the local
|
||||
records and the view gets the shared ones back.
|
||||
records and the name and type are gone from that view only: the other
|
||||
views keep their records, each local to its view now. To give the view
|
||||
the shared version back instead, **Share** it from a view that has it.
|
||||
* A new record joins the set of the same name and type: local if that set
|
||||
is local in its view, shared otherwise.
|
||||
* **Sharing a version** (`jarl record update ID --shared`, **Share** in the
|
||||
|
||||
Reference in new issue
Block a user