chixpyx Posted August 16, 2011 Posted August 16, 2011 (edited) Уважаемые форумчане ! Нашёл пару глюков в разных версиях прошивок 3526, с первой можно жить но как то неуютно, со второй жить вообще нельзя. Этим глюкам подвержены как 3526 так и 3550. Итак глюк №1, официальный релиз "Firmware: Build 5.01.B65" с сайта длинк. Суть проблемы - коммутатор не знает где у него аплинк находится. Моделируется просто: Минимальный требуемый функционал: свич с 2 вланами,в одном управление, в другом абоненты. Идея проста: 1. Смотрим куда смотрит iproute default 2. Пингуем на всякий случай этот адрес 3. Смотрим ARP запись для этого адреса 4. Сморит FDB запись для полученного MAC-адреса Результат эксперимента: switch:admin#sh iproute Command: show iproute Routing Table IP Address/Netmask Gateway Interface Hops Protocol ------------------ --------------- ------------ -------- -------- 0.0.0.0 192.168.255.254 System 1 Default 192.168.252.0/22 0.0.0.0 System 1 Local Total Entries : 2 switch:admin#ping 192.168.255.254 Command: ping 192.168.255.254 Reply from 192.168.255.254, time=10ms Reply from 192.168.255.254, time<10ms Ping Statistics for 192.168.255.254 Packets: Sent =2, Received =2, Lost =0 switch:admin#show arpentry ipaddress 192.168.255.254 Command: show arpentry ipaddress 192.168.255.254 ARP Aging Time : 20 Interface IP Address MAC Address Type ------------- --------------- ----------------- --------------- System 192.168.255.254 00-15-77-89-3D-70 Dynamic Total Entries: 1 switch:admin#sh fdb mac 00-15-77-89-3D-70 Command: show fdb mac_address 00-15-77-89-3D-70 VID VLAN Name MAC Address Port Type ---- ---------------- ----------------- ------ ---------------- Total Entries : 0 Конечно само по себе это не есть суперпроблема, просто подумалось, что у этого косяка могут быть несколько более далеко растущие корни и последствия. У техсуппорта была выпрошена последняя нерелизная прошивка 6.00.B48. Наверное с полгода было всё пучком, всё работало как часы. И настал момент истины - массовые звонки абонентов, по 2-3 абонента со свича. У всех непонятная проблема: абонент подключается, получает правильный IP-адрес, винда рисует сеть с доступом к инету, а дальше как фмшка ляжет. Может заработать сразу, может через 5 минут (довольно стабильно, если попалось), а может вообще не заработать. После пары дней танцев с бубном обнаружилась просто удивительная вещь. Используемые фичи: опция 82, dhcp snooping Абонент получает правильный IP адрес, в логе dhcp сервера откладывается соответствующая правильная запись, address binding показывает правильную привязку правильной связки IP-MAC на правильном порту коммутатора, а далее MAC-адрес абонента обнаруживается на совершенно другом порту коммутатора. По началу грешил на каких то нехороших абонентов, зачем то клонирующих MAC-адреса соседей по коммутатору, правда с непонятной целью. Но в процессе исследования было выяснено, что чаще всего MAC-адрес клиента светится на порту, на котором даже линка нет, причём как при простом отсутствии кабеля в том порту, так и при наличии state disabled на этом порту. Результат исследования: switch:admin#show address_binding dhcp_snoop binding_entry port 6 Command: show address_binding dhcp_snoop binding_entry port 6 Inactive Entry Aging Time = DHCP Lease Time IP Address MAC Address Lease Time Port Status --------------- ----------------- ---------- ---- -------- **.**.***.** 90-FB-A6-E2-18-03 229 6 Active Total entries : 1 switch:admin#sh fdb port 6 Command: show fdb port 6 VID VLAN Name MAC Address Port Type ---- ---------------- ----------------- ------ ---------------- Total Entries : 0 switch:admin#sh fdb mac 90-FB-A6-E2-18-03 Command: show fdb mac_address 90-FB-A6-E2-18-03 VID VLAN Name MAC Address Port Type ---- ---------------- ----------------- ------ ---------------- 237 net-237 90-FB-A6-E2-18-03 1 Dynamic Total Entries : 1 switch:admin#sh ports 1 Command: show ports 1 Port State/ Settings Connection Address Trap MDIX Speed/Duplex/FlowCtrl Speed/Duplex/FlowCtrl Learning State ----- ---------- --------------------- --------------------- -------- -------- 1 Disabled Auto/Disabled Link Down Enabled Enabled Auto switch:admin#cable_diag ports 1 Command: cable_diag ports 1 Perform Cable Diagnostics ... Port Type Link Status Test Result Cable Length (M) ---- ------ ------------- ----------------------------- ---------------- 1 FE Link Down No Cable - switch:admin#sh fdb port 1 Command: show fdb port 1 VID VLAN Name MAC Address Port Type ---- ---------------- ----------------- ------ ---------------- 237 net-237 90-FB-A6-E2-18-03 1 Dynamic Total Entries : 1 Смею заметить, что данная ситуация проявилась практически на всех коммутаторах одновременно в интервале 2-3 дней. Так же наблюдение - звонков было бы больше :) но почему то это касалось максимум 3 абонентов на коммутатор. Пришлось срочно откатить на официальный релиз - вроде звонки прекратились. Очень интересует Ваше мнение, уважаемые дамы и господа :) Edited August 16, 2011 by chixpyx Вставить ник Quote
s.lobanov Posted August 16, 2011 Posted August 16, 2011 По первой проблеме всё достаточно просто. Изучать мак-адрес шлюза в данной ситуации не требуется, будет он изучаться или нет - зависит от способа пересылки трафика из чипа в процессор. Проведите ещё один эксперимент. Назначьте на какой-нибудь порт влан управления, включите туда PC и пропингуйте шлюз с PC, в этом случае мак-адрес шлюза должен изучиться на аплинковском порту. По второй проблеме - косяк софта, ничего страшного, напишите им, они поправят. Купили китайский дешёвый свитч, теперь будете бесплатным бета-тестером. Вставить ник Quote
nomah Posted August 16, 2011 Posted August 16, 2011 На 3526 сейчас есть прошивки 6.x Вставить ник Quote
tartila Posted August 18, 2011 Posted August 18, 2011 По первой проблеме всё достаточно просто. Изучать мак-адрес шлюза в данной ситуации не требуется, будет он изучаться или нет - зависит от способа пересылки трафика из чипа в процессор. Проведите ещё один эксперимент. Назначьте на какой-нибудь порт влан управления, включите туда PC и пропингуйте шлюз с PC, в этом случае мак-адрес шлюза должен изучиться на аплинковском порту. По второй проблеме - косяк софта, ничего страшного, напишите им, они поправят. Купили китайский дешёвый свитч, теперь будете бесплатным бета-тестером. Согласен со всем. Но вот есть один глючек у 3526, который до сих пор не поправили, даже в 6 ветке. Хотя я в Dlink писал/звонил/etc. При addr bind таблица fdb не всегда отображает mac для blocked юзверя, хотя trap по mac есть. ;) Вставить ник Quote
Negator Posted August 18, 2011 Posted August 18, 2011 мы по этой причине отказались и от дхцп снупинга и от биндингов. Просто автоматически по snmp из биллинга строим ACL на каждый порт. Ничего особо сложного -работает как часы. Вставить ник Quote
s.lobanov Posted August 18, 2011 Posted August 18, 2011 мы по этой причине отказались и от дхцп снупинга и от биндингов. Просто автоматически по snmp из биллинга строим ACL на каждый порт. Ничего особо сложного -работает как часы. И в 500 раз надёжнее, т.к. dhcp-snooping работает на cpu и получаем, что качество услуг сильно зависит от того насколько криво он реализован. Для небольших операторов такое(статическое) решение оптимальное. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.