И мы снова говорим Вам "здравствуйте".
Собираю стенд.
Вот схема, уж простите за псевдографику. Просто хочу чтобы проблема обсуждалась всеми на одинаковом языке в четких рамках постановки задачи. Уж как смог.
|=================================|
|**********Коммутатор(1)*********3627G |
|*************************************|
|*************************************|
|(1 порт)******************************|
|=================================|
|
|
|
|=================================|
|(26 порт)***Коммутатор(2)**********3526 |
|*************************************|
|*************************************|
|(25 порт)*****************************|
|=================================|
|
|
|
|=================================|
|(26 порт)***Коммутатор(3)**********3526 |
|*************************************|
|*************************************|
|(25 порт)*****************************|
|=================================|
|
|
|
|=================================|
|(26 порт)***Коммутатор(4)**********3526 |
|*************************************|
|*************************************|
|(25 порт)*****************************|
|=================================|
|
|
|
|=================================|
|(26 порт)***Коммутатор(5)**********3526 |
|*************************************|
|*************************************|
|(1 порт)******************************|
|=================================|
|
|
|
|==================|
|********************|
|*******PC***********|
|********************|
|==================|
1) По поводу прошивок:
На 3627G - Firmware Version : Build 2.51.B15
На всех 3526 - Firmware Version : Build 6.00.B36 (эта прошивка была предоставлена по запросу здесь
http://forum.dlink.ru/viewtopic.php?t=92700&postdays=0&postorder=asc&start=3885)
2) Цель всей затеи - понять принцип работы протокола GVRP на коммутаторах DES3526.
3) Первым делом создаем на 3627G вилан(vlan100). И на основе этого вилана создаем интерфейс, который будет в дальнейшем шлюзом по умолчанию дла всех коммутаторов
Делаем это так
create vlan vlan100 tag 100
config vlan vlan100 add tag 1-2
create ipif vlan100if 192.168.0.1/29 vlan100
4) Затем на 3627G создаем вилан
create vlan vlan200 tag 200
Затем добавляем этот вилан в 1-ый порт
config vlan vlan200 add tag 1
Смотрим, что у нас получилось
DGS-3627G:5#sh vlan
Command: show vlan
VID : 1 VLAN Name : default
VLAN Type : Static Advertisement : Enabled
Member Ports : 23,25-27
Static Ports : 23,25-27
Current Tagged Ports :
Current Untagged Ports: 23,25-27
Static Tagged Ports :
Static Untagged Ports : 23,25-27
Forbidden Ports :
VID : 100 VLAN Name : vlan100
VLAN Type : Static Advertisement : Disabled
Member Ports : 1-2
Static Ports : 1-2
Current Tagged Ports : 1-2
Current Untagged Ports:
Static Tagged Ports : 1-2
Static Untagged Ports :
Forbidden Ports :
VID : 200 VLAN Name : vlan200
VLAN Type : Static Advertisement : Disabled
Member Ports : 1
Static Ports : 1
Current Tagged Ports : 1
Current Untagged Ports:
Static Tagged Ports : 1
Static Untagged Ports :
Forbidden Ports :
Total Entries: 3
DGS-3627G:5#
Сразу замечу, что вилан default я убрал с порта 1, т.е. с того порта, который будет задействован для построения цепочки коммутаторов.
5) На 3627G поднял ipif на основе vlan200
Вот он
DGS-3627G:5#sh ipif
Command: show ipif
IP Interface : System
VLAN Name : default
Interface Admin state : Enabled
IPv4 Address : 10.0.0.1/30 (Manual) Primary
Proxy ARP : Disabled (Local : Disabled)
IP MTU : 1500
IP Interface : vlan100if
VLAN Name : vlan100
Interface Admin state : Enabled
IPv4 Address : 192.168.0.1/29 (Manual) Primary
Proxy ARP : Disabled (Local : Disabled)
IP MTU : 1500
IP Interface : vlan200if
VLAN Name : vlan200
Interface Admin state : Enabled
IPv4 Address : 192.168.100.1/24 (Manual) Primary
Proxy ARP : Disabled (Local : Disabled)
IP MTU : 1500
Total Entries : 3
DGS-3627G:5#
А вот и таблица маршрутизации на 3627G
DGS-3627G:5#show iproute
Command: show iproute
Routing Table
IP Address/Netmask Gateway Interface Cost Protocol
------------------ --------------- ------------ -------- --------
192.168.0.0/29 0.0.0.0 vlan100if 1 Local
192.168.100.0/24 0.0.0.0 vlan200if 1 Local
Total Entries : 2
DGS-3627G:5#
6) Едем дальше. На всех коммутаторах 3526 я поднял ip-адреса в вилане vlan100. Как я понимаю - это на работу GVRP влиять не должно поэтому детально описывать эту операцию не буду.
7) На всех коммутаторах 3526 включаю GVRP на магистральных портах следующим образом:
DES-3526:admin#config gvrp 25-26 state enable ingress_checking enable acceptable_frame admit_all pvid 100
Command: config gvrp 25-26 state enable ingress_checking enable acceptable_frame admit_all pvid 100
Success.
DES-3526:admin#
И включаю глобально GVRP
DES-3526:admin#enable gvrp
Command: enable gvrp
Success.
DES-3526:admin#
Смотрим результат
DES-3526:admin#sh gvrp
Command: show gvrp
Global GVRP : Enabled
Port PVID GVRP Ingress Checking Acceptable Frame Type
------ ---- -------- ---------------- ---------------------------
1 1 Disabled Enabled All Frames
2 1 Disabled Enabled All Frames
3 1 Disabled Enabled All Frames
4 1 Disabled Enabled All Frames
5 1 Disabled Enabled All Frames
6 1 Disabled Enabled All Frames
7 1 Disabled Enabled All Frames
8 1 Disabled Enabled All Frames
9 1 Disabled Enabled All Frames
10 1 Disabled Enabled All Frames
11 1 Disabled Enabled All Frames
12 1 Disabled Enabled All Frames
13 1 Disabled Enabled All Frames
14 1 Disabled Enabled All Frames
15 1 Disabled Enabled All Frames
16 1 Disabled Enabled All Frames
17 1 Disabled Enabled All Frames
18 1 Disabled Enabled All Frames
19 1 Disabled Enabled All Frames
20 1 Disabled Enabled All Frames
21 1 Disabled Enabled All Frames
22 1 Disabled Enabled All Frames
23 1 Disabled Enabled All Frames
24 1 Disabled Enabled All Frames
25 100 Enabled Enabled All Frames
26 100 Enabled Enabled All Frames
DES-3526:admin#
8_) На коммутаторе 2, первый 3526 в цепочке создаю ручками vlan200
и прописываю его как tagged в 25 и 26 портах, не забываю включить его advertisement.
Вот результат:
DES-3526:admin#sh vlan
Command: show vlan
VID : 1 VLAN Name : default
VLAN TYPE : static Advertisement : Enabled
Member ports :
Static ports :
Current Tagged ports :
Current Untagged ports :
Static Tagged ports :
Static Untagged ports :
Forbidden ports :
VID : 100 VLAN Name : vlan100
VLAN TYPE : static Advertisement : Disabled
Member ports : 25-26
Static ports : 25-26
Current Tagged ports : 25-26
Current Untagged ports :
Static Tagged ports : 25-26
Static Untagged ports :
Forbidden ports :
VID : 200 VLAN Name : vlan200
VLAN TYPE : static Advertisement : Enabled
Member ports : 25-26
Static ports : 25-26
Current Tagged ports : 25-26
Current Untagged ports :
Static Tagged ports : 25-26
Static Untagged ports :
Forbidden ports :
Total Entries : 3
DES-3526:admin#
9) На коммутаторе 5 (в 1-ый порт которого подключена тестовая машина с ip-адресом 192.168.100.100/24) также создаю ручками vlan200. Прописываю его как tagged на 25-26 портах (магистральных) и как untagged на 1-ом порту (куда подключен писюк)
Вот результат:
DES-3526:admin#sh vlan
Command: show vlan
VID : 1 VLAN Name : default
VLAN TYPE : static Advertisement : Enabled
Member ports :
Static ports :
Current Tagged ports :
Current Untagged ports :
Static Tagged ports :
Static Untagged ports :
Forbidden ports :
VID : 100 VLAN Name : vlan100
VLAN TYPE : static Advertisement : Disabled
Member ports : 25-26
Static ports : 25-26
Current Tagged ports : 25-26
Current Untagged ports :
Static Tagged ports : 25-26
Static Untagged ports :
Forbidden ports :
VID : 200 VLAN Name : vlan200
VLAN TYPE : static Advertisement : Enabled
Member ports : 1,25-26
Static ports : 1,25-26
Current Tagged ports : 25-26
Current Untagged ports : 1
Static Tagged ports : 25-26
Static Untagged ports : 1
Forbidden ports :
Total Entries : 3
DES-3526:admin#
10)На коммутаторах 3 и 4 проверяю, отработал ли наш доблестный GVRP. Смотрю на них виланы. Картина вот такая:
DES-3526:admin#sh vlan
Command: show vlan
VID : 1 VLAN Name : default
VLAN TYPE : static Advertisement : Enabled
Member ports :
Static ports :
Current Tagged ports :
Current Untagged ports :
Static Tagged ports :
Static Untagged ports :
Forbidden ports :
VID : 100 VLAN Name : vlan100
VLAN TYPE : static Advertisement : Disabled
Member ports : 25-26
Static ports : 25-26
Current Tagged ports : 25-26
Current Untagged ports :
Static Tagged ports : 25-26
Static Untagged ports :
Forbidden ports :
VID : 200 VLAN Name :
VLAN TYPE : dynamic Advertisement : Enabled
Member ports : 26
Static ports :
Current Tagged ports : 26
Current Untagged ports :
Static Tagged ports :
Static Untagged ports :
Forbidden ports :
Total Entries : 3
DES-3526:admin#
Т.е. мы видим, что через протокол GVRP эти коммутаторы получили информацию о вилане, у которого vid - 200(у него тип dynamic). Уж пока закрываю глаза на то, что они не узнали о имени вилана и на то, что на этих коммутаторах команда "sh vlan vlan200" не отработает ибо об имени вилана коммутаторы через GVRP узнать не в состоянии.
11) И вот теперь с писюка (ip-адрес писюка 192.168.100.100/24) начинаю пингать ip-адрес ipif-интерфейса, который создан на 3627G в вилане vlan200 (этот интерфейс имеет ip-дрес 192.168.100.1/24)
И не пингается.
12) Теперь чтобы дальше нам разобраться в проблеме более детально привожу
MAC-адрес писюка: 00-16-76-С7-30-18 (напоминаю - на писюке поднят ip-адрес 192.168.100.100/24)
MAC-адрес ipif интерфейса 3627G, на котором поднят ip-адрес 192.168.100.1/24: 00-19-5B-12-B4-42
13) Уфф, писанины-то.
Итак, не пингается.

Начинаем копать fdb
14) Смотрим fdb на коммутаторе 5 (смотри псевдографику выше)
DES-3526:admin#sh fdb
Command: show fdb
Unicast MAC Address Ageing Time = 300
VID VLAN Name MAC Address Port Type
---- ---------------- ----------------- ------ ----------------
100 vlan100 00-1E-58-A9-2E-C4 CPU Self
100 vlan100 00-1E-58-A9-37-4A 26 Dynamic
200 vlan200 00-16-76-C7-30-18 1 Dynamic
Total Entries : 3
DES-3526:admin#
Все логично, на первом порту - MAC-адрес моего писюка. На магистральном порту нет MAC-адреса ipif-интерфейса 3627G. Ну это и понятно, поэтому и не пингается.
15) Идем дальше по цепочке коммутаторов. Смотрим fdb на коммутаторе 4
DES-3526:admin#sh fdb
Command: show fdb
Unicast MAC Address Ageing Time = 300
VID VLAN Name MAC Address Port Type
---- ---------------- ----------------- ------ ----------------
100 vlan100 00-1E-58-A8-F4-93 26 Dynamic
100 vlan100 00-1E-58-A9-37-4A CPU Self
Total Entries : 2
DES-3526:admin#
Отлично. Этот товарищ вообще ничего не знает. Ни о MAC-адресе писюка, который воткнут в соседнем коммутаторе, ни о MAC-адресе ipif интерфейса коммутатора 3627G.
16) Смотрим fdb на коммутаторе 3
DES-3526:admin#sh fdb
Command: show fdb
Unicast MAC Address Ageing Time = 300
VID VLAN Name MAC Address Port Type
---- ---------------- ----------------- ------ ----------------
100 vlan100 00-1E-58-A8-F4-93 CPU Self
100 vlan100 00-1E-58-A8-F5-0C 26 Dynamic
100 vlan100 00-1E-58-A9-37-4A 25 Dynamic
Total Entries : 3
DES-3526:admin#
Похожая картина: нет ни одного MAC-адреса из тех, которые мне нужны.
17) Смотрим fdb на коммутаторе 2
DES-3526:admin#sh fdb
Command: show fdb
Unicast MAC Address Ageing Time = 300
VID VLAN Name MAC Address Port Type
---- ---------------- ----------------- ------ ----------------
100 vlan100 00-1E-58-A8-F4-93 25 Dynamic
100 vlan100 00-1E-58-A8-F5-0C CPU Self
Total Entries : 2
DES-3526:admin#
Пусто.
Но пинг с писюка на 192.168.100.1 запущен.
Одним словом - все коммутаторы 3526 в цепочке знают о вилане с vid 200, но в нем ничего форвардят. Очень интересно.
18_) Теперь, захожу на 3627G и запускаю с него пинг на ip-адрес писюка
19) Смотрю fdb на коммуторе 2
DES-3526:admin#sh fdb
Command: show fdb
Unicast MAC Address Ageing Time = 300
VID VLAN Name MAC Address Port Type
---- ---------------- ----------------- ------ ----------------
100 vlan100 00-1E-58-A8-F4-93 25 Dynamic
100 vlan100 00-1E-58-A8-F5-0C CPU Self
200 vlan200 00-19-5B-12-B4-42 26 Dynamic
Total Entries : 3
DES-3526:admin#
О!!! Появился MAC-адрес ipif-интерфейса 3627G.
20) Смотрим fdb на коммутаторе 3
DES-3526:admin#sh fdb
Command: show fdb
Unicast MAC Address Ageing Time = 300
VID VLAN Name MAC Address Port Type
---- ---------------- ----------------- ------ ----------------
100 vlan100 00-1E-58-A8-F4-93 CPU Self
100 vlan100 00-1E-58-A8-F5-0C 26 Dynamic
100 vlan100 00-1E-58-A9-37-4A 25 Dynamic
200 00-19-5B-12-B4-42 26 Dynamic
Total Entries : 4
DES-3526:admin#
И на этом коммутаторе MAC-адрес ipif-интерфейса 3627G присутствует. При этом имени вилана нет в fdb ибо об этом вилане коммутатор узнал через GVRP при этом потеряв имя вилана.
Более того вот такая команда в это случае естественно не прокатит
DES-3526:admin#sh fdb vlan vlan200
Command: show fdb vlan vlan200
The VLAN name you entered does not exist.
DES-3526:admin#
По мнению коммутатора этого вилана вооще нет.
Круто, да?

Это у нас только один вилан и пара хостов в нем. А если придется разбираться с проблемой имея 250 виланов и по 100 хостов в каждом вилане. Будет работать только "sh fdb" (Не, это не стеб, ребята. Я просто констатирую факты)
Чтобы не особо пинали должен сказать,что прокатит так
sh fdb vid 200.
21) Ладно, смотрим fdb на коммутаторе 4
DES-3526:admin#sh fdb
Command: show fdb
Unicast MAC Address Ageing Time = 300
VID VLAN Name MAC Address Port Type
---- ---------------- ----------------- ------ ----------------
100 vlan100 00-1E-58-A8-F4-93 26 Dynamic
100 vlan100 00-1E-58-A9-37-4A CPU Self
Total Entries : 2
DES-3526:admin#
А тут у нас по прежнему тихо.
Проблема описана полностью.
Теперь внимание, знатоки, вопрос: как все-таки заставить работать GVRP на коммутаторах. Хотя бы на коммутаторах из примера (это 3526). На 3627G мне gvrp не нужен (я думаю все понимают почему).
На тесты, описание постановки задачи и проблемы потратил кучу времени. Уж вы мне скажите: работает оно или нет. Если да, то расскажите как. А выссказывания типа: "У меня работает прекрасно." оставьте при себе. Спасибо.
Жду ответа.