Frotihngdog.ca
08-11-2008, 10:39 AM
Hey,
Here are the tcpdump outputs from each radio...hope it helps:
AP SIDE:
-------------
XS2.ar2316.v3.2-rc2.3578.080807.1722# ./tcpdump -i br0 -s 0 -n -e -v port 68
tcpdump: listening on br0, link-type EN10MB (Ethernet), capture size 65535 bytes
17:39:05.988937 00:15:6d:a6:57:b1 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342: (tos 0x0, ttl 128, id 0, offset 0, flags [none], proto: UDP (17), length: 328) 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:08:74:22:31:ec, length: 300, xid:0x196f802, flags: [Broadcast]
Client Ethernet Address: 00:08:74:22:31:ec
Vendor-rfc1048:
DHCP:DISCOVER
NOAUTO:Y
CID:[ether]00:08:74:22:31:ec
HN:"hometeam"
VC:"MSFT 5.0"
PR:SM+DN+DG+NS+WNS+WNT+WSC+RD+SR+T249+VO
17:39:06.016737 00:00:24:c3:a3:51 > 00:15:6d:a6:57:b1, ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 16, id 0, offset 0, flags [none], proto: UDP (17), length: 328) 10.1.38.1.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length: 300, xid:0x196f802, flags: [Broadcast]
Your IP: 10.1.38.50
Server IP: 10.1.38.1
Client Ethernet Address: 00:08:74:22:31:ec
Vendor-rfc1048:
DHCP:OFFER
SID:10.1.38.1
LT:120
SM:255.255.255.0
DN:"reztel.net"
DG:10.1.38.1
NS:216.185.64.10,216.185.64.6
17:39:09.987488 00:15:6d:a6:57:b1 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342: (tos 0x0, ttl 128, id 1, offset 0, flags [none], proto: UDP (17), length: 328) 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:08:74:22:31:ec, length: 300, xid:0x196f802, secs:1024, flags: [Broadcast]
Client Ethernet Address: 00:08:74:22:31:ec
Vendor-rfc1048:
DHCP:DISCOVER
NOAUTO:Y
CID:[ether]00:08:74:22:31:ec
HN:"hometeam"
VC:"MSFT 5.0"
PR:SM+DN+DG+NS+WNS+WNT+WSC+RD+SR+T249+VO
17:39:09.992925 00:00:24:c3:a3:51 > 00:15:6d:a6:57:b1, ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 16, id 0, offset 0, flags [none], proto: UDP (17), length: 328) 10.1.38.1.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length: 300, xid:0x196f802, secs:1024, flags: [Broadcast]
Your IP: 10.1.38.50
Server IP: 10.1.38.1
Client Ethernet Address: 00:08:74:22:31:ec
Vendor-rfc1048:
DHCP:OFFER
SID:10.1.38.1
LT:120
SM:255.255.255.0
DN:"reztel.net"
DG:10.1.38.1
NS:216.185.64.10,216.185.64.6
17:39:17.989197 00:15:6d:a6:57:b1 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342: (tos 0x0, ttl 128, id 2, offset 0, flags [none], proto: UDP (17), length: 328) 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:08:74:22:31:ec, length: 300, xid:0x196f802, secs:3072, flags: [Broadcast]
Client Ethernet Address: 00:08:74:22:31:ec
Vendor-rfc1048:
DHCP:DISCOVER
NOAUTO:Y
CID:[ether]00:08:74:22:31:ec
HN:"hometeam"
VC:"MSFT 5.0"
PR:SM+DN+DG+NS+WNS+WNT+WSC+RD+SR+T249+VO
17:39:17.994178 00:00:24:c3:a3:51 > 00:15:6d:a6:57:b1, ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 16, id 0, offset 0, flags [none], proto: UDP (17), length: 328) 10.1.38.1.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length: 300, xid:0x196f802, secs:3072, flags: [Broadcast]
Your IP: 10.1.38.50
Server IP: 10.1.38.1
Client Ethernet Address: 00:08:74:22:31:ec
Vendor-rfc1048:
DHCP:OFFER
SID:10.1.38.1
LT:120
SM:255.255.255.0
DN:"reztel.net"
DG:10.1.38.1
NS:216.185.64.10,216.185.64.6
17:39:32.991171 00:15:6d:a6:57:b1 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342: (tos 0x0, ttl 128, id 3, offset 0, flags [none], proto: UDP (17), length: 328) 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:08:74:22:31:ec, length: 300, xid:0x196f802, secs:6912, flags: [Broadcast]
Client Ethernet Address: 00:08:74:22:31:ec
Vendor-rfc1048:
DHCP:DISCOVER
NOAUTO:Y
CID:[ether]00:08:74:22:31:ec
HN:"hometeam"
VC:"MSFT 5.0"
PR:SM+DN+DG+NS+WNS+WNT+WSC+RD+SR+T249+VO
17:39:32.995996 00:00:24:c3:a3:51 > 00:15:6d:a6:57:b1, ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 16, id 0, offset 0, flags [none], proto: UDP (17), length: 328) 10.1.38.1.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length: 300, xid:0x196f802, secs:6912, flags: [Broadcast]
Your IP: 10.1.38.50
Server IP: 10.1.38.1
Client Ethernet Address: 00:08:74:22:31:ec
Vendor-rfc1048:
DHCP:OFFER
SID:10.1.38.1
LT:120
SM:255.255.255.0
DN:"reztel.net"
DG:10.1.38.1
NS:216.185.64.10,216.185.64.6
==============================================
STATION SIDE:
------------------
XS2.ar2316.v3.2-rc2.3578.080807.1722# ./tcpdump -i br0 -s 0 -n -e -v port 68
tcpdump: listening on br0, link-type EN10MB (Ethernet), capture size 65535 bytes
17:39:26.188904 00:15:6d:a6:57:b1 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342: (tos 0x0, ttl 128, id 72, offset 0, flags [none], proto: UDP (17), length: 328) 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:08:74:22:31:ec, length: 300, xid:0x4ea99285, flags: [Broadcast]
Client Ethernet Address: 00:08:74:22:31:ec
Vendor-rfc1048:
DHCP:DISCOVER
NOAUTO:Y
CID:[ether]00:08:74:22:31:ec
RQ:169.254.56.245
HN:"hometeam"
VC:"MSFT 5.0"
PR:SM+DN+DG+NS+WNS+WNT+WSC+RD+SR+T249+VO
17:39:26.198788 00:00:24:c3:a3:51 > 00:15:6d:a6:57:b1, ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 16, id 0, offset 0, flags [none], proto: UDP (17), length: 328) 10.1.38.1.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length: 300, xid:0x4ea99285, flags: [Broadcast]
Your IP: 10.1.38.50
Server IP: 10.1.38.1
Client Ethernet Address: 00:08:74:22:31:ec
Vendor-rfc1048:
DHCP:OFFER
SID:10.1.38.1
LT:120
SM:255.255.255.0
DN:"reztel.net"
DG:10.1.38.1
NS:216.185.64.10,216.185.64.6
17:39:29.189259 00:15:6d:a6:57:b1 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342: (tos 0x0, ttl 128, id 73, offset 0, flags [none], proto: UDP (17), length: 328) 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:08:74:22:31:ec, length: 300, xid:0x4ea99285, secs:768, flags: [Broadcast]
Client Ethernet Address: 00:08:74:22:31:ec
Vendor-rfc1048:
DHCP:DISCOVER
NOAUTO:Y
CID:[ether]00:08:74:22:31:ec
RQ:169.254.56.245
HN:"hometeam"
VC:"MSFT 5.0"
PR:SM+DN+DG+NS+WNS+WNT+WSC+RD+SR+T249+VO
17:39:29.196787 00:00:24:c3:a3:51 > 00:15:6d:a6:57:b1, ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 16, id 0, offset 0, flags [none], proto: UDP (17), length: 328) 10.1.38.1.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length: 300, xid:0x4ea99285, secs:768, flags: [Broadcast]
Your IP: 10.1.38.50
Server IP: 10.1.38.1
Client Ethernet Address: 00:08:74:22:31:ec
Vendor-rfc1048:
DHCP:OFFER
SID:10.1.38.1
LT:120
SM:255.255.255.0
DN:"reztel.net"
DG:10.1.38.1
NS:216.185.64.10,216.185.64.6
17:39:37.190948 00:15:6d:a6:57:b1 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342: (tos 0x0, ttl 128, id 74, offset 0, flags [none], proto: UDP (17), length: 328) 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:08:74:22:31:ec, length: 300, xid:0x4ea99285, secs:2816, flags: [Broadcast]
Client Ethernet Address: 00:08:74:22:31:ec
Vendor-rfc1048:
DHCP:DISCOVER
NOAUTO:Y
CID:[ether]00:08:74:22:31:ec
RQ:169.254.56.245
HN:"hometeam"
VC:"MSFT 5.0"
PR:SM+DN+DG+NS+WNS+WNT+WSC+RD+SR+T249+VO
17:39:37.197350 00:00:24:c3:a3:51 > 00:15:6d:a6:57:b1, ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 16, id 0, offset 0, flags [none], proto: UDP (17), length: 328) 10.1.38.1.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length: 300, xid:0x4ea99285, secs:2816, flags: [Broadcast]
Your IP: 10.1.38.50
Server IP: 10.1.38.1
Client Ethernet Address: 00:08:74:22:31:ec
Vendor-rfc1048:
DHCP:OFFER
SID:10.1.38.1
LT:120
SM:255.255.255.0
DN:"reztel.net"
DG:10.1.38.1
NS:216.185.64.10,216.185.64.6
17:39:52.192929 00:15:6d:a6:57:b1 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342: (tos 0x0, ttl 128, id 75, offset 0, flags [none], proto: UDP (17), length: 328) 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:08:74:22:31:ec, length: 300, xid:0x4ea99285, secs:6656, flags: [Broadcast]
Client Ethernet Address: 00:08:74:22:31:ec
Vendor-rfc1048:
DHCP:DISCOVER
NOAUTO:Y
CID:[ether]00:08:74:22:31:ec
RQ:169.254.56.245
HN:"hometeam"
VC:"MSFT 5.0"
PR:SM+DN+DG+NS+WNS+WNT+WSC+RD+SR+T249+VO
17:39:52.199288 00:00:24:c3:a3:51 > 00:15:6d:a6:57:b1, ethertype IPv4 (0x0800), length 342: (tos 0x10, ttl 16, id 0, offset 0, flags [none], proto: UDP (17), length: 328) 10.1.38.1.67 > 255.255.255.255.68: BOOTP/DHCP, Reply, length: 300, xid:0x4ea99285, secs:6656, flags: [Broadcast]
Your IP: 10.1.38.50
Server IP: 10.1.38.1
Client Ethernet Address: 00:08:74:22:31:ec
Vendor-rfc1048:
DHCP:OFFER
SID:10.1.38.1
LT:120
SM:255.255.255.0
DN:"reztel.net"
DG:10.1.38.1
NS:216.185.64.10,216.185.64.6
UBNT-keba
08-12-2008, 02:54 AM
Hi all
It seems I found what is wrong. According to your tcpdump info DHCP server sends offer by unicast packets:
17:39:06.016737 00:00:24:c3:a3:51 > 00:15:6d:a6:57:b1, ethertype IPv4 (0x0800),
length 342: (tos 0x10, ttl 16, id 0, offset 0, flags [none], proto: UDP (17),
length: 328) 10.1.38.1.67 > 255.255.255.255.68: BOOTP/DHCP,
Reply, length: 300, xid:0x196f802, flags: [Broadcast]
That is totally wrong and does not match RFC 2131 which says:
A client that cannot receive unicast IP datagrams until its protocol
software has been configured with an IP address SHOULD set the
BROADCAST bit in the 'flags' field to 1 in any DHCPDISCOVER or
DHCPREQUEST messages that client sends. The BROADCAST bit will
provide a hint to the DHCP server and BOOTP relay agent to broadcast
any messages to the client on the client's subnet.
Because request was with Broadcast flag set:
17:39:05.988937 00:15:6d:a6:57:b1 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 342: (tos 0x0, ttl 128, id 0, offset 0, flags [none], proto: UDP (17), length: 328) 0.0.0.0.68 > 255.255.255.255.67: BOOTP/DHCP, Request from 00:08:74:22:31:ec, length: 300, xid:0x196f802, flags: [Broadcast]
and the response has Broadcast flag set as well by DHCP server it self, so why DHCP server sends it as Unicast packet to NS2 Station?
We were testing there with:
Internet Systems Consortium DHCP Server v3.0.5 on linux box
Dnsmasq v2.35 as DHCP server on UBNT units (LS/NS/PS)
Mikrotik DHCP server with RouterOS v3.11, v2.9.51
all works good according RFC.