Андрей Смирнов
Время чтения: ~4 мин.
Просмотров: 19

Настройка VLAN интерфейсов в Linux

VLAN – это аббревиатура, означающая Virtual Local Area Network (виртаульная локальная сеть). На одном физическом порту может совместно существовать несколько VLAN-сетей, которые настраиваются программными средствами Linux, а не конфигурацией физических интерфейсов (но настройка самих интерфейсов тоже требуется). С помощью VLAN можно разделить сетевые ресурсы для использования различных сервисов.

Преимущества VLAN следующие:

  • Производительность
  • Простота управления
  • Безопасность
  • Магистральные cоединения (trunk)
  • Возможность разделения внутри локальной сети из соображений безопасности
  • Отсутствие необходимости настройки аппаратных средств при физическом переносе сервера в другое место.

Содержание

Требования к сетевому оборудованию

Чтобы использовать VLAN, вам потребуется:

  1. Коммутатор с поддержкой стандарта IEEE 802.1q в сети Ethernet.
  2. Сетевая карта, которая работает с Linux и поддерживает стандарт 802.1q .

Возможные проблемы

Наиболее распространенные при настройке VLAN в Linux проблемы следующие:

  • Не все сетевые драйверы поддерживают VLAN. Может потребоваться обновление драйвера.
  • Возможны проблемы с MTU. Работа VLAN основана на присвоении каждому кадру тега длиной 4 байта, то есть заголовок фактически расширяется с 14 до 18 байт. Тег VLAN содержит идентификатор (VLAN ID) и приоритет.
  • Лучше не использовать VLAN ID, равный 1, так как он может быть зарезервирован для административных целей.

Сначала убедитесь, что драйвер (модуль) ядра Linux под названием 8021 загружен:

# lsmod | grep 8021q

vlan1.jpg

Если он не загружен, загрузите его командой modprobe:

# modprobe 8021q

Настройка VLAN в CentOS/RHEL/Fedora Linux

Допустим, нам нужно создать VLAN интерфейс с тегом 100 который будет работать на физическом интерфейсе eth0. Для этого создадим файл /etc/sysconfig/network-scripts/ifcfg-eth0.100. Узнать название сетевых интерфейсов в системе можно с помощью команды ifconfig.

# ifconfig

vlan2.jpg

Создаем новый файл например с помощью редактора vim

# vim /etc/sysconfig/network-scripts/ifcfg-eth0.100

Добавьте в него следующий код

# Конфигурация VLAN с ID – 100 для интерфейса eth0 #DEVICE=eth0.100  BOOTPROTO=none  ONBOOT=yes  IPADDR=192.168.1.5  NETMASK=255.255.255.0  USERCTL=no  NETWORK=192.168.1.0  VLAN=yes

Жирным шрифтом выделены строки которые относятся к настройкам VLAN. Остальные настройки аналогичны настройкам на физическом интерфейсе.

Если вам нужна еще одна виртуальная сеть, то создайте новый файл сетевых настроек с нужным тегом VLAN. Что бы изменения вступили в силу, перезапустите сетевую службу

# systemctl restart network

Теперь можно проверить созданные интерфейсы командой ifconfig. Мы должны увидеть наш VLAN интерфейс

vlan3.jpg

Конфигурация VLAN в Debian и Ubuntu

Откройте файл /etc/network/interfaces любым текстовым редактором, например nano

$ sudo nano /etc/network/interfaces

Добавьте в файл следующие строки:

##vlan с ID-100 для интерфейса eth0 with ID - 100 в Debian/Ubuntu Linux##  auto eth0.100  iface eth0.100 inet static  address 192.168.1.200  netmask 255.255.255.0  vlan-raw-device eth0

auto eth0.100 — «поднимать» интерфейс при запуске сетевой службыiface eth0.100 — название интерфейсаvlan-raw-device— указывает на каком физическом интерфейсе создавать VLAN.

Сохраните и закройте файл. После чего перезапустите сеть.

systemctl restart network

Важно! Если у вас используется Ubuntu версии 17.10 и выше, то необходимо установить пакет ifupdown или настраивать VLAN интерфейсы через netplan

Использование команды vconfig

Также существует команда vconfig. Она позволяет вам создавать и удалять устройства VLAN в ядре с поддержкой VLAN. Устройства VLAN – это виртуальные Ethernet-устройства, которые представляют виртуальные локальные сети в физической. Это еще один метод настройки VLAN. Чтобы добавить VLAN с ID 5 для интерфейса eth0 выполните следующую команду:

# vconfig add eth0 5

Команда vconfig add создает на интерфейсе eth0 VLAN-устройство, в результате чего появляется интерфейс eth0.5. Теперь с помощью ifconfig настроим ip адрес

# ifconfig eth0.5 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255 up

Для получения подробной информации об интерфейсе выполните:

# cat /proc/net/vlan/eth0.5

vlan4.jpg

Учтите, что после перезагрузки системы этот интерфейс будет удален.

Для удаления интерфейса вручную выполните следующие действия:

# ifconfig eth0.5 down  # vconfig rem eth0.5

Создание устройства VLAN командой ip

Для интерфейса eth0 и VLAN ID 10 выполните следующие команды:

# ip link add link eth0 name eth0.10 type vlan id 10  # ip -d link show eth0.10

vlan5.jpg

Устройство нужно активировать и присвоить ему IP-адрес:

# ip addr add 192.168.1.200/24 brd 192.168.1.255 dev eth0.10  # ip link set dev eth0.10 up
# ip link set dev eth0.10 down  # ip link delete eth0.10

Этот интерфейс также будет удален после перезагрузки системы

Заключение

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Используемые источники:

  • https://itproffi.ru/nastrojka-vlan-interfejsov-v-linux/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации