The OpenNET Project / Index page

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

Конфигурирование VLAN в RHEL/CentOS/Fedora и Debian/Ubuntu
Ниже представлены примеры настройки VLAN через стандартные средства дистрибутивов Linux.

RHEL, CentOS, Fedora

Для начала необходимо описать базовый сетевой интерфейс, на котором мы будем поднимать VLAN.

/etc/sysconfig/network-scripts/ifcfg-eth0

   DEVICE=eth0                   # здесь нужно указать реальное имя интерфейса
   BOOTPROTO=static
   HWADDR=00:07:E9:A7:13:48      # здесь нужно указать реальный MAC
   ONBOOT=no
   TYPE=Ethernet
   IPADDR=0.0.0.0
   NETMASK=255.255.255.0


Дла наших целей важны только два параметра: DEVICE и HWADDR. 
Остальное роли не играет. Можно даже заполнить "от балды".

Далее, создаем подинтерфейсы для VLAN. Именование подинтерфейсов может быть
двух видов: "vlanX" и "eth0.X".

В первом случае, мы имеем описательное имя, которое не привязано к имени родительского интерфейса. 
Соответственно, перемещение VLAN на другой физический интерфейс не требует значительных изменений 
в конфигурацию системы (не нужно править правила пакетного фильтра и тд и тп).

С другой стороны, при использовании имен вида "eth0.X" мы имеем более
удобное (по моему мнению) имя интерфейса,
по которому видно на каком родительском интерфейсе поднят VLAN, чем немного
упрощается администрирование системы.
Плюс, поскольку имя подинтерфейса базируется на имени физического, то мы имеем
различные пространства имен для VLAN-ов.
Я имею ввиду ситуацию, когда на разных интерфейсах приходят VLAN-ы с одинаковыми номерами. 
Использование "vlanX" в данном случае будет несколько затруднительно.
Минусом будет то, что некоторые утилиты некорректно работают с именами
интерфейсов с точкой в имени (например sysctl).

Конфигурирование интерфейсов типа "vlanX"

/etc/sysconfig/network-scripts/ifcfg-vlan10

   VLAN=yes
   VLAN_NAME_TYPE=VLAN_PLUS_VID_NO_PAD
   DEVICE=vlan10
   PHYSDEV=eth0
   BOOTPROTO=static
   ONBOOT=yes
   TYPE=Ethernet
   IPADDR=10.10.10.2
   NETMASK=255.255.255.252


Здесь:

PHYSDEV - физический интерфейс, на котором работает VLAN.
VLAN_NAME_TYPE - указываем тип наименование устройства. В данном случае номер VLAN будет 
браться с имени устройства. Возможные варианты:

   VLAN_PLUS_VID -vlan0010
   VLAN_PLUS_VID_NO_PAD - vlan10
   DEV_PLUS_VID - eth0.0010
   DEV_PLUS_VID_NO_PAD - eth0.10

Конфигурирование интерфейсов типа "eth0.X"

/etc/sysconfig/network-scripts/ifcfg-eth0.10

   VLAN=yes
   DEVICE=eth0.10
   BOOTPROTO=static
   ONBOOT=yes
   TYPE=Ethernet
   IPADDR=10.10.10.2
   NETMASK=255.255.255.252

Все то же самое, но без PHYSDEV и VLAN_NAME_TYPE.

Хочеться добавить, что смешать в одной системе "vlanX" и "eth0.X" штатными
средствами вряд ли получится,
т.к. тип именования (VLAN_NAME_TYPE) при инициализации интерфейсов задается по
первому поднимаемому интерфейсу.


Примеры для Debian, Ubuntu.

Устанавливаем поддержку vlan:

   sudo apt-get install vlan

В /etc/network/interfaces добавляем:

   # Какие интерфейсы поднимать автоматически
   auto vlan4
   auto vlan5
   auto vlan101

   # VLAN 4
   iface vlan4 inet static
      address 192.168.0.8
      netmask 255.255.255.192
      network 192.168.0.0
      broadcast 192.168.0.63
      mtu 1500
      vlan_raw_device eth0
   
   # VLAN 5
   iface vlan5 inet static
      address 10.0.111.8
      netmask 255.255.255.0
      network 10.0.111.0
      broadcast 10.0.111.255
      mtu 1500
      vlan_raw_device eth0
   
   # VLAN 101
   iface vlan101 inet static
      address 172.12.101.8
      netmask 255.255.255.0
      network 172.12.101.0
      broadcast 172.12.101.255
      gateway 172.12.101.1
      mtu 1500
      vlan_raw_device eth0
   
 
19.02.2009 , Автор: Roman Shramko , Источник: http://blog.ronix.net.ua/2009/02/vl... (доп. ссылка 1)
Ключи: vlan, debian, redhat, ethernet
Раздел:    Корень / Администратору / Сетевая подсистема, маршрутизация / Ethernet, ARP, привязка MAC адресов.

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, AlexN (??), 08:33, 20/02/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
       iface eth0.1 inet static
          address 172.12.1.8
          netmask 255.255.255.0
          network 172.12.1.0
       iface eth0.2 inet static
          address 172.12.2.8
          netmask 255.255.255.0
          network 172.12.2.0
    и все. Дебиан имхо удобнее в конфигурировании сети.
     
     
  • 2.4, anonymous (??), 10:17, 20/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    самая удобная конфигурация сети в gentoo: не надо помнить синтаксис ни под pppoe, ни под vlan, ни под pptp, ни под бриджинг. Всё в примерах самого файла. И работает, что характерно.
     

  • 1.2, Аноним (2), 09:19, 20/02/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Неужели и модель поддержки 802.1q уже подгружать в ядро не надо ?

    modprobe 8021q

     
  • 1.3, metallic (?), 10:05, 20/02/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А как определить поддерживает ли моя сетевуха влан или нет?
     
     
  • 2.5, keir (?), 11:59, 20/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Требуется наличие модуля vlan в ядре и все.
     
     
  • 3.6, keir (ok), 12:04, 20/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Точнее, 8021q
     
  • 3.7, vitek (??), 13:57, 20/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    наверное имелось ввиду Транк VLAN — это физический канал, по которому передается несколько VLAN каналов, которые различаются тегами (метками, добавляемыми в пакеты). Транки обычно создаются между «тегированными портами» VLAN-устройств: свитч-свитч или свитч-маршрутизатор. (В документах Cisco термином «транк» также называют объединение нескольких физических каналов в один логический: Link Aggregation, Port Trunking)
    http://ru.wikipedia.org/wiki/VLAN
    если так, то да, нужна карточка поддержкой транков. (но помоему сейчас это делают все)
    типа так:
    http://ylsoftware.com/?action=news&na=viewfull&news=438
     

  • 1.8, metallic (?), 18:19, 20/02/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не, я имел ввиду, допустим есть два влана, надо чтоб сервак был доступен в обоих вланах с одной сетевухой, это любая сетевуха поддерживает?
     
     
  • 2.9, emp (??), 18:35, 20/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    > Не, я имел ввиду, допустим есть два влана, надо чтоб сервак был доступен в обоих вланах с одной сетевухой, это любая сетевуха поддерживает?

    не любая. тэггированый пакет больше на 4 байта чем стандартное mtu (1500). если сетевуха не умеет mtu больше 1500 то вланы работать не будут. бывает что сетевуха уммет но не умеет драйвер. например 3с59x или e100. это исправляется патчами. вот гигабитные карты все умеют вланы.

     
     
  • 3.10, metallic (?), 22:37, 20/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >вот гигабитные карты все умеют вланы.

    Даже размазанные на материнке?

     
     
  • 4.12, slep (?), 00:18, 21/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Чипы то одинаковые,да и на материнке покруче NIC будет (PXE...)
     
  • 3.13, rWizard (??), 05:57, 21/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >не любая. тэггированый пакет больше на 4 байта чем стандартное mtu (1500).
    >если сетевуха не умеет mtu больше 1500 то вланы работать не
    >будут. бывает что сетевуха уммет но не умеет драйвер. например 3с59x
    >или e100. это исправляется патчами. вот гигабитные карты все умеют вланы.

    я могу ошибаться, но у меня на работает vlan на целой куче разного дешевого железа. Включая 10-ти мегабитные карточки. Возможно имеется ввиду VLAN_HWTAGGING?


     
     
  • 4.16, emp (??), 02:28, 22/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >я могу ошибаться, но у меня на работает vlan на целой куче разного дешевого железа. >Включая 10-ти мегабитные карточки. Возможно имеется ввиду VLAN_HWTAGGING?

    на старом железе оно и не обязано работать. VLAN_HWTAGGING это другое.

     

  • 1.14, gthe (??), 21:52, 21/02/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Давно мучает такой вопрос. После создания влан интерфейса методом создания файла его конфига в /etc/sysconfig/network-scripts можно ли как-то поднять интерфейс БЕЗ перезагрузки сетевой подсистемы ??
    А то если вланов уже за сотню процесс network restart занимает несколько минут уже....
     
     
  • 2.15, emp (??), 02:25, 22/02/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Давно мучает такой вопрос. После создания влан интерфейса методом создания файла его конфига в /etc/sysconfig/network-scripts можно ли как-то поднять интерфейс БЕЗ перезагрузки сетевой подсистемы ??

    А то если вланов уже за сотню процесс network restart занимает несколько минут уже....


    ifup vlan...

     

  • 1.17, Valtiel (?), 07:51, 25/02/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Собственноручно подымал сотю вланов в домашней сетке на обычном селероне с писиайной гигабитной сетевушкой на которой собственно они и работали остальные несколько вланов повесил на стомегабитную тоже орбычную всё работало накубунте.
     
  • 1.18, mick (??), 14:51, 03/12/2010 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    для того чтобы работали VLAN нужна поддержка VLAN_MTU (как писалось выше тегированные пакет на 4 байта больше).
    VLAN_HWTAGGING - это дополнительная фича разгражающая CPU.

    В FreeBSD это видно так:
    em0:         options=19b<....,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4>

     
  • 1.19, Vitaliy (??), 10:16, 10/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    VLAN=yes
       VLAN_NAME_TYPE=VLAN_PLUS_VID_NO_PAD
       DEVICE=vlan10
       PHYSDEV=eth0
       BOOTPROTO=static
       ONBOOT=yes
       TYPE=Ethernet
       IPADDR=10.10.10.2
       NETMASK=255.255.255.252

    Вместо TYPE=Ethernet нужно указать TYPE=Vlan (для Сentos7 minimal install в моем случае)

     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

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