Classless IN-ADDR.ARPA delegation support and zone/recordset regex
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Designate |
Invalid
|
Undecided
|
Unassigned |
Bug Description
For now it's not possible to use a "/" in zone/recordset delegation. But it's needed in a case of classless IN-ADDR.ARPA delegation.
Steps to reproduce:
Try to create zone or recordset
openstack recordset create --record=
Recordset:
openstack recordset create --record=
Actual result:
Provided object is not valid. Got a ValueError error with message Host name 0/24.example.com. is not match
Use case comes from the RFC 2317 https:/
Theory:
• DNS clients always look for names like w.x.y.z.
• The main trick is to use CNAME/DNAME records to redirect clients from w.x.y.z.
• A common practice is to create auxiliary sub-domains in in-addr.arpa. sub-tree but it is not strictly required.
Example
• We want to delegate zone for classless network: 198.51.100.0/26
◦ We want to host records for this (smaller) network on server test1.example..
• Nearest classfull network (with netmask at byte boundary) is: 198.51.100.0/24
◦ Records for this network should be hosted on server test2.example..
• Create auxiliary zone 0/26.100.
◦ openstack zone create --email <email address hidden> --ttl=7200 0/26.100.
• Add all PTR records to this new zone:
◦ openstack recordset create --record=
◦ … (add all other records as necessary)
• Create classfull zone 100.51.
◦ openstack zone create --email <email address hidden> --ttl=7200 100.51.
• Add CNAMEs for all PTR records belonging to the smaller zone:
◦ openstack recordset create --record 1.0/26 --type CNAME 1.0/26 1.100.51.
◦ … (add all other records as necessary)
• Delegate sub-zone 0/26.100.
◦ openstack recordset create --record=
Testing
Following command should always return the same results, no matter what DNS server you queried:
$ dig -t PTR 1.100.51.
;; QUESTION SECTION:
;1.100.
;; ANSWER SECTION:
1.100.51.
1.0/26.
We do not support the `/` split - when it was written not all DNS servers supported it (and some still may not), so the `-` was chosen.
https:/ /docs.openstack .org/designate/ latest/ user/manage- ptr-records. html#classless- in-addr- arpa-delegation has details of how to use that syntax.