* [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 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
* 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
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