Section 5.1.5 of RFC 6147 is pretty clear here: the DNS64/NAT64 gateway should follow a
CNAME
and independently resolve that name to see if it gets back an
AAAA
record.
I don’t know for sure whether the App Review DNS64/NAT64 gateway complies with this requirement but I suspect that I’d have heard about it if it didn’t. Regardless, you can check this in various ways:
change your DNS to remove the
CNAME
change your code to use the canonical name
if the previous change is too much impact, add a specific test for this case to your code that shows an error that your users (including App Review) will recognise
Is
lp.espacejeux.com.
supposed to be a different
zone from
espacejeux.com.
? The reason I ask is that I’m seeing some weird results there. Consider this sequence:
$ # Start at the root.
$
$ dig +norecurse @$rootns m.lp.espacejeux.com. aaaa
…
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54187
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 14
;; QUESTION SECTION:
;m.lp.espacejeux.com. IN AAAA
;; AUTHORITY SECTION:
com. 172800 IN NS a.gtld-servers.net.
…
;; ADDITIONAL SECTION:
a.gtld-servers.net. 172800 IN A 192.5.6.30
…
$ # Ask .com.
$
$ dig +norecurse @192.5.6.30 m.lp.espacejeux.com. aaaa
…
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27303
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 3, ADDITIONAL: 3
;; QUESTION SECTION:
;m.lp.espacejeux.com. IN AAAA
;; AUTHORITY SECTION:
espacejeux.com. 172800 IN NS ns1.loto-quebec.com.
…
;; ADDITIONAL SECTION:
ns1.loto-quebec.com. 172800 IN A 192.197.135.2
…
$ # Ask ns1.loto-quebec.com.
$
$ dig +norecurse @192.197.135.2 m.lp.espacejeux.com. aaaa
…
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48277
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 4
;; QUESTION SECTION:
;m.lp.espacejeux.com. IN AAAA
;; AUTHORITY SECTION:
lp.espacejeux.com. 10800 IN NS ns-lp1.loto-quebec.com.
…
;; ADDITIONAL SECTION:
ns-lp1.loto-quebec.com. 3600 IN A 204.101.132.10
…
$ # Ask ns-lp1.loto-quebec.com.
$
$ dig +norecurse @204.101.132.10 m.lp.espacejeux.com. aaaa
…
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54892
;; flags: qr aa; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;m.lp.espacejeux.com. IN AAAA
;; AUTHORITY SECTION:
lp.espacejeux.com. 86400 IN SOA lp.espacejeux.com. administrator.lp.espacejeux.com. 998545544 28800 7200 604800 86400
…
In summary, I got an authoritative no results for the
AAAA
for
m.lp.espacejeux.com.
, which is what you’d expect. But look at the
SOA
, which indicates that
lp.espacejeux.com.
is a separate zone from
espacejeux.com.
.
Now let’s check that delegation:
$ # Start at the root.
$
$ dig +norecurse @$rootns lp.espacejeux.com. ns
…
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60237
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 14
;; QUESTION SECTION:
;lp.espacejeux.com. IN NS
;; AUTHORITY SECTION:
com. 172800 IN NS a.gtld-servers.net.
…
;; ADDITIONAL SECTION:
a.gtld-servers.net. 172800 IN A 192.5.6.30
…
$ # Ask .com.
$
$ dig +norecurse @192.5.6.30 lp.espacejeux.com. ns
…
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65189
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 3, ADDITIONAL: 3
;; QUESTION SECTION:
;lp.espacejeux.com. IN NS
;; AUTHORITY SECTION:
espacejeux.com. 172800 IN NS ns1.loto-quebec.com.
…
;; ADDITIONAL SECTION:
ns1.loto-quebec.com. 172800 IN A 192.197.135.2
…
$ # Ask ns1.loto-quebec.com.
$
$ dig +norecurse @192.197.135.2 lp.espacejeux.com. ns
…
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 225
;; flags: qr; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 4
;; QUESTION SECTION:
;lp.espacejeux.com. IN NS
;; AUTHORITY SECTION:
lp.espacejeux.com. 10800 IN NS ns-lp1.loto-quebec.com.
…
;; ADDITIONAL SECTION:
ns-lp1.loto-quebec.com. 3600 IN A 204.101.132.10
…
$ # Ask ns-lp1.loto-quebec.com.
$
$ dig +norecurse @204.101.132.10 lp.espacejeux.com. ns
; <<>> DiG 9.8.3-P1 <<>> +norecurse @204.101.132.10 lp.espacejeux.com. ns
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached
So,
ns1.loto-quebec.com.
(204.101.132.10) gives authoritative answers for
AAAA
records for
m.lp.espacejeux.com.
but just doesn’t respond when asked for the
NS
record for
lp.espacejeux.com.
.
I’m no DNS expert but that strikes me as weird.
Share and Enjoy
—
Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware
let myEmail = "eskimo" + "1" + "@apple.com"