Hi all, I had issues with DNS PTR records last year that Moritz tried to help me with. Seemed to be a few overlapping issues involved (rejects, SAML, certificates etc).
I’ve since upgraded to 4.3-1 and sorted out my s4-connector rejects, certificate and SAML issues and everything is running as smoothly as it ever has been using UCS.
Thanks for the help Moritz!
What I have noticed is that despite having a clean bill of health from the diagnostics and no rejects logged, some ghost DNS PTR entries on the samba AD side are not visible in the DNS RSAT but are visible in the ADSI edit MMC.
I’ve used the univention-s4search scripts to potentially work out the cause for this (dnsRecord RANK flags set to 0 instead of 240) but want to get advice on how to fix it without breaking anything in the s4 AD or with the UCS s4 sync processes.
Here’s what I’ve got:
In UCS UDM web interface I have the correct PTR entries listed for reverse lookup zones.
Some reverse lookup zones do not display all entries in the RSAT DNS MMC. They do however seem to resolve from the commandline (dns backend is samba) so must still be in AD.
Indeed looking at the domaindnszones with ADSI edit, the missing entries are listed in there.
Using the univention search scripts, they also show up there. The only thing that is different between the ones that are visible and the ones that aren’t are that the dnsRecord blob has a different RANK set (0) for the ones that are missing and (240) for the ones that work.
root@dcm1:/var/log/univention# univention-s4search -b "DC=30.10.in-addr.arpa,CN=MicrosoftDNS,DC=DomainDnsZones,<removedrealdomain>,DC=com,DC=au"|s4search-d
ecode
# record 1
dn: DC=5.20,DC=30.10.in-addr.arpa,CN=MicrosoftDNS,DC=DomainDnsZones,<removedrealdomain>,DC=com,DC=au
objectClass: top
objectClass: dnsNode
instanceType: 4
whenCreated: 20160713062352.0Z
whenChanged: 20160713062352.0Z
uSNCreated: 6642
uSNChanged: 6642
showInAdvancedViewOnly: TRUE
name: 5.20
objectGUID: 8d1bf107-62d8-435f-8ecd-7585b74853cb
dnsRecord:: JQAM <snipped> EDY29tAmF1AA==
# decoded:
# dnsp_DnssrvRpcRecord: struct dnsp_DnssrvRpcRecord
# wDataLength : 0x0025 (37)
# wType : DNS_TYPE_PTR (12)
# version : 0x05 (5)
# rank : DNS_RANK_NONE (0)
# flags : 0x0000 (0)
# dwSerial : 0x00000001 (1)
# dwTtlSeconds : 0x00000e10 (3600)
# dwReserved : 0x00000000 (0)
# dwTimeStamp : 0x00000000 (0)
# data : union dnsRecordData(case 12)
# ptr : cnscopier.<removedrealdomain>.com.au
objectCategory: CN=Dns-Node,CN=Schema,CN=Configuration,<removedrealdomain>,DC=com,DC=au
dc: 5.20
distinguishedName: DC=5.20,DC=30.10.in-addr.arpa,CN=MicrosoftDNS,DC=DomainDnsZones,<removedrealdomain>,DC=com,DC=au
# record 2
dn: DC=7.20,DC=30.10.in-addr.arpa,CN=MicrosoftDNS,DC=DomainDnsZones,<removedrealdomain>,DC=com,DC=au
objectClass: top
objectClass: dnsNode
instanceType: 4
whenCreated: 20160713062706.0Z
whenChanged: 20160713062706.0Z
uSNCreated: 6649
uSNChanged: 6649
showInAdvancedViewOnly: TRUE
name: 7.20
objectGUID: 06a17ef5-ed54-454d-a4c7-8c44ea7c677c
dnsRecord:: LAAM <snipped> QA=
# decoded:
# dnsp_DnssrvRpcRecord: struct dnsp_DnssrvRpcRecord
# wDataLength : 0x002c (44)
# wType : DNS_TYPE_PTR (12)
# version : 0x05 (5)
# rank : DNS_RANK_NONE (0)
# flags : 0x0000 (0)
# dwSerial : 0x00000001 (1)
# dwTtlSeconds : 0x00000e10 (3600)
# dwReserved : 0x00000000 (0)
# dwTimeStamp : 0x00000000 (0)
# data : union dnsRecordData(case 12)
# ptr : cnswarehouse-340.<removedrealdomain>.com.au
objectCategory: CN=Dns-Node,CN=Schema,CN=Configuration,<removedrealdomain>,DC=com,DC=au
dc: 7.20
distinguishedName: DC=7.20,DC=30.10.in-addr.arpa,CN=MicrosoftDNS,DC=DomainDnsZones,<removedrealdomain>,DC=com,DC=au
# record 3
dn: DC=11.20,DC=30.10.in-addr.arpa,CN=MicrosoftDNS,DC=DomainDnsZones,<removedrealdomain>,DC=com,DC=au
objectClass: top
objectClass: dnsNode
instanceType: 4
whenCreated: 20160909041215.0Z
whenChanged: 20160909041215.0Z
uSNCreated: 34397
uSNChanged: 34397
showInAdvancedViewOnly: TRUE
name: 11.20
objectGUID: d92e3a87-2dfa-438a-b2bf-d2ed5780de3e
dnsRecord:: MAAMA <snipped> hc2F1c3RyYWxpYQNjb20CYXUA
# decoded:
# dnsp_DnssrvRpcRecord: struct dnsp_DnssrvRpcRecord
# wDataLength : 0x0030 (48)
# wType : DNS_TYPE_PTR (12)
# version : 0x05 (5)
# rank : DNS_RANK_ZONE (240)
# flags : 0x0000 (0)
# dwSerial : 0x00000001 (1)
# dwTtlSeconds : 0x00000384 (900)
# dwReserved : 0x00000000 (0)
# dwTimeStamp : 0x00000000 (0)
# data : union dnsRecordData(case 12)
# ptr : cns-invoice-lbp251dw.<removedrealdomain>.com.au
objectCategory: CN=Dns-Node,CN=Schema,CN=Configuration,<removedrealdomain>,DC=com,DC=au
dc: 11.20
distinguishedName: DC=11.20,DC=30.10.in-addr.arpa,CN=MicrosoftDNS,DC=DomainDnsZones,<removedrealdomain>,DC=com,DC=au
# record 4
dn: DC=10.20,DC=30.10.in-addr.arpa,CN=MicrosoftDNS,DC=DomainDnsZones,<removedrealdomain>,DC=com,DC=au
objectClass: top
objectClass: dnsNode
instanceType: 4
whenCreated: 20160909041150.0Z
whenChanged: 20160909041150.0Z
uSNCreated: 34392
uSNChanged: 34392
showInAdvancedViewOnly: TRUE
name: 10.20
objectGUID: a2a98a24-4951-4f8d-a40d-c3758a54627c
dnsRecord:: LAAM <snipped> zdHJhbGlhA2NvbQJhdQA=
# decoded:
# dnsp_DnssrvRpcRecord: struct dnsp_DnssrvRpcRecord
# wDataLength : 0x002c (44)
# wType : DNS_TYPE_PTR (12)
# version : 0x05 (5)
# rank : DNS_RANK_ZONE (240)
# flags : 0x0000 (0)
# dwSerial : 0x00000001 (1)
# dwTtlSeconds : 0x00000384 (900)
# dwReserved : 0x00000000 (0)
# dwTimeStamp : 0x00000000 (0)
# data : union dnsRecordData(case 12)
# ptr : cns-copier-c5240.<removedrealdomain>.com.au
objectCategory: CN=Dns-Node,CN=Schema,CN=Configuration,<removedrealdomain>,DC=com,DC=au
dc: 10.20
distinguishedName: DC=10.20,DC=30.10.in-addr.arpa,CN=MicrosoftDNS,DC=DomainDnsZones,<removedrealdomain>,DC=com,DC=au
# record 5
dn: DC=@,DC=30.10.in-addr.arpa,CN=MicrosoftDNS,DC=DomainDnsZones,<removedrealdomain>,DC=com,DC=au
objectClass: top
objectClass: dnsNode
instanceType: 4
whenCreated: 20160704035722.0Z
uSNCreated: 5619
showInAdvancedViewOnly: TRUE
name: @
objectGUID: f1ac1d4d-a24a-433f-9520-b9e65c4d2adc
objectCategory: CN=Dns-Node,CN=Schema,CN=Configuration,<removedrealdomain>,DC=com,DC=au
dc: @
whenChanged: 20170707143635.0Z
uSNChanged: 290713
dnsRecord:: IAACAAXwA <snipped> XVzdHJhbGlhA2NvbQJhdQA=
# decoded:
# dnsp_DnssrvRpcRecord: struct dnsp_DnssrvRpcRecord
# wDataLength : 0x0020 (32)
# wType : DNS_TYPE_NS (2)
# version : 0x05 (5)
# rank : DNS_RANK_ZONE (240)
# flags : 0x0000 (0)
# dwSerial : 0x00000001 (1)
# dwTtlSeconds : 0x00000384 (900)
# dwReserved : 0x00000000 (0)
# dwTimeStamp : 0x00000000 (0)
# data : union dnsRecordData(case 2)
# ns : dcm1.<removedrealdomain>.com.au
dnsRecord:: UwAGA <snipped> bQJhdQA=
# decoded:
# dnsp_DnssrvRpcRecord: struct dnsp_DnssrvRpcRecord
# wDataLength : 0x0053 (83)
# wType : DNS_TYPE_SOA (6)
# version : 0x05 (5)
# rank : DNS_RANK_ZONE (240)
# flags : 0x0000 (0)
# dwSerial : 0x00000001 (1)
# dwTtlSeconds : 0x00015180 (86400)
# dwReserved : 0x00000000 (0)
# dwTimeStamp : 0x00000000 (0)
# data : union dnsRecordData(case 6)
# soa: struct dnsp_soa
# serial : 0x00000001 (1)
# refresh : 0x00007080 (28800)
# retry : 0x00001c20 (7200)
# expire : 0x00093a80 (604800)
# minimum : 0x00000e10 (3600)
# mname : dcm1.<removedrealdomain>.com.au
# rname : domains.<removedrealdomain>.com.au
distinguishedName: DC=@,DC=30.10.in-addr.arpa,CN=MicrosoftDNS,DC=DomainDnsZones,<removedrealdomain>,DC=com,DC=au
# record 6
dn: DC=30.10.in-addr.arpa,CN=MicrosoftDNS,DC=DomainDnsZones,<removedrealdomain>,DC=com,DC=au
objectClass: top
objectClass: dnsZone
instanceType: 4
whenCreated: 20160704035722.0Z
whenChanged: 20160704035722.0Z
uSNCreated: 5618
uSNChanged: 5618
showInAdvancedViewOnly: TRUE
name: 30.10.in-addr.arpa
objectGUID: cad078d1-cf95-407b-84b7-c689610b5dbd
objectCategory: CN=Dns-Zone,CN=Schema,CN=Configuration,<removedrealdomain>,DC=com,DC=au
dc: 30.10.in-addr.arpa
distinguishedName: DC=30.10.in-addr.arpa,CN=MicrosoftDNS,DC=DomainDnsZones,<removedrealdomain>,DC=com,DC=au
# returned 6 records
# 6 entries
# 0 referrals
Searching google leads to this MS-DNSP protocol document that specifies the rank flag of 240 to be from a local authoritative zone (DNS_RANK_ZONE).
There’s no mention of a zero value (DNS_RANK_NONE in s4search-decode), so I suppose that is causing the problem that is hiding the PTR records and the s4-connector must not be aware of or correcting the DNS_RANK_NONE field in the dnsRecord?
In any case although I’m pretty sure this is the problem, I don’t know how to fix it. Do I delete the s4 side and force a resync from UCS LDAP side?
Hoping univention staff or the linet guys can tell me best way to resolve this