Ключевые слова:vlan, hardware, switch, (найти похожие документы)
From: Константин Брызгалов <kotofey_AT_mail.ru>
Newsgroups: email
Date: Mon, 12 Jun 2005 18:21:07 +0000 (UTC)
Subject: VLAN на сетевой карте 3c905 и между 3с3300_SSII и DLink DES-3526
Настройка ассиметричной VLAN между 3с3300_SSII и DLink DES-3526
----------------------------------------------------------------
Дано:
- Две локальных сети соединены оптикой.
- В первой сети свитч 3с3300_SSII.
- Во второй сети свитч DLink DES-3526.
- В первой сети есть 2 провайдера по ethernet.
- Оба свитча поддерживают vlan 802.1q.
Задача:
Подключить маршритизатор находящийся во второй сети по ethernet к
обоим провайдерам. Внутренюю сетку и внешние на уровне ethernet смешивать нельзя.
Решение:
Для передачи по одной среде нескольких ethernet применяем VLAN 802.1q
На обоих свитчах выделим три группы портов. И объеденим их в разные
VLAN. Порты из одинаковых групп на обоих свитчах будут объеденены в
одну физическую среду и изолированы от портов из других групп.
----------------------------------------------------------------
| |3com 3c3300 SSII | DLink DES-3526 |
|--------------------------------------------------------------|
|VLAN 1(DEFAULT,PVID=1) | 2,3 | 2-16,25,26 |
|--------------------------------------------------------------|
|VLAN 2(PROVIDER1,PVID=2)| 4-7 | 16-20 |
|--------------------------------------------------------------|
|VLAN 3(PROVIDER2,PVID=3)| 8-12 | 21-2 |
----------------------------------------------------------------
Связь между свитчами через первый порт, его делаем tagged и помещаем
во все VLAN. DEFAULT - внутренняя сетка.
Настраиваем 3c3300:
Во второй порт втыкаем ethernet провод, через который будем управлять,
либо можно через консоль.
gentoo root # telnet 192.168.1.2
Trying 192.168.1.2...
Connected to 192.168.1.2.
Escape character is '^]'.
Login: admin
Password:
Menu options:
--------------3Com SuperStack II Switch 3300--------------
bridge - Administer bridging/VLANS
ethernet - Administer Ethernet ports
feature - Administer system features
ip - Administer IP
logout - Logout of the Command Line Interface
snmp - Administer SNMP
system - Administer system-level functions
Type ? for help.
-----------------------------------Switch 3300 (1)----------------------
Select menu option: bridge vlan
removePort 1 3
removePort 1 4
removePort 1 5
removePort 1 6
removePort 1 7
removePort 1 8
removePort 1 9
removePort 1 10
removePort 1 11
removePort 1 12
removePort 1 1
addport 1 1 802.1Q
create 2 2 PROVIDER1-Telecom
create 3 3 PROVIDER2-Svyaz
addport 2 1 802.1Q
addport 3 1 802.1Q
addport 2 4 none
addport 2 5 none
addport 2 6 none
addport 2 7 none
addport 3 8 none
...
addport 3 12 none
Должны получить в итоге:
Select menu option (bridge/vlan): detail 1
VLAN ID: 1 Local ID: 1 Name: Default VLAN
Unit Ports 1 1, 2, 3
Select menu option (bridge/vlan): detail 2
VLAN ID: 2 Local ID: 2 Name: PROVIDER1-Telecom
Unit Ports 1 1, 4, 5, 6, 7
Select menu option (bridge/vlan): detail 3
VLAN ID: 3 Local ID: 3 Name: PROVIDER2-Svyaz
Unit Ports 1 1, 8, 9, 10, 11, 12
Настраиваем DES-3526:
gentoo root # ssh admin@des3526
DES-3526 Fast Ethernet Switch Command Line Interface
Firmware: Build 2.00-B19
Copyright(C) 2000-2004 D-Link Corporation. All rights reserved.
enable asymmetric_vlan
create vlan PROVIDER1Telecom tag 2
create vlan PROVIDER2Svyaz tag 3
config vlan default delete 1,17-24
config vlan default add tagged 1
config vlan PROVIDER1Telecom add untagged 17-20
config vlan PROVIDER1Telecom add tagged 1
config vlan PROVIDER2Svyaz add untagged 21-24
config vlan PROVIDER2Svyaz add tagged 1
config gvrp 17-20 pvid 2
config gvrp 21-24 pvid 3
save
Должно получиться так:
DES-3526:4#show vlan
Command: show vlan
VID : 1 VLAN Name : default
VLAN TYPE : static
Advertisement : Enabled Member
ports : 1-16,25-26
Static ports : 1-16,25-26
Current Untagged ports : 2-16,25-26
Static Untagged ports : 2-16,25-26
Forbidden ports :
VID : 2 VLAN Name : PROVIDER1Telecom
VLAN TYPE : static
Advertisement :
Disabled Member ports : 1,17-20
Static ports : 1,17-20
Current Untagged ports : 17-20
Static Untagged ports : 17-20
Forbidden ports :
VID : 3 VLAN Name : PROVIDER2Svyaz
VLAN TYPE : static
Advertisement : Disabled
Member ports : 1,19-24
Static ports : 1,21-24
Current Untagged ports : 21-24
Static Untagged ports : 21-24
Forbidden ports : Total Entries : 3
Можно настроить тоже самое через веб-интерфейс
Проверяем работу:
два компа включенные в один и тот же VLAN на разных свичах должны пинговать друг друга,
но не должны пинговать компы из других VLAN.
Проблема при настройке VLAN на сетевой карточке 3c905
Дано:
- Маршрутизатор с Linux (Gentoo)
- Сетевая карта 3с905
Задача:
Подключить маршрутизатор второй сети(gw2) через _одну_ сетевую карту к
двум провайдерам первой сети.
Решение:
Опять используем VLAN. Настроим 2 VLAN на сетевой карте и(!) порт, к
которому подключена карта, включим в состав обеих VLAN(2 и 3):
доки по настройке VLAN полно на opennet.ru, использовал первую попавшуюся:
http://www.opennet.me/base/net/vlan_shaper.txt.html
на свитче DLINK порт карты делаем tagged и включаем в VLAN 2 и 3:
примерно так:
config vlan PROVIDER1Telecom add tagged 17
config vlan PROVIDER2Svyaz add tagged 17
(примерно - потому что сделал через web морду)
Делаем пинг на маршрутизатор из первой сети:
gentoo root # ping gw1
PING gw1 (x.x.x.x) 56(84) bytes of data.
64 bytes from gw1 (x.x.x.x): icmp_seq=1 ttl=64 time=0.645 ms
Казалось бы, все отлично - да не тут то было :).
Пользователи второй сети начали жаловаться на отсутствие сервисов из
подсеток обоих провайдеров первой сети. Маршрутизация поменялась,
но связь то есть. И телнетом захожу спокойно на означенные сервисы.
Опыт подсказал, что нужно попробовать увеличить размер пакета при пинге.
gentoo root # ping -s2048 gw1
100% packet loss
Воспомнились косячные конвертеры, глючащие свитчи и прочее (см Примечание)
По внутренней сетке соединение с gw1 работало - значит с промежуточным
оборудованием все путем.
tcpdump на нужном нам VLAN интерфейсе(на gw2) показал, что при пинге(2048) с gw1
пакеты назад не возвращаются. Значит причина в драйвере. Предположения подтвердились,
был найден патч по ссылке http://scry.wanfear.com/~greear/vlan/howto.html#3c59x
так как в патче было большое смещение сделал:
patch < patch -F10 < 3c59x_vlan.patch
далее пересобираем ядро и перезагружемся.
Автор на свой страх и риск сделал так:(Если так нельзя поправьте !!!)
cp /usr/src/linux/drivers/net/3c59x.c /usr/src/linux/drivers/net/3c59x.c.backup
cp /root/3c59x/3c59x.c-vlan /usr/src/linux/drivers/net/3c59x.c
cd /usr/src/linux && make modules
cp /lib/modules/gentoo/kernel/drivers/net/3c59x.o /lib/modules/gentoo/kernel/drivers/net/3c59x.o.backup
cp /usr/src/linux/drivers/net/3c59x.o /lib/modules/gentoo/kernel/drivers/net/3c59x.o
далее с локальной(!) консоли:
init 1
ifconfig vlan2 down
ifconfig vlan3 down
rmmod 3c59x
modprobe 3c59x
init 3
gentoo linux # ping -s4096 gw1
PING gw1 (x.x.x.x) 4096(4124) bytes of data.
4104 bytes from gw1 (x.x.x.x): icmp_seq=1 ttl=64 time=2.10 ms
В gentoo VLAN _правильно_ настраивать через /etc/conf.d/net:
http://www.gentoo.org/doc/en/handbook/draft/handbook-x86.xml?part=4&chap=3#doc_chap9
the END.
PS: в моей практике был такой случай: с понедельника канал у провайдера
перестал пропускать пакеты заданой величины - ни больше, ни меньше. При этом
странички у клиентов отображались вроде бы нормально, но процентов 40
картинок пустовало. Доказывал провайдеру, что причина у них долго.
Ответ как обычно - типа ' мы ничего не меняли, смотрите у себя... '
Скачал такие картинки с другой точки, выложил у себя на сайте там-же. И выслал им
логи с wget натравленного на эти картинки из двух разных мест. Потом признались, что
в пятницу вечером на предидущей неделе они поменяли оптический конвертер.
--
С уважением, Константин Брызгалов mailto:kotofey_AT_mail.ru