Содержание
VLAN – это аббревиатура, означающая Virtual Local Area Network (виртаульная локальная сеть). На одном физическом порту может совместно существовать несколько VLAN-сетей, которые настраиваются программными средствами Linux, а не конфигурацией физических интерфейсов (но настройка самих интерфейсов тоже требуется). С помощью VLAN можно разделить сетевые ресурсы для использования различных сервисов.
Преимущества VLAN следующие:
- Производительность
- Простота управления
- Безопасность
- Магистральные cоединения (trunk)
- Возможность разделения внутри локальной сети из соображений безопасности
- Отсутствие необходимости настройки аппаратных средств при физическом переносе сервера в другое место.
Содержание
Требования к сетевому оборудованию
Чтобы использовать VLAN, вам потребуется:
- Коммутатор с поддержкой стандарта IEEE 802.1q в сети Ethernet.
- Сетевая карта, которая работает с Linux и поддерживает стандарт 802.1q .
Возможные проблемы
Наиболее распространенные при настройке VLAN в Linux проблемы следующие:
- Не все сетевые драйверы поддерживают VLAN. Может потребоваться обновление драйвера.
- Возможны проблемы с MTU. Работа VLAN основана на присвоении каждому кадру тега длиной 4 байта, то есть заголовок фактически расширяется с 14 до 18 байт. Тег VLAN содержит идентификатор (VLAN ID) и приоритет.
- Лучше не использовать VLAN ID, равный 1, так как он может быть зарезервирован для административных целей.
Сначала убедитесь, что драйвер (модуль) ядра Linux под названием 8021 загружен:
# lsmod | grep 8021q
Если он не загружен, загрузите его командой modprobe:
# modprobe 8021q
Настройка VLAN в CentOS/RHEL/Fedora Linux
Допустим, нам нужно создать VLAN интерфейс с тегом 100 который будет работать на физическом интерфейсе eth0. Для этого создадим файл /etc/sysconfig/network-scripts/ifcfg-eth0.100
. Узнать название сетевых интерфейсов в системе можно с помощью команды ifconfig.
# ifconfig
Создаем новый файл например с помощью редактора 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 интерфейс
Конфигурация 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
Учтите, что после перезагрузки системы этот интерфейс будет удален.
Для удаления интерфейса вручную выполните следующие действия:
# 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
Устройство нужно активировать и присвоить ему 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/