RE: Got bad packet: bad label type

"Sciandra, Joel" <[email protected]> Wed, 22 Oct 2008 15:10:11 -0400
Newsgroups gmane.network.djbdns,gmane.comp.djb.syslog
Message-ID <82B538FA073F2A4CA1F6DEA063B12BD80149574C@STNTEXCH12.cis.neustar.com>
This one is killing me. Some names have changed to protect the
innocent...

They reported that that are getting "Got bad packet: bad label type"
answer from a host -a query to the Recursive VIP to one node in NY. 
(The other node has a forwarder to a windows DC for the zone which would
explain why the node in NJ is giving a different answer.) 

[root@stick ~]# host -a _kerberos._udp.ITWEB.XXX.NET 10.40.75.57 
Trying "_kerberos._udp.ITWEB.XXX.NET" 
;; Got bad packet: bad label type 
160 bytes 
fe e8 81 80 00 01 00 04 00 00 00 00 09 5f 6b 65 
72 62 65 72 6f 73 04 5f 75 64 70 05 49 54 57 45 
42 05 57 45 42 4d 44 03 4e 45 54 00 00 ff 00 01 
c0 0c 00 21 00 01 00 00 02 58 00 10 00 00 00 64 
00 58 07 64 6e 79 64 63 30 32 c0 3f c0 0c 00 21 
00 01 00 00 02 58 00 10 00 00 00 64 00 58 07 64 
6e 79 64 63 30 31 c0 3f c0 0c 00 21 00 01 00 00 
02 58 00 10 00 00 00 64 00 58 07 64 6e 6a 64 63 
30 32 c0 3f c0 0c 00 21 00 01 00 00 02 58 00 10 
00 00 00 64 00 58 07 64 6e 6a 64 63 30 31 c0 3f 

djbdns-dnscache-1.05-2 


This is where it gets weird: 
A dig for the SRV record _kerberos._udp.itweb.xxx.net always gives the
right answer (regardless of case): 
[edns@pultdns01 ~]$ dig @10.40.75.57 _kerberos._udp.itweb.xxx.net. SRV 
; <<>> DiG 9.2.4 <<>> @10.40.75.57 _kerberos._udp.itweb.xxx.net. SRV 
; (1 server found) 
;; global options: printcmd 
;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1872 
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0 
;; QUESTION SECTION: 
;_kerberos._udp.itweb.xxx.net. IN SRV 
;; ANSWER SECTION: 
_kerberos._udp.itweb.xxx.net. 60 IN SRV 0 100 88 dnjdc01.itweb.xxx.net. 
_kerberos._udp.itweb.xxx.net. 60 IN SRV 0 100 88 dnydc02.itweb.xxx.net. 
_kerberos._udp.itweb.xxx.net. 60 IN SRV 0 100 88 dnydc01.itweb.xxx.net. 
_kerberos._udp.itweb.xxx.net. 60 IN SRV 0 100 88 dnjdc02.itweb.xxx.net. 
;; Query time: 1 msec 
;; SERVER: 10.40.75.57#53(10.40.75.57) 
;; WHEN: Tue Oct 21 12:22:49 2008 
;; MSG SIZE rcvd: 160 

and 

[edns@pultdns01 ~]$ dig @10.40.75.57 _kerberos._udp.ITWEB.XXX.NET. SRV 
; <<>> DiG 9.2.4 <<>> @10.40.75.57 _kerberos._udp.ITWEB.XXX.NET. SRV 
; (1 server found) 
;; global options: printcmd 
;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43342 
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0 
;; QUESTION SECTION: 
;_kerberos._udp.ITWEB.XXX.NET. IN SRV 
;; ANSWER SECTION: 
_kerberos._udp.ITWEB.XXX.NET. 9 IN SRV 0 100 88 dnydc02.ITWEB.XXX.NET. 
_kerberos._udp.ITWEB.XXX.NET. 9 IN SRV 0 100 88 dnydc01.ITWEB.XXX.NET. 
_kerberos._udp.ITWEB.XXX.NET. 9 IN SRV 0 100 88 dnjdc02.ITWEB.XXX.NET. 
_kerberos._udp.ITWEB.XXX.NET. 9 IN SRV 0 100 88 dnjdc01.ITWEB.XXX.NET. 
;; Query time: 0 msec 
;; SERVER: 10.40.75.57#53(10.40.75.57) 
;; WHEN: Tue Oct 21 13:10:24 2008 
;; MSG SIZE rcvd: 160 

using the host command produces: 
[edns@pultdns01 ~]$ host -a _kerberos._udp.ITWEB.XXX.NET 10.40.75.57 
Trying "_kerberos._udp.ITWEB.XXX.NET" 
;; Got bad packet: bad label type 
160 bytes 
f1 14 81 80 00 01 00 04 00 00 00 00 09 5f 6b 65 
72 62 65 72 6f 73 04 5f 75 64 70 05 49 54 57 45 
42 05 57 45 42 4d 44 03 4e 45 54 00 00 ff 00 01 
c0 0c 00 21 00 01 00 00 00 3c 00 10 00 00 00 64 
00 58 07 64 6e 79 64 63 30 32 c0 3f c0 0c 00 21 
00 01 00 00 00 3c 00 10 00 00 00 64 00 58 07 64 
6e 79 64 63 30 31 c0 3f c0 0c 00 21 00 01 00 00 
00 3c 00 10 00 00 00 64 00 58 07 64 6e 6a 64 63 
30 32 c0 3f c0 0c 00 21 00 01 00 00 00 3c 00 10 
00 00 00 64 00 58 07 64 6e 6a 64 63 30 31 c0 3f 

and 

[edns@pultdns01 ~]$ host -a _kerberos._udp.itweb.xxx.net 10.40.75.57 
Trying "_kerberos._udp.itweb.xxx.net" 
Using domain server: 
Name: 10.40.75.57 
Address: 10.40.75.57#53 
Aliases: 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54165 
;; flags: qr rd ra; QUERY: 1, ANSWER: 4, AUTHORITY: 0, ADDITIONAL: 0 
;; QUESTION SECTION: 
;_kerberos._udp.itweb.xxx.net. IN ANY 
;; ANSWER SECTION: 
_kerberos._udp.itweb.xxx.net. 60 IN SRV 0 100 88 dnydc02.itweb.xxx.net. 
_kerberos._udp.itweb.xxx.net. 60 IN SRV 0 100 88 dnydc01.itweb.xxx.net. 
_kerberos._udp.itweb.xxx.net. 60 IN SRV 0 100 88 dnjdc02.itweb.xxx.net. 
_kerberos._udp.itweb.xxx.net. 60 IN SRV 0 100 88 dnjdc01.itweb.xxx.net. 
Received 160 bytes from 10.40.75.57#53 in 1 ms 

NSLOOKUP produces similar results as the host command: 

[edns@pultdns01 ~]$ nslookup 
> server 10.40.75.57 
Default server: 10.40.75.57 
Address: 10.40.75.57#53 
> set type=ANY 
> _kerberos._udp.itweb.xxx.net. 
Server: 10.40.75.57 
Address: 10.40.75.57#53 

Non-authoritative answer: 
_kerberos._udp.itweb.xxx.net service = 0 100 88 dnydc02.itweb.xxx.net. 
_kerberos._udp.itweb.xxx.net service = 0 100 88 dnydc01.itweb.xxx.net. 
_kerberos._udp.itweb.xxx.net service = 0 100 88 dnjdc02.itweb.xxx.net. 
_kerberos._udp.itweb.xxx.net service = 0 100 88 dnjdc01.itweb.xxx.net. 

Authoritative answers can be found from: 
> _kerberos._udp.ITWEB.XXX.NET. 
;; Got bad packet: bad label type 
160 bytes 
ad 72 81 80 00 01 00 04 00 00 00 00 09 5f 6b 65 
72 62 65 72 6f 73 04 5f 75 64 70 05 49 54 57 45 
42 05 57 45 42 4d 44 03 4e 45 54 00 00 ff 00 01 
c0 0c 00 21 00 01 00 00 00 3c 00 10 00 00 00 64 
00 58 07 64 6e 79 64 63 30 32 c0 3f c0 0c 00 21 
00 01 00 00 00 3c 00 10 00 00 00 64 00 58 07 64 
6e 79 64 63 30 31 c0 3f c0 0c 00 21 00 01 00 00 
00 3c 00 10 00 00 00 64 00 58 07 64 6e 6a 64 63 
30 32 c0 3f c0 0c 00 21 00 01 00 00 00 3c 00 10 
00 00 00 64 00 58 07 64 6e 6a 64 63 30 31 c0 3f 

Any of these mixed case queries can be performed successfully to the
local machine (auth) address. It only behaves like this on the Recursive
VIP. 

I turned on query.log.all and answer.log which looks normal but the
second answer produced the "Got bad packet: bad label type" answer. 

Oct 21 12:03:06 pultdns01 myDNS[25815]: ---------- ADDITIONAL RECORDS
---------- 
Oct 21 12:03:11 pultdns01 myDNS[25815]: QUERY 127.0.0.1 --> T:SRV C:IN
Q:_kerberos._udp.itweb.xxx.net. Z:itweb.xxx.net. 
Oct 21 12:03:11 pultdns01 myDNS[25815]: RESPONSE 127.0.0.1 --> ST:0 AA:1
CN:0 AN:4 NS:4 AR:4 
Oct 21 12:03:11 pultdns01 myDNS[25815]: ---------- CNAME RECORDS
---------- 
Oct 21 12:03:11 pultdns01 myDNS[25815]: ---------- ANSWER RECORDS
---------- 
Oct 21 12:03:11 pultdns01 myDNS[25815]: TYPE:SRV CLASS:IN TTL:60 MARK:
NAME:_kerberos._udp.itweb.xxx.net. 
Oct 21 12:03:11 pultdns01 myDNS[25815]: 1:0 
Oct 21 12:03:11 pultdns01 myDNS[25815]: 2:100 
Oct 21 12:03:11 pultdns01 myDNS[25815]: 3:88 
Oct 21 12:03:11 pultdns01 myDNS[25815]: 4:dnydc01.itweb.xxx.net. 
Oct 21 12:03:11 pultdns01 myDNS[25815]: TYPE:SRV CLASS:IN TTL:60 MARK:
NAME:_kerberos._udp.itweb.xxx.net. 
Oct 21 12:03:11 pultdns01 myDNS[25815]: 1:0 
Oct 21 12:03:11 pultdns01 myDNS[25815]: 2:100 
Oct 21 12:03:11 pultdns01 myDNS[25815]: 3:88 
Oct 21 12:03:11 pultdns01 myDNS[25815]: 4:dnjdc02.itweb.xxx.net. 
Oct 21 12:03:11 pultdns01 myDNS[25815]: TYPE:SRV CLASS:IN TTL:60 MARK:
NAME:_kerberos._udp.itweb.xxx.net. 
Oct 21 12:03:11 pultdns01 myDNS[25815]: 1:0 
Oct 21 12:03:11 pultdns01 myDNS[25815]: 2:100 
Oct 21 12:03:11 pultdns01 myDNS[25815]: 3:88 
Oct 21 12:03:11 pultdns01 myDNS[25815]: 4:dnjdc01.itweb.xxx.net. 
Oct 21 12:03:11 pultdns01 myDNS[25815]: TYPE:SRV CLASS:IN TTL:60 MARK:
NAME:_kerberos._udp.itweb.xxx.net. 
Oct 21 12:03:11 pultdns01 myDNS[25815]: 1:0 
Oct 21 12:03:11 pultdns01 myDNS[25815]: 2:100 
Oct 21 12:03:11 pultdns01 myDNS[25815]: 3:88 
Oct 21 12:03:11 pultdns01 myDNS[25815]: 4:dnydc02.itweb.xxx.net. 


Oct 21 12:03:18 pultdns01 myDNS[25815]: QUERY 127.0.0.1 --> T:ANY C:IN
Q:_kerberos._udp.ITWEB.XXX.NET. Z:itweb.xxx.net. 
Oct 21 12:03:18 pultdns01 myDNS[25815]: RESPONSE 127.0.0.1 --> ST:0 AA:0
CN:0 AN:4 NS:0 AR:4 
Oct 21 12:03:18 pultdns01 myDNS[25815]: ---------- CNAME RECORDS
---------- 
Oct 21 12:03:18 pultdns01 myDNS[25815]: ---------- ANSWER RECORDS
---------- 
Oct 21 12:03:18 pultdns01 myDNS[25815]: TYPE:SRV CLASS:IN TTL:60 MARK:
NAME:_kerberos._udp.itweb.xxx.net. 
Oct 21 12:03:18 pultdns01 myDNS[25815]: 1:0 
Oct 21 12:03:18 pultdns01 myDNS[25815]: 2:100 
Oct 21 12:03:18 pultdns01 myDNS[25815]: 3:88 
Oct 21 12:03:18 pultdns01 myDNS[25815]: 4:dnydc02.itweb.xxx.net. 
Oct 21 12:03:18 pultdns01 myDNS[25815]: TYPE:SRV CLASS:IN TTL:60 MARK:
NAME:_kerberos._udp.itweb.xxx.net. 
Oct 21 12:03:18 pultdns01 myDNS[25815]: 1:0 
Oct 21 12:03:18 pultdns01 myDNS[25815]: 2:100 
Oct 21 12:03:18 pultdns01 myDNS[25815]: 3:88 
Oct 21 12:03:18 pultdns01 myDNS[25815]: 4:dnydc01.itweb.xxx.net. 
Oct 21 12:03:18 pultdns01 myDNS[25815]: TYPE:SRV CLASS:IN TTL:60 MARK:
NAME:_kerberos._udp.itweb.xxx.net. 
Oct 21 12:03:18 pultdns01 myDNS[25815]: 1:0 
Oct 21 12:03:18 pultdns01 myDNS[25815]: 2:100 
Oct 21 12:03:18 pultdns01 myDNS[25815]: 3:88 
Oct 21 12:03:18 pultdns01 myDNS[25815]: 4:dnjdc02.itweb.xxx.net. 
Oct 21 12:03:18 pultdns01 myDNS[25815]: TYPE:SRV CLASS:IN TTL:60 MARK:
NAME:_kerberos._udp.itweb.xxx.net. 
Oct 21 12:03:18 pultdns01 myDNS[25815]: 1:0 
Oct 21 12:03:18 pultdns01 myDNS[25815]: 2:100 
Oct 21 12:03:18 pultdns01 myDNS[25815]: 3:88 
Oct 21 12:03:18 pultdns01 myDNS[25815]: 4:dnjdc01.itweb.xxx.net