* [Comm] linux vlan
@ 2003-09-18 6:28 Прокопьев Евгений
2003-09-18 13:09 ` Dmitry Lebkov
2003-09-18 13:54 ` Artem Pastukhov
0 siblings, 2 replies; 5+ messages in thread
From: Прокопьев Евгений @ 2003-09-18 6:28 UTC (permalink / raw)
To: community
Здравствуйте!
Задача: разделить компьютеры в одном сегменте сети по критерию, можно ли
им ходить в другой сегмент или нет (протоколы IP и IPX).
За отсутствием железки решили использовать vlan-utils24. Начали с
экспериментов с двумя сетевыми интерфейсами и одним виланом.
Конфигурация такая:
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:10:4B:47:B7:CA
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:71 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:4260 (4.1 Kb) TX bytes:0 (0.0 b)
Interrupt:9 Base address:0xd000
eth1 Link encap:Ethernet HWaddr 00:60:97:AE:F4:CA
inet addr:192.168.101.15 Bcast:192.168.101.255
Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4534 errors:0 dropped:0 overruns:0 frame:0
TX packets:3869 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:2635153 (2.5 Mb) TX bytes:244259 (238.5 Kb)
Interrupt:5 Base address:0xb800
eth2 Link encap:Ethernet HWaddr 00:80:48:FD:5A:4B
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:16787 errors:0 dropped:0 overruns:0 frame:10
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:2551277 (2.4 Mb) TX bytes:0 (0.0 b)
Interrupt:10 Base address:0xb400
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Виланы настроены так:
# cat /proc/net/vlan/config
VLAN Dev name | VLAN ID
Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
eth0.0 | 0 | eth0
eth2.0 | 0 | eth2
Но если в eth0 включить общую сеть, а в eth2 - компьютер через кроссовер
или хаб, то он не пожет пропинговать остальных.
Что я делаю не так?
--
С уважением, Прокопьев Евгений
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Comm] linux vlan
2003-09-18 6:28 [Comm] linux vlan Прокопьев Евгений
@ 2003-09-18 13:09 ` Dmitry Lebkov
2003-09-18 14:29 ` Oleg K.Artemjev
2003-09-18 13:54 ` Artem Pastukhov
1 sibling, 1 reply; 5+ messages in thread
From: Dmitry Lebkov @ 2003-09-18 13:09 UTC (permalink / raw)
To: community
On Thu, 18 Sep 2003 10:28:47 +0400
Прокопьев Евгений <john@rmts.donpac.ru> wrote:
> Здравствуйте!
>
> Задача: разделить компьютеры в одном сегменте сети по критерию, можно ли
> им ходить в другой сегмент или нет (протоколы IP и IPX).
>
> За отсутствием железки решили использовать vlan-utils24. Начали с
> экспериментов с двумя сетевыми интерфейсами и одним виланом.
> Конфигурация такая:
>
> # ifconfig
> eth0 Link encap:Ethernet HWaddr 00:10:4B:47:B7:CA
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:71 errors:0 dropped:0 overruns:0 frame:0
> TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:100
> RX bytes:4260 (4.1 Kb) TX bytes:0 (0.0 b)
> Interrupt:9 Base address:0xd000
>
> eth1 Link encap:Ethernet HWaddr 00:60:97:AE:F4:CA
> inet addr:192.168.101.15 Bcast:192.168.101.255
> Mask:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:4534 errors:0 dropped:0 overruns:0 frame:0
> TX packets:3869 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:100
> RX bytes:2635153 (2.5 Mb) TX bytes:244259 (238.5 Kb)
> Interrupt:5 Base address:0xb800
>
> eth2 Link encap:Ethernet HWaddr 00:80:48:FD:5A:4B
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:16787 errors:0 dropped:0 overruns:0 frame:10
> TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:100
> RX bytes:2551277 (2.4 Mb) TX bytes:0 (0.0 b)
> Interrupt:10 Base address:0xb400
>
> lo Link encap:Local Loopback
> inet addr:127.0.0.1 Mask:255.0.0.0
> UP LOOPBACK RUNNING MTU:16436 Metric:1
> RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:0
> RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
>
> Виланы настроены так:
>
> # cat /proc/net/vlan/config
> VLAN Dev name | VLAN ID
> Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
> eth0.0 | 0 | eth0
> eth2.0 | 0 | eth2
>
> Но если в eth0 включить общую сеть, а в eth2 - компьютер через
> кроссовер или хаб, то он не пожет пропинговать остальных.
>
> Что я делаю не так?
Что-то не так либо с постановкой задачи, либо с реализацией. Если
я ничего не путаю, то идея VLAN'ов в ядре следующая:
- есть eth-интерфейс с ip-адресом. Все пакеты, идущие через
него не маркируются (un-tagged packets) как принадлежащие
к какому-то VLAN'у. Это так называемый managemen vlan, в
терминологии Cisco. Интерфейс является транком (trunk) для
остальных vlan'ов, привязанных к нему;
- есть vlan-интерфейсы, привязанные к trunk'у и имеющие свои
ip-адреса. Пакеты, идущие через эти интерфейсы, маркируются
как принадлижаще vlan'у с номером, совпадающим с номером
интерфейса;
Если не используются свитчи, понимающее 802.1Q VLANs, то клиенты
в _одном физ.сегменте_ должны сами разбирать, какой из маркированых
пакетов предназначен для них, а какой нет (принадлежность к VLAN'у
настраивается в драйверах сетевой карты на клиенте).
Если используется какой-либо свитч - то разбором tagged-пакетов (и
оправкой их в соответствующий порт) занимется этот самый свитч,
при условии, что Linux и свитч соединены через trunk-интерфейс.
Вот, вроде бы так. Т.е. связка Linux(vlans)+Switch обеспечивает
тебя набором _физических_ сетевых интерфейсов, равных кол-ву
портов на свитче-1 (один занимается под trunk).
Поправьте меня, если я где-то что-то напутал ... %)
Ты же, привязав vlan0 к eth0 и eth2 пытаешся добиться от Linux'a
поведения, аналогичного switch'у -- назаначить двум портам один
влан и они будут как бы один сегмент. Если я не ошибаюсь - vlan'ы
в Linux'е так не работают.
--
WBR, Dmitry Lebkov
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Comm] linux vlan
2003-09-18 6:28 [Comm] linux vlan Прокопьев Евгений
2003-09-18 13:09 ` Dmitry Lebkov
@ 2003-09-18 13:54 ` Artem Pastukhov
1 sibling, 0 replies; 5+ messages in thread
From: Artem Pastukhov @ 2003-09-18 13:54 UTC (permalink / raw)
To: community
Четверг 18 Сентябрь 2003 10:28, Прокопьев Евгений написал:
> Здравствуйте!
>
> Задача: разделить компьютеры в одном сегменте сети по
> критерию, можно ли им ходить в другой сегмент или нет
> (протоколы IP и IPX).
>
> За отсутствием железки решили использовать vlan-utils24.
> Начали с экспериментов с двумя сетевыми интерфейсами и одним
> виланом. Конфигурация такая:
>
> # ifconfig
> eth0 Link encap:Ethernet HWaddr 00:10:4B:47:B7:CA
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:71 errors:0 dropped:0 overruns:0 frame:0
> TX packets:0 errors:0 dropped:0 overruns:0
> carrier:0 collisions:0 txqueuelen:100
> RX bytes:4260 (4.1 Kb) TX bytes:0 (0.0 b)
> Interrupt:9 Base address:0xd000
>
> eth1 Link encap:Ethernet HWaddr 00:60:97:AE:F4:CA
> inet addr:192.168.101.15 Bcast:192.168.101.255
> Mask:255.255.255.0
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:4534 errors:0 dropped:0 overruns:0
> frame:0 TX packets:3869 errors:0 dropped:0 overruns:0
> carrier:0 collisions:0 txqueuelen:100
> RX bytes:2635153 (2.5 Mb) TX bytes:244259 (238.5
> Kb) Interrupt:5 Base address:0xb800
>
> eth2 Link encap:Ethernet HWaddr 00:80:48:FD:5A:4B
> UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
> RX packets:16787 errors:0 dropped:0 overruns:0
> frame:10 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
> collisions:0 txqueuelen:100
> RX bytes:2551277 (2.4 Mb) TX bytes:0 (0.0 b)
> Interrupt:10 Base address:0xb400
>
> lo Link encap:Local Loopback
> inet addr:127.0.0.1 Mask:255.0.0.0
> UP LOOPBACK RUNNING MTU:16436 Metric:1
> RX packets:0 errors:0 dropped:0 overruns:0 frame:0
> TX packets:0 errors:0 dropped:0 overruns:0
> carrier:0 collisions:0 txqueuelen:0
> RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
>
> Виланы настроены так:
>
> # cat /proc/net/vlan/config
> VLAN Dev name | VLAN ID
> Name-Type: VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD
> eth0.0 | 0 | eth0
> eth2.0 | 0 | eth2
>
> Но если в eth0 включить общую сеть, а в eth2 - компьютер через
> кроссовер или хаб, то он не пожет пропинговать остальных.
>
> Что я делаю не так?
IMHO нужно использовать bridge-utils
--
С уважением,
Артем Пастухов past(at)yam.ru
ЯМ Интернешнл http://www.yam.ru
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Comm] linux vlan
2003-09-18 13:09 ` Dmitry Lebkov
@ 2003-09-18 14:29 ` Oleg K.Artemjev
2003-09-18 17:38 ` Dmitry Lebkov
0 siblings, 1 reply; 5+ messages in thread
From: Oleg K.Artemjev @ 2003-09-18 14:29 UTC (permalink / raw)
To: community
On Fri, 19 Sep 2003 00:09:39 +1100
Dmitry Lebkov <dima@sakhalin.ru> wrote:
> > eth0.0 | 0 | eth0
> > eth2.0 | 0 | eth2
> > Но если в eth0 включить общую сеть, а в eth2 - компьютер через
> > кроссовер или хаб, то он не пожет пропинговать остальных.
> > Что я делаю не так?
На всякий случай почитайте FAQ по устройству vlan с сайта, например, cisco.
Vlan это некая обертка к фрейму (согласно 802.1q), т.е. такой фрейм без спец.
драйвера виндовым клиентом не воспрнимается (отбрасывается как нестандартной для 802.1 длины),
на unix системах роль спецдрайвера играет патч к ядру (которая затрагивает драйвера сетевух).
Соответственно завертывалку в vlan ты поставил, но один момент не учел - для того чтобы линух
работал в качестве свитча ему нужно включить бриджинг(2х портовый свитч это бридж). То есть по
умолчанию линух работает на сетевом уровне, а форвардинг на канальном включается только после
включенного в ядре bridging'а.
> Что-то не так либо с постановкой задачи, либо с реализацией. Если
> я ничего не путаю, то идея VLAN'ов в ядре следующая:
> - есть eth-интерфейс с ip-адресом. Все пакеты, идущие через
> него не маркируются (un-tagged packets) как принадлежащие
> к какому-то VLAN'у. Это так называемый managemen vlan, в
> терминологии Cisco. Интерфейс является транком (trunk) для
> остальных vlan'ов, привязанных к нему;
Верно. Если Вы перенесли IP адрес соответствующий management vlan на
802.1q интерфейс, то покуда Вы не попросите свитч оборачивать в 802.1q
еще и management vlan - хрен кого пропингуешь по IP с management vlan'а.
> - есть vlan-интерфейсы, привязанные к trunk'у и имеющие свои
их еще бывает зовут "дот один ку" от ".1q"
> ip-адреса. Пакеты, идущие через эти интерфейсы, маркируются
> как принадлижаще vlan'у с номером, совпадающим с номером
> интерфейса;
Верно - фрейм увеличивается на заголовок vlan и перестает восприниматься
"обычными" дровами для сетевух.
> Если не используются свитчи, понимающее 802.1Q VLANs, то клиенты
> в _одном физ.сегменте_ должны сами разбирать, какой из маркированых
> пакетов предназначен для них, а какой нет (принадлежность к VLAN'у
> настраивается в драйверах сетевой карты на клиенте).
Дурной вариант - любой поставивший себе "спец дрова" будет видеть все vlan.
> Если используется какой-либо свитч - то разбором tagged-пакетов (и
> оправкой их в соответствующий порт) занимется этот самый свитч,
> при условии, что Linux и свитч соединены через trunk-интерфейс.
верно.
> Вот, вроде бы так. Т.е. связка Linux(vlans)+Switch обеспечивает
> тебя набором _физических_ сетевых интерфейсов, равных кол-ву
> портов на свитче-1 (один занимается под trunk).
> Поправьте меня, если я где-то что-то напутал ... %)
Все правильно, разве что один момент - наглядность (физический смысл)
появляется лишь когда объясняют работу на уровне длины фрейма.
> Ты же, привязав vlan0 к eth0 и eth2 пытаешся добиться от Linux'a
> поведения, аналогичного switch'у -- назаначить двум портам один
> влан и они будут как бы один сегмент. Если я не ошибаюсь - vlan'ы
> в Linux'е так не работают.
Нет, тут дело не в не работают, хотя и такое вероятно - совмещать бриджинг
с vlan я не пробовал и то, что это будет работать правильно нигде не
упоминается (я не видел) - надо проверять экспериментальным путем. Он
просто не знал что проброс на канальном уровне требует специальных усилий,
то есть чтобы они осуществлялись надо эмулировать соединение между сетевыми
картами а-ля кроссовер (на самом деле там еще деление коллизионных доменов
с отбросом битых пакетов), то есть это подразумевает, что такую эмуляцию надо
включить.
PS: Если у Вас получится (или не получится) срастить bridging с vlan, не поленитесь - мыльните мне
о результатах на <olli @ mtcm . ru> , а также в удачном варианте - о производительности. Судя по тому, что я
слышал от коллеги который игрался с бриджингом - производительность на старом железе
(а-ля первый пень) не поднимается выше 30К/секунду, что объясняется многочисленными перекладываниями
фейма внутри PC (то есть это существенно медленне чем store and forward в cisco). Если Вам удасться получить
производительность хотя бы на уровне 300K/с, то это уже интересно.
--
Bye.Olli. http://olli.digger.org.ru
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Comm] linux vlan
2003-09-18 14:29 ` Oleg K.Artemjev
@ 2003-09-18 17:38 ` Dmitry Lebkov
0 siblings, 0 replies; 5+ messages in thread
From: Dmitry Lebkov @ 2003-09-18 17:38 UTC (permalink / raw)
To: community
On Thu, 18 Sep 2003 18:29:57 +0400
Oleg K.Artemjev <olli@rbauto.ru> wrote:
> On Fri, 19 Sep 2003 00:09:39 +1100
> Dmitry Lebkov <dima@sakhalin.ru> wrote:
[skip]
> Все правильно, разве что один момент - наглядность (физический
> смысл) появляется лишь когда объясняют работу на уровне длины
> фрейма.
%))) Я пытался объяснить "на пальцах" ... Не затрагивая "интимные
подробности". ;)
> > Ты же, привязав vlan0 к eth0 и eth2 пытаешся добиться от Linux'a
> > поведения, аналогичного switch'у -- назаначить двум портам один
> > влан и они будут как бы один сегмент. Если я не ошибаюсь - vlan'ы
> > в Linux'е так не работают.
> Нет, тут дело не в не работают, хотя и такое вероятно - совмещать
> бриджинг с vlan я не пробовал и то, что это будет работать
> правильно нигде не упоминается (я не видел) - надо проверять
> экспериментальным путем. Он просто не знал что проброс на канальном
> уровне требует специальных усилий, то есть чтобы они осуществлялись
> надо эмулировать соединение между сетевыми картами а-ля кроссовер
> (на самом деле там еще деление коллизионных доменов с отбросом битых
> пакетов), то есть это подразумевает, что такую эмуляцию надо
> включить.
Таки я был не прав. Из листа vlan@wanfear.com:
"If for instance you wanted to bridge together the vlan interfaces,
so if I wanted to bridge together eth0.23, eth0.1 and eth7.5, I would
do the following:
ifconfig up eth0
ifconfig up eth7
vconfig add eth0 23
vconfig add eth0 1
vconfig add eth7 5
brctl addbr br0
brctl addif br0 eth0.23
brctl addif br0 eth0.1
brctl addif br0 eth7.5
"
т.е. построить бридж таки возможно, но это (ИМХО) не тот функционал,
который требовался автору обсуждения. %)
В моем случае (тупой inter-vlan routing внутри сети предприятия),
кошернее использовать связку Linux+Catalyst, что и делается ... %)
> PS: Если у Вас получится (или не получится) срастить bridging
> с vlan, не поленитесь - мыльните мне о результатах на <olli @
> mtcm . ru> , а также в удачном варианте - о производительности.
> Судя по тому, что я слышал от коллеги который игрался с бриджингом
> - производительность на старом железе (а-ля первый пень) не
> поднимается выше 30К/секунду, что объясняется многочисленными
> перекладываниями фейма внутри PC (то есть это существенно медленне
> чем store and forward в cisco). Если Вам удасться получить
> производительность хотя бы на уровне 300K/с, то это уже интересно.
У меня ;) не стояло цели "родить из linux'а свитч", и скорее всего
я этим заниматься не буду. ;) Наверное, если автор обсуждения добъется
каких-то результатов -- он ими поделится ... %)
Да, когда-то в листе inet-admins@ кто-то приводил грубую схему расчета
необходимой "процессорной быстроходности" для роутеров на базе PC.
Наверняка, результаты можно приложить и к бриджам на базе PC (хотя и
очень грубо ;).
--
WBR, Dmitry Lebkov
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2003-09-18 17:38 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-09-18 6:28 [Comm] linux vlan Прокопьев Евгений
2003-09-18 13:09 ` Dmitry Lebkov
2003-09-18 14:29 ` Oleg K.Artemjev
2003-09-18 17:38 ` Dmitry Lebkov
2003-09-18 13:54 ` Artem Pastukhov
ALT Linux Community general discussions
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
public-inbox-index community
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.community
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git