Меню Рубрики

Linux настройка сети vlan

Настройка 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, так как он может быть зарезервирован для административных целей.

Подготовка для настройки VLAN интерфейсов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Весь трафик пойдет через интерфейс eth0 с тегом VLAN 10. Его смогут принять только устройства, которым сообщено о VLAN, остальные будут отклонять трафик.
Следующие команды позволяют удалить VLAN ID:

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

Заключение

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

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

Источник

Небольшие заметки системного инженера

понедельник, 4 ноября 2013 г.

Настройка VLAN в Linux

#
# ifconfig eth0.100
eth0.100 Link encap:Ethernet HWaddr 00:0C:29:64:7F:04
inet addr:192.168.100.1 Bcast:192.168.100.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe64:7f04/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:768 (768.0 b)

# ifconfig vlan200
vlan200 Link encap:Ethernet HWaddr 00:0C:29:64:7F:04
inet addr:192.168.200.1 Bcast:192.168.200.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe64:7f04/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:768 (768.0 b)
#

auto eth0.100
iface eth0.100 inet static
address 192.168.100.3
netmask 255.255.255.0
vlan_raw_device eth0

auto eth0.200
iface eth0.200 inet static
address 192.168.200.3
netmask 255.255.255.0
vlan_raw_device eth0

Источник

Linux настройка сети vlan

В статье расcмотрен вопрос, как включить и настроить в Linux (Debian, Ubuntu, xUbuntu, Linux Mint, Knoppix и т.п.) поддержку VLAN 802.1Q на сетевом интерфейсе.

Недавно у меня возникла задача работать сразу в нескольких виртуальных локальных сетях (VLAN). В ОС Linux сделать это оказалось довольно просто. Раcсмотрим все по порядку.

Включение поддержки vlan в Linux Mint, Debian, Ubuntu

Первым делом установим пакет «vlan» для настройки VLAN-ов в Linux. Данный пакет будет содержать в себе утилиту «vconfig» для настройки VLAN.

Допустим, нам нужно подключить сеть VLAN200. Для этого создадим логический интерфейс «eth0.200», привязанный к физическому интерфейсу «eth0», который будет обрабатывать пакеты с тегом 200.

Если выскочит ошибка «. Maybe you need to load the 8021q module. «, надо будет подгрузить модуль 8021q в ядро Linux следующей командой:

Добавление vlan в Linux с помощью утилиты vconfig

Пробуем еще раз добавить vlan с тегом 200, затем выводим командой «ifconfig -a» список всех интерфейсов:

Из вывода видно, что появился еще один логический интерфейс «eth0.200», который будет обрабатывать все пакеты, помеченные тегом 200 (принадлежащие сети VLAN200).

Повесим ip-адрес на новый интерфейс «eth0.200».

На этом настройка завершена. Следует отметить, что после перезагрузки интерфейс «eth0.200» слетит.

Добавление vlan в Linux Mint, Debian, Ubuntu через файл interfaces

Для того, чтобы интерфейс поднимался каждый раз после перезагрузки системы, его надо добавить в файл «/etc/network/interfaces».

Пример содержимого файла interfases.

Я думаю, тут все понятно.

Знак «#» — это комментарий.

Физический интерфейс «eth0» работает в обычном режиме т.е. все нетегированные (untagged) пакеты обрабатываются на этом интерфейсе.

Логический интерфейс «eth0.200» работает в режиме обработки только тегированных (tagged) пакетов с тегом 200, т.е. принадлежит VLAN200.

По аналогии можно создавать и другие VLAN интерфейсы.

На этом все. Рассмотрение процесса настройки VLAN в ОС Linux (Debian, xUbuntu, Linux Mint, Knoppix) завершено. Надеюсь, что эта статья была полезной. Комментируем, подписываемся, ну и всем пока:)

1″ :pagination=»pagination» :callback=»loadData» :options=»paginationOptions»>

Источник

Повесть о Linux и VLAN

1. Введение.

Цель статьи — описать настройку компьютера под управлением Linux в качестве маршрутизатора между VLAN’ами (читается «виланами»).VLAN, или Virtual bridged LAN, — это группа устройств объединяемых по логическому принципу (т.е. по выполняемым функциям, структурным подразделениям предприятия, приложениям и т.д.), вне зависимости от их физического размещения и подключения объединяемых сегментов сети. Эта технология позволяет управлять широковещательным и обычным сетевым трафиком, а так же увеличивает безопасность информации передаваемой по локальной сети.

Предполагается, что читатель знаком с основами стандарта 802.1Q, умеет компилировать и устанавливать ядро Linux и настраивать IP маршрутизацию. По этим темам существует хорошая документация, поэтому, чтобы не увеличивать объем статьи, на этих вопросах я останавливаться не буду, а читателю предлагаю при необходимости обратиться к материалам, ссылки на которые приводятся в конце статьи.

Итак, займемся делом. Задача простая — имеем коммутатор, скажем Cisco IOS-based или Allied Telesyn AT8124XL. Нужно организовать три VLAN’a, и настроить маршрутизацию между ними. Поехали.

2. Обновление ядра.

Если у вас ядро до 2.4.14, идем на http://scry.wanfear.com/

greear/vlan.html и загружаем патч для вашего ядра. Кстати, по тому же адресу, вы найдете множество полезных ссылок по теме. Если версия выше — сразу переходите к конфигурации ядра.

Распаковываем файл vlan.х.х.х.tar.gz, и патчим ядро:

# tar xzvf vlan.x.x.x.tar.gz
# patch -p1

Пора настраивать ядро. Перейдя в каталог с исходными тесктами, набираем магические слова:

# make menuconfig
или
# make xconfig
или
# make config

кому что больше по вкусу.

Теперь в настройке ядра будет поддержка стандарта 802.1Q. Включаем ее, а так же указываем все опции, нужные для маршрутизации.

Пишем заветную строчку:

# make dep && make bzImage && make modules && make modules_install

Устанавливаем ядро, и перезагружаем машину. Во время загрузки успеваем увидеть радующие глаз строки:

802.1Q VLAN Support vX.ХХ Ben Greear
vlan Initialization complete.

Это то, что мы, собственно, и добивались. Теперь надо браться за настройку Linux’а, как маршрутизатора между VLAN’ами.

3. Настройка Linux.

Сначала небольшое отступление. Когда мы настроим Linux, то для каждого VLAN’а будет создано отдельное устройство. Нужно выбрать формат обозначения устройств из четырех имеющихся вариантов. Формат устанавливается с помощью команды:

vconfig set_name_type [name-type],

где name-type может принимать следующие значения:

VLAN_PLUS_VID имя устройства будет выглядеть так: vlan0005
VLAN_PLUS_VID_NO_PAD имя устройства будет выглядеть так: vlan5
DEV_PLUS_VID имя устройства будет выглядеть так: eth0.0005
DEV_PLUS_VID_NO_PAD имя устройства будет выглядеть так: eth0.5

Каждый из вариантов имеет свои плюсы и минусы. Так, привязка к устройству позволяет видеть, с какой сетевой картой вы работаете. Но, в тоже время, далеко не все программы поддерживают наличие точки в имени интерфейса. Например, программа sysctl из Red Hat Linux 6.2 будет ругаться на переменные вида eth0.0002.ip_forward, тогда как имя vlan0002.ip_forward пропустит без замечаний. В общем, — выбор за вами.

Хочу еще раз подчеркнуть, что имя, ассоциируемое с каждым из VLAN’ов, будь то vlan0002 или eth0.0002, представляет собой отдельное и самостоятельное устройство. Это важно при построении межсетевого экрана: как известно программа ipchains не различает псевдонимы на устройстве — они для нее одно устройство. В тоже время ipchains отличит eth0.0002 и eth0.0003.

Вернемся теперь к настройке OC. Отключаем интерфейс, на котором будем настраивать VLAN’ы:

# ifconfig eth0 down

А теперь, просто поднимаем его (не устанавливая ip адрес, иначе мы не сможем настраивать VLAN’ы!)

# ifconfig eth0 0.0.0.0 up

Укажем VLAN’ы, которые будут использоваться на этом интерфейсе. Каждый VLAN добавим на нужный интерфейс:

# vconfig add eth0 2
# vconfig add eth0 3
# vconfig add eth0 4

Примечание: В системах Cisco, и некоторых других, VLAN #1 является vlan’ом по умолчанию, и поэтому использоваться не может. Необходимо начинать с #2

Всё, мы прописали VLAN’ы, которые будут использоваться на интерфейсе, нужно присваивать им ip адреса:

# ifconfig -a
# ifconfig -i vlan0002 192.168.2.1 broadcast 192.168.2.255 netmask 255.255.255.0 up
# ifconfig -i vlan0003 192.168.3.1 broadcast 192.168.3.255 netmask 255.255.255.0 up
# ifconfig -i vlan0004 192.168.4.1 broadcast 192.168.4.255 netmask 255.255.255.0 up

Вот, с линуксом мы и разобрались.

4. Настройка коммутатора AT8124XL

Так, займемся коммутаторами Allied Telesyn. Важно помнить, что на этом коммутаторе при работе с VLAN’ами их нужно переводить в состояние disabled. Поэтому полная конфигурация VLAN’ов может быть произведена только через консольный порт. Вот последовательность команд для на стройки с удаленного клиента:

— Регистрируемся.
— Выбираем Advanced Switch Configuration -> VLAN configuration
— Создаем нужное количество VLAN’ов (процесс подробно описан в документации).
— Добавляем нужные порты в соответствующие VLAN’ы.
— В каждый VLAN помещаем порт, на котором находится линукс-маршрутизатор и делаем его таггируемым (tagging = yes).
— Не забываем поставить для каждого порта, находящегося не в первом VLAN’е, PVID равным соответствующему VID.
— Всё.

5. Настройка коммутатора Cisco IOS-based.

Итак, настраиваем Cisco. Вот набор команд для настройки порта, на который подсоединен линукс-маршрутизатор:

telnet mycisco
>en
# conf t
ig)# int Fa 0/24
int)# duplex full
int)# speed 100
int)# switchport trunk encaps dot1q
int)# switchport trunk allowed vlan 2
int)# switchport trunk allowed vlan 3
int)# switchport trunk allowed vlan 4
int)# switchport mode trunk
int)# end
# sh run
# ping myrouter
. если все нормально, сохраняем конфигурацию коммутатора командой
# copy run start

Кроме этого, нужно добавить к каждому VLAN’у несколько портов без инкапсуляции. (иначе какой-же смысл?).

6. Проблемы с драйверами сетевых карт.

Теперь самое интересное и противное. Нужно с какого-нибудь Linux/UNIX в одном из vlan’ов дать команду:

$ ping -s 1476 myrouter

Если работает — то облегченно вздыхаете, в противном случае, затаив дыхание, пишете следующую команду:

$ ping -s 100 myrouter

Если такой «пинг» успешен, то это свидетельствует о «кривом» драйвере сетевой карты. Подробности дальше по тексту. Если же и в этот раз «пинг» не проходит — значит, вы что-то сделали не так. Либо плохо сконфигурирован коммутатор, либо маршрутизатор, либо ваш UNIX/Linux не включен в этот самый коммутатор-

Теперь о проблемах с драйверами сетевых карт. Суть состоит в том, что стандарт 802.1Q определяет максимальный размер сегмента на 4 байта больше, чем стандарт ethernet. Эти 4 байта и несут информацию о принадлежности пакета тому или иному vlan’у. Самый простой выход — использовать сетевую карту на чипе rtl8029(as) или rtl8139, драйвера к которым написаны корректно. Легко правятся драйвера сетевых карт фирмы 3Com: исправлением строки

static int mtu = 1500;
на:
static int mtu = 1504;

Правки для других драйверов вы найдете по ссылке, приведенной в конце статьи.

7. Скрипт старта сети для Red Hat систем.

greear/vlan.html лежит скрипт для имен формата ethX.XXXX, то, что бы не повторятся, я приведу скрипт для имен вида vlanXXXX (OS RedHat 6.2):

Строки с изменениями, которые необходимо внести в оригинальный файл network, отмечены символом «>». Кроме того, как видно из текста, скрипт требует внесение в файл ifcfg-vlanXXXX дополнительного параметра VLANDEV, который определяет интерфейс, на котором должен быть создан данный VLAN.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Игры на выживание mac os
  • Игры на mac os на двоих
  • Игры и программы для mac os
  • Игры для mac os снайпер
  • Игры для mac os детские