По предложенной в
документации схеме собрали стенд:
Версия Агента: BGDialupWiFiAgent_5.1_209
WifiAgent
eth0 192.168.2.11/24
eth1 172.16.0.1/24
DHCP сервер
eth0 192.168.2.12/24
range 172.16.0.2 172.16.0.254
При включении клиента происходит следующая цепочка событий:
1 WifiAgent получает DHCP DISCOVER
2 WifiAgent запрашивает адрес у сервера DHCP
3 WifiAgent получает адрес у сервера DHCP
4 WifiAgent отдает DHCP OFFER
Все бы ничего, однако, WifiAgent отправляет пакет OFFER на
конкретный адрес, который только предлагает клиенту (насколько я понимаю, данный пакет должен быть широковещательным). Клиент не дожидается предложения с IP адресом и продолжает слать DISCOVER. В чем может быть причина такой работы WiFiAgent? И как добиться того, чтобы клиент таки получил свой IP?
Вот пакеты DISCOVER (от клиента):
Код:
14:47:35.103653 IP (tos 0x0, ttl 128, id 13192, offset 0, flags [none], proto: UDP (17), length: 328) 0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 20:cf:30:6b:a1:df, length: 300, xid:0x901ae0be, flags: [Broadcast] (0x8000)
Client Ethernet Address: 20:cf:30:6b:a1:df
Vendor-rfc1048:
DHCP:DISCOVER
NOAUTO:Y
CID:[ether]20:cf:30:6b:a1:df
HN:"test-book"
VC:"MSFT 5.0"
PR:SM+DN+DG+NS+WNS+WNT+WSC+RD+SR+T249+VO
VO:220.0
0x0000: 4500 0148 3388 0000 8011 061e 0000 0000 E..H3...........
0x0010: ffff ffff 0044 0043 0134 1137 0101 0600 .....D.C.4.7....
0x0020: 901a e0be 0000 8000 0000 0000 0000 0000 ................
0x0030: 0000 0000 0000 0000 20cf 306b a1df 0000 ..........0k....
0x0040: 0000 0000 0000 0000 0000 0000 0000 0000 ................
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 0000 0000 0000 0000 0000 ................
0x00a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
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 6382 5363 3501 0174 ........c.Sc5..t
0x0110: 0101 3d07 0120 cf30 6ba1 df0c 0974 6573 ..=....0k....tes
0x0120: 742d 626f 6f6b 3c08 4d53 4654 2035 2e30 t-book<.MSFT.5.0
0x0130: 370b 010f 0306 2c2e 2f1f 21f9 2b2b 02dc 7.....,./.!.++..
0x0140: 00ff 0000 0000 0000 ........
и OFFER (вроде бы клиенту):
Код:
14:47:36.171538 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto: UDP (17), length: 315) 172.16.0.1.67 > 172.16.0.254.68: [udp sum ok] BOOTP/DHCP, Reply, length: 287, hops:1, xid:0x901ae0be, flags: [Broadcast] (0x8000)
Your IP: 172.16.0.254
Gateway IP: 192.168.2.11
Client Ethernet Address: 20:cf:30:6b:a1:df
Vendor-rfc1048:
DHCP:OFFER
SID:192.168.2.12
LT:21600
SM:255.255.255.0
DN:"xxxxxxxx.ru"
DG:172.16.0.1
NS:xx.xxx.xx.xxx
0x0000: 4500 013b 0000 4000 4011 e092 ac10 0001 E..;..@.@.......
0x0010: ac10 00fe 0043 0044 0127 bef6 0201 0601 .....C.D.'......
0x0020: 901a e0be 0000 8000 0000 0000 ac10 00fe ................
0x0030: 0000 0000 c0a8 020b 20cf 306b a1df 0000 ..........0k....
0x0040: 0000 0000 0000 0000 0000 0000 0000 0000 ................
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 0000 0000 0000 0000 0000 ................
0x00a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
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 6382 5363 3501 0236 ........c.Sc5..6
0x0110: 04c0 a802 0c33 0400 0054 6001 04ff ffff .....3...T`.....
0x0120: 000f 0bxx xxxx xxxx xxxx xx2e 7275 0304 ...xxxxxxxx.ru..
0x0130: ac10 0001 0604 xxxx xxxx ff ......xxxx.
Вот кусок "wifi_agent.properties", касающийся DHCP:
Код:
#dhcp options
dhcp=1
dhcp.server.host=192.168.2.12
dhcp.server.port=67
dhcp.agent.host=192.168.2.11
dhcp.minThreadCount=10
dhcp.maxThreadCount=10