Chuck, You are using a caching resolver to check the responses and you only see response after its been resolved by Google's DNS server. Try dig @ns1.wordpress.com after12.failblog.org. to see the actual records that you would receive if you were a DNS server performing an authoritative query to wordpress.
Is having a CNAME in the additional section regular CNAME chaining, my understanding was that additional sections do not contain CNAMEs. -srinivas On Monday, June 25, 2012 5:29:24 PM UTC-4, Chuck Swiger wrote: > On Jun 25, 2012, at 2:13 PM, Srinivas Krishnan wrote: > > The RFC rules on CNAMEs is fairly tight but I am seeing an increasing > > amount of traffic with misconfigured CNAMEs some of which are accepted > > by BIND as valid responses. The examples capture three trends, note > > these are actual responses: > > > > 1) Example-1: CNAME in the additional section necessary to finish > > processing of response. BIND accepts this as valid: > > > > proto: DNS: id=febd qr=1 QUERY AA NOERROR qdcount=1 ancount=7 > > nscount=6 arcount=7 > > query: after12.failblog.org. A IN > > answer: after12.failblog.org. CNAME IN TTL=3600 > > chzallnighter.wordpress.com. > > answer: vip-lb.wordpress.com. A IN TTL=300 72.233.104.123 > > nameserver: wordpress.com. NS IN TTL=14400 ns1.wordpress.com. > > nameserver: wordpress.com. NS IN TTL=14400 ns2.wordpress.com. > > additional: chzallnighter.wordpress.com. CNAME IN TTL=300 > > vip-lb.wordpress.com. > > additional: ns1.wordpress.com. A IN TTL=14400 72.233.69.14 > > additional: ns2.wordpress.com. A IN TTL=14400 76.74.159.137 > > This is standard CNAME chaining, per RFC-1034: > > % dig after12.failblog.org @8.8.8.8 > [ ... ] > ;; QUESTION SECTION: > ;after12.failblog.org. IN A > > ;; ANSWER SECTION: > after12.failblog.org. 3416 IN CNAME chzallnighter.wordpress.com. > chzallnighter.wordpress.com. 116 IN CNAME vip-lb.wordpress.com. > vip-lb.wordpress.com. 116 IN A 74.200.247.187 > vip-lb.wordpress.com. 116 IN A 76.74.255.117 > vip-lb.wordpress.com. 116 IN A 76.74.255.123 > vip-lb.wordpress.com. 116 IN A 72.233.104.123 > vip-lb.wordpress.com. 116 IN A 72.233.127.217 > vip-lb.wordpress.com. 116 IN A 74.200.247.59 > > > 2) Example-2: Multiple CNAMEs with same label but different data, BIND > > finds this to be incorrect and retries if another nameserver is > > available: > > > > > > proto: DNS: id=8faa qr=1 QUERY AA NOERROR qdcount=1 ancount=2 nscount=13 > > query: image.dhgate.com. A IN > > answer: image.dhgate.com. CNAME IN TTL=7200 image.dhgate.chinacache.net. > > answer: image.dhgate.com. CNAME IN TTL=7200 image.dhgate.com.cdn20.com. > > nameserver: . NS IN TTL=518400 a.root-servers.net. > > nameserver: . NS IN TTL=518400 b.root-servers.net. > > nameserver: . NS IN TTL=518400 c.root-servers.net. > > % dig image.dhgate.com @8.8.8.8 > [ ... ] > ;; QUESTION SECTION: > ;image.dhgate.com. IN A > > ;; ANSWER SECTION: > image.dhgate.com. 26 IN CNAME image.dhgate.com.cdn20.com. > image.dhgate.com.cdn20.com. 29 IN CNAME > image.dhgate.com.wscdns.com. > image.dhgate.com.wscdns.com. 29 IN CNAME > dhgate.com.edgesuite.net. > dhgate.com.edgesuite.net. 1381 IN CNAME a1015.b.akamai.net. > a1015.b.akamai.net. 20 IN A 65.121.208.137 > a1015.b.akamai.net. 20 IN A 65.121.208.120 > > I wonder where chinacache.net came from in your case, unless they are using > different CDNs in different parts of the world. Around here, they're using > Akamai EdgeSuite. > > Again, this looks to be standard CNAME chaining, only your query didn't chase > image.dhgate.com.cdn20.com any further. > > > 3) Example-3: Multiple CNAMEs with same and data, BIND finds this to > > be incorrect as well and retries. > > > > proto: DNS: id=a0f6 qr=1 QUERY AA NOERROR qdcount=1 ancount=2 > > nscount=3 arcount=3 > > query: www.smilebox.com. A IN > > answer: www.smilebox.com. CNAME IN TTL=3600 www.g.smilebox.com. > > answer: www.smilebox.com. CNAME IN TTL=3600 www.g.smilebox.com. > > nameserver: smilebox.com. NS IN TTL=86400 ns1.smilebox.com. > > nameserver: smilebox.com. NS IN TTL=86400 ns2.smilebox.com. > > nameserver: smilebox.com. NS IN TTL=86400 ns3.smilebox.com. > > additional: ns1.smilebox.com. A IN TTL=86400 207.66.132.8 > > additional: ns2.smilebox.com. A IN TTL=86400 216.218.214.52 > > additional: ns3.smilebox.com. A IN TTL=86400 71.164.20.101 > > > > My question really what are the rules governing CNAME processing in > > BIND and why does Example-1 allowed as valid. > > >From here, this gets: > > % dig www.smilebox.com @8.8.8.8 > [ ... ] > ;; QUESTION SECTION: > ;www.smilebox.com. IN A > > ;; ANSWER SECTION: > www.smilebox.com. 3421 IN CNAME www.g.smilebox.com. > www.g.smilebox.com. 121 IN A 216.218.214.53 > > ...which is a single CNAME pointing to an A record. Are you sure your > "ancount=2" > was really two copies of the same CNAME, rather than a CNAME and A record? > > Regards, > -- > -Chuck _______________________________________________ Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe from this list bind-users mailing list bind-users@lists.isc.org https://lists.isc.org/mailman/listinfo/bind-users