[Dnsmasq-discuss] Wrong server IP in dual normal/proxyDHCP mode

Alkis Georgopoulos alkisg at gmail.com
Sat May 16 10:19:10 BST 2015


OK, I managed to pinpoint the difference using another tcpdump command 
line (-XX):
$ sudo tcpdump -i eth1 port 67 or port 68 or port 69 or port 4011 -e -n 
-vv -XX


1) Without the normal dhcp-range, so that the client boots successfully:

11:51:23.036199 c0:4a:00:02:bc:1e > 3c:07:71:a2:02:e3, ethertype IPv4 
(0x0800), length 342: (tos 0xc0, ttl 64, id 27064, offset 0, flags 
[none], proto UDP (17), length 328)
     10.161.254.11.4011 > 10.161.254.149.4011: [udp sum ok] UDP, length 300
   0x0000:  3c07 71a2 02e3 c04a 0002 bc1e 0800 45c0  <.q....J......E.
   0x0010:  0148 69b8 0000 4011 fd49 0aa1 fe0b 0aa1  .Hi... at ..I......
   0x0020:  fe95 0fab 0fab 0134 7a4c 0201 0600 72a2  .......4zL....r.
   0x0030:  02e3 0004 0000 0000 0000 0aa1 fe95 c0a8  ................
   0x0040:  4401 0000 0000 3c07 71a2 02e3 0000 0000  D.....<.q.......
   0x0050:  0000 0000 0000 0000 0000 0000 0000 0000  ................
   0x0060:  0000 0000 0000 0000 0000 0000 0000 0000  ................
   0x0070:  0000 0000 0000 0000 0000 0000 0000 0000  ................
   0x0080:  0000 0000 0000 0000 0000 0000 0000 0000  ................
   0x0090:  0000 0000 0000 6c74 7370 2f69 3338 362f  ......ltsp/i386/
   0x00a0:  7078 656c 696e 7578 2e30 0000 0000 0000  pxelinux.0......
   0x00b0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
   0x00c0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
   0x00d0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
   0x00e0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
   0x00f0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
   0x0100:  0000 0000 0000 0000 0000 0000 0000 0000  ................
   0x0110:  0000 0000 0000 6382 5363 3501 0536 04c0  ......c.Sc5..6..
   0x0120:  a844 013c 0950 5845 436c 6965 6e74 6111  .D.<.PXEClienta.
   0x0130:  0050 48dc b1ba 8ae2 11a0 0d3c 0771 a202  .PH........<.q..
   0x0140:  e32b 0747 0480 0000 00ff ff00 0000 0000  .+.G............
   0x0150:  0000 0000 0000                           ......


2) Including the normal dhcp-range, so that the client fails:

11:54:45.038754 c0:4a:00:02:bc:1e > 3c:07:71:a2:02:e3, ethertype IPv4 
(0x0800), length 342: (tos 0xc0, ttl 64, id 57382, offset 0, flags 
[none], proto UDP (17), length 328)
     10.161.254.11.4011 > 10.161.254.149.4011: [udp sum ok] UDP, length 300
   0x0000:  3c07 71a2 02e3 c04a 0002 bc1e 0800 45c0  <.q....J......E.
   0x0010:  0148 e026 0000 4011 86db 0aa1 fe0b 0aa1  .H.&.. at .........
   0x0020:  fe95 0fab 0fab 0134 7345 0201 0600 72a2  .......4sE....r.
   0x0030:  02e3 0004 0000 0000 0000 0aa1 fe95 0aa1  ................
   0x0040:  fe0b 0000 0000 3c07 71a2 02e3 0000 0000  ......<.q.......
   0x0050:  0000 0000 0000 0000 0000 0000 0000 0000  ................
   0x0060:  0000 0000 0000 0000 0000 0000 0000 0000  ................
   0x0070:  0000 0000 0000 0000 0000 0000 0000 0000  ................
   0x0080:  0000 0000 0000 0000 0000 0000 0000 0000  ................
   0x0090:  0000 0000 0000 6c74 7370 2f69 3338 362f  ......ltsp/i386/
   0x00a0:  7078 656c 696e 7578 2e30 0000 0000 0000  pxelinux.0......
   0x00b0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
   0x00c0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
   0x00d0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
   0x00e0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
   0x00f0:  0000 0000 0000 0000 0000 0000 0000 0000  ................
   0x0100:  0000 0000 0000 0000 0000 0000 0000 0000  ................
   0x0110:  0000 0000 0000 6382 5363 3501 0536 040a  ......c.Sc5..6..
   0x0120:  a1fe 0b3c 0950 5845 436c 6965 6e74 6111  ...<.PXEClienta.
   0x0130:  0050 48dc b1ba 8ae2 11a0 0d3c 0771 a202  .PH........<.q..
   0x0140:  e32b 0747 0480 0000 00ff ff00 0000 0000  .+.G............
   0x0150:  0000 0000 0000                           ......


Search for 192.168.68.1 (=c0.a8.44.01) in the first message, it exists 
in 2 offsets, while in the second (=correct) packet it doesn't.

Sorry I couldn't find out how to tell tcpdump or wireshark to decode 
that particular packet, wireshark just mentions it's a UDP protocol at 
altserviceboot (4011) port.



More information about the Dnsmasq-discuss mailing list