Alexey Konstantinov писал(а):
DHCP server (tag 200)----- (P9) DGS-1100-10/ME (P10)------ (tag 200) IP phone
Разработчики пока не смогли воспроизвести проблему на стенде, IP-телефон получает ответы от DHCP-сервера.
Уточните, в какой порт подключен телефон, с которым возникает проблема.
Порты 9-10 - аплинки, 10 - активный, 9 не подключен. С 1 по 8 - клиентские. Телефон висит на 2 порту.
В вашей нотации:
DHCP server (tag 200)----- (P10) DGS-1100-10/ME (P2)------ (tag 200) IP phone
Но на самом деле с учётом того, что включена опция "DHCP Relay", схема отображающая реальное прохождение DHCP пакетов выглядит так:
DHCP server (tag 222)----- (P10) DGS-1100-10/ME (P2)------ (tag 200) IP phone
ибо IP адрес коммутатора и соответственно шлюз для коммутатора через который он перенаправляет DHCP запросы клиентов находятся в влане 222.
Ещё раз посмотрел tcpdump`ом что происходит, при этом одновременно на портах 2 и 10 (включил миррор со 2 и 10 портов). И так, что мы видим (в сокращённом виде):
Код:
10:54:37.280071 64:9e:f3:76:90:98 > ff:ff:ff:ff:ff:ff, ethertype 802.1Q (0x8100), length 357: vlan 200, p 0, ethertype IPv4, (tos 0x0, ttl 32, id 59351, offset 0, flags [DF], proto UDP (17), length 339)
0.0.0.0.68 > 255.255.255.255.67: [udp sum ok] BOOTP/DHCP, Request from 64:9e:f3:76:90:98, length 311, xid 0x175300d5, secs 12, Flags [none] (0x0000)
10:54:37.287966 f0:b4:d2:3b:9f:76 > 52:54:00:2f:28:c1, ethertype 802.1Q (0x8100), length 375: vlan 222, p 0, ethertype IPv4, (tos 0x0, ttl 64, id 5201, offset 0, flags [none], proto UDP (17), length 357)
192.168.222.176.67 > 192.168.255.2.67: [udp sum ok] BOOTP/DHCP, Request from 64:9e:f3:76:90:98, length 329, hops 1, xid 0x175300d5, secs 12, Flags [none] (0x0000)
10:54:37.298891 52:54:00:2f:28:c1 > f0:b4:d2:3b:9f:76, ethertype 802.1Q (0x8100), length 353: vlan 222, p 3, ethertype IPv4, (tos 0x0, ttl 63, id 17198, offset 0, flags [DF], proto UDP (17), length 335)
192.168.255.2.67 > 192.168.222.176.67: [udp sum ok] BOOTP/DHCP, Reply, length 307, hops 1, xid 0x175300d5, secs 12, Flags [none] (0x0000)
10:54:37.299364 f0:b4:d2:3b:9f:76 > 64:9e:f3:76:90:98, ethertype IPv4 (0x0800), length 342: (tos 0x0, ttl 63, id 17197, offset 0, flags [DF], proto UDP (17), length 328)
192.168.222.176.67 > 10.231.2.24.68: [udp sum ok] BOOTP/DHCP, Reply, length 300, hops 1, xid 0x175300d5, secs 12, Flags [none] (0x0000)
Первый блок - DHCP запрос бродкастом с телефона (64:9e:f3:76:90:98), тегированный 200 влан - со 2 порта.
2 блок - этот-же запрос уже перенаправленный коммутатором (f0:b4:d2:3b:9f:76, 192.168.222.176) через шлюз (52:54:00:2f:28:c1) уникастом на DHCP сервер (192.168.255.2) по влану 222 - пакет с 10 порта.
3 блок - ответ DHCP сервера (192.168.255.2) отправленный на коммутатор (f0:b4:d2:3b:9f:76, 192.168.222.176), прошедший через шлюз (52:54:00:2f:28:c1), влан 222 - 10 порт. Пока всё хорошо.
И 4 блок - коммутатор (f0:b4:d2:3b:9f:76, 192.168.222.176) передаёт ответ DHCP сервера на телефон (64:9e:f3:76:90:98, 10.231.2.24) уникастом но !!!без тега!!! (должен быть установлен тег 200 влана, согласно настройкам порта №2 коммутатора, или я может чего-то непонимаю >_<) - пакет со второго порта. На телефон он приходит конечно, но телефон его дропает по вполне естественным причинам, - он ждёт ответ тегированный 200 вланом, недожидается и через таймаут всё начинается сначала...
Прошу заметить, что после всего этого телефон не дождавшись ответов таки устанавливет какой надо адрес (из кеша видимо...), и весь tcp/udp трафик телефона на втором порту идёт тегированный, как положено. Т.е. проблема касается только DHCP ответов!
Если нужна ещё какая дополнительная информация - напишите.
P.S.
А может (немного сумасшедшая теория) коммутатор как-нибудь криво прошитсья в процессе фирмваре апгрейда (причём без ругани), чтобы такой глюк имел место, к примеру? Можно его попробовать ещё раз прошить этой же версией?
P.P.S.
Ещё раскопал из конфига следующее:
Код:
config vlan vlanid 10 add untagged 1-6
config vlan vlanid 200 add tagged 2,9-10
config port_vlan 1-6 pvid 10
enable pvid auto_assign
Таким образом из этих строк следует, что второму порту назначается 10 влан нетегированный и 200 - тегированный. Дальше же ко второму порту прибивается гвоздями pvid 10 (признаюсь, не копал что означает эта опция и какое влияние она оказывает...), хотя в следующей строке влючается автоназначение pvid. А если назначить 2 порту pvid 200, допустим, заработает ли тегирование как надо, и что при этом будет с трафиком 10 влана через этот порт?.. (прошу прощения за нубские вопросы .__.)