Die Antwort lautet im Allgemeinen "Nein" - der spezifischere Datensatz sollte gewinnen, daher sollte dies so funktionieren, wie Sie es beschrieben / erwartet haben. Ich vermute, Sie haben den Wildcard-A-Datensatz irgendwo zwischengespeichert und müssen warten, bis dieser Cache abläuft.
Schnelltest mit BIND 9.6.2-P2 / FreeBSD 8.1:
Eine Zone mit den Einträgen:
example.net. IN A 127.0.0.2
*.test.example.net. IN A 127.0.0.1
specific.test.example.net. IN CNAME example.net.
Wird wie folgt gelöst:
% dig specific.test.example.net
; <<>> DiG 9.6.2-P2 <<>> specific.test.example.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17222
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;specific.test.example.net. IN A
;; ANSWER SECTION:
specific.test.example.net. 3600 IN CNAME example.net.
example.net. 3600 IN A 127.0.0.2
;; AUTHORITY SECTION:
example.net. 3600 IN NS ns1.example.net.
;; ADDITIONAL SECTION:
ns1.example.net. 3600 IN A 127.0.0.1
(Gibt den CNAME zurück)
und
% dig nonspecific.test.example.net
; <<>> DiG 9.6.2-P2 <<>> nonspecific.test.example.net
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26980
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; QUESTION SECTION:
;nonspecific.test.example.net. IN A
;; ANSWER SECTION:
nonspecific.test.example.net. 3600 IN A 127.0.0.1
;; AUTHORITY SECTION:
example.net. 3600 IN NS ns1.example.net.
;; ADDITIONAL SECTION:
ns1.example.net. 3600 IN A 127.0.0.1
(Gibt den Platzhalter A-Datensatz zurück.)