The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Q-in-Q (VLAN stacking) в Linux"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от auto_tips on 01-Мрт-07, 14:10 
Q-in-Q  - проброс VLAN внутри  другого VLAN.

host1:

   vconfig set_name_type VLAN_PLUS_VID_NO_PAD
   vconfig add eth0 4
   ifconfig vlan4 10.1.1.1 netmask 255.255.255.0 up
   vconfig add vlan4 8
   ifconfig vlan8 192.168.1.1 netmask 255.255.255.0 up

host2:

   vconfig set_name_type VLAN_PLUS_VID_NO_PAD
   vconfig add eth0 4
   ifconfig vlan4 10.1.1.2 netmask 255.255.255.0 up
   vconfig add vlan4 8
   ifconfig vlan8 192.168.1.2 netmask 255.255.255.0 up

ragahost ~ # ping 192.168.1.2
PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
64 bytes from 192.168.1.2: icmp_seq=1 ttl=64 time=0.820 ms

ragahost ~ # tcpdump -e -i eth0
22:40:47.297489 00:0e:0c:9b:fa:ce (oui Unknown) > 00:13:d4:8b:c8:b6 (oui Unknown),
ethertype 802.1Q (0x8100), length 106: vlan 4, p 0, ethertype 802.1Q, vlan 8, p 0,
ethertype IPv4, 192.168.1.2 > 192.168.1.1: ICMP echo request, id 64531, seq 146, length 64

URL:
Обсуждается: http://www.opennet.me/tips/info/1381.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от Аноним on 01-Мрт-07, 14:10 
а зачем вилан внутри вилана нужен впинципе?

не ради флейма, просто интересно узнать.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от Аноним on 01-Мрт-07, 15:52 
>а зачем вилан внутри вилана нужен впинципе?
>
>не ради флейма, просто интересно узнать.

Первое, что в голову приходит это преодоление лимита в 4К вланов. Второй пример - транзит вланов клиентов через оборудование провайдера. Третий вариант, когда в большой сети где каждому клиенту (считай порту) выделяется свой влан, удобно каждому свичу дать отдельный влан и вланы клиентов гнать через него, т.е. путь влана прописывается только для свича, клиенские вланы трогаем только на входе и выходе.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от Аноним on 02-Мрт-07, 07:54 
Q-in-Q - необходимая для операторов вещь. По причинам, уже описанным в предыдущем посте.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от Dmitry email(??) on 03-Мрт-07, 20:06 
ifconfig vlan4 10.1.1.1 netmask 255.255.255.0
А это зачем? Не достаточно ли просто поднять интерфейс?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от emp (??) on 04-Мрт-07, 22:40 
а любой свитч это дело пережуёт ?
поддерживает ли это дело FreeBSD ?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от _umka_ (ok) on 11-Мрт-07, 19:55 
фря поддерживает с мелким патчем (возможно в 4ке и его не надо)
--- /usr/src/sys.orig/net/if_vlan.c     Mon Jan  8 12:03:15 2007
+++ if_vlan.c   Sun Mar 11 16:46:00 2007
@@ -155,7 +158,7 @@
  * is too big to fit into CPU cache.
  */
static struct mtx ifv_mtx;
-#define        VLAN_LOCK_INIT()        mtx_init(&ifv_mtx, "vlan_global", NULL, MTX_DEF)
+#define        VLAN_LOCK_INIT()        mtx_init(&ifv_mtx, "vlan_global", NULL, MTX_RECURSE)
#define        VLAN_LOCK_DESTROY()     mtx_destroy(&ifv_mtx)
#define        VLAN_LOCK_ASSERT()      mtx_assert(&ifv_mtx, MA_OWNED)
#define        VLAN_LOCK()             mtx_lock(&ifv_mtx)
@@ -997,8 +988,8 @@
        /* VID numbers 0x0 and 0xFFF are reserved */
        if (tag == 0 || tag == 0xFFF)
                return (EINVAL);
-       if (p->if_type != IFT_ETHER)
-               return (EPROTONOSUPPORT);
+//     if (p->if_type != IFT_ETHER)
+//             return (EPROTONOSUPPORT);
        if ((p->if_flags & VLAN_IFFLAGS) != VLAN_IFFLAGS)
                return (EPROTONOSUPPORT);
        if (ifv->ifv_trunk)
======
а вот Linux (RH EL3) - судя по tcpdump -это не поддерживает.

# tcpdump -e -n -i eth0
tcpdump: listening on eth0
16:58:09.313703 0:3:47:a6:47:a3 Broadcast 8100 60: 802.1Q vlan#1 P0 802.1Q vlan#10 P0 arp who-has 172.20.4.2 tell 172.20.4.1
16:58:09.313744 0:2:b3:d7:0:97 0:3:47:a6:47:a3 8100 46: 802.1Q vlan#10 P0 arp reply 172.20.4.2 is-at 0:2:b3:d7:0:97

декодит нормально, а вот назад отвечает без parent vlan tag.
172.20.4.1 - freebsd with patch
172.20.4.2 - linux.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

6. "Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от Дохтур email on 04-Мрт-07, 23:34 
freebsd это не умеет.

>ifconfig vlan4 10.1.1.1 netmask 255.255.255.0
>А это зачем? Не достаточно ли просто поднять >интерфейс?

мне надо было для тестов.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от _umka_ (ok) on 12-Мрт-07, 06:48 
умеет. а в линухе эта поддержка похоже появилась весьма не давно.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

9. "Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от proxx on 16-Мрт-07, 16:39 
линух это давно умееет, только нужно еще патчить драйвера сетевых карт чтоб они пакеты длинной 1508 байт пропускали, ну и свитчи тоже не должны их резать..
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от Serge (??) on 19-Мрт-07, 19:43 
По-моему 1504 байта достаточно.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

12. "Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от Lion (??) on 22-Мрт-07, 04:05 
Для Q-in-Q нужно 1508 (4+4 - там же 2 VLAN тега)
Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

13. "Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от Serge (??) on 22-Мрт-07, 19:34 
Откуда 4+4 то?
Всего вланов 4096 - это 2^12, следовательно 2 раза по 12 бит получается 24 бита, а это как раз 4 байта!
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

15. "Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от Ilijaz on 25-Мрт-07, 12:39 
vlan 4, !!!p 0,!!!! <- а про это мы забыли?! 1508 байт!
Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

11. "Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от Прохожий (??) on 21-Мрт-07, 13:22 
>Q-in-Q - необходимая для операторов вещь. По причинам, уже описанным в предыдущем посте

Нормальный оператор не может себе позволить нормальный DSLAM?
Зачем изобретать велосипед то, для этого есть спец. оборудование которое специально создано для решения этих задач

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от Andrew Kolchoogin on 23-Мрт-07, 13:03 
DSLAM? Digital Subscriber Line Access Multiplexer? А каким местом он к Ethernet'у и 802.1q? Это же ADSL...
Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

16. "Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от Andrew Shtabnoi email on 14-Дек-07, 07:11 
ADSL - это ATM, который потом надо как-то во что-то инкапсулировать дабы передавать по ethernet-сетям. вот и спасает qnq, в худшем случае просто .1q
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

17. "Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от denis email(??) on 06-Авг-09, 10:48 
А какой MTU должен быть в этом случае?
Для такого получается 1508, я прав?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

18. "Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от martin email(??) on 08-Июн-11, 12:49 
ну и какой влан  в какой вложен?
vconfig set_name_type VLAN_PLUS_VID_NO_PAD задает вид именования vlan
далее создается два vlan и передаются в транке с одного интерфейса
а где конфетка?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от Костя (??) on 29-Ноя-11, 14:57 
лучше для наглядности пример, когда vlan 8 в vlan 8 вложили....
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

20. "Q-in-Q (VLAN stacking) в Linux"  +/
Сообщение от shtabnoi email on 31-Янв-13, 19:42 
> лучше для наглядности пример, когда vlan 8 в vlan 8 вложили....

Router(config)# interface gigabitEehernet0/0.008008
Router(config-subif)# encapsulation dot1q 8 second-dot1q 8

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру