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