[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