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

Vlan linux freebsd openbsdVLAN (Virtual Local Area Network) - виртуальные локальные сети - выделение одной или нескольких виртуальных (логических) подсетей в рамках одной физической сети.
Рассказывать про назначение VLAN, их преимущества и т.д. я не буду. Если вы доросли до настройки VLAN значит пора заняться конфигурированием ОС, а не читать скучные термины :)

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

Проверяем наличие пакета vlan в системе, если нет, то ставим из репозиториев или скачиваем исходники с этой страницы

Для Ubuntu (Debian):


sudo aptitude install vlan

Для работы VLAN требуется модуль ядра 8021q, подгружаем его


sudo modprobe 8021q

и прописываем автоматическую загрузку модуля при старте системы. Для этого в файле /etc/modules добавляем строку 8021q.

Создаем новые VLAN интерфейсы в файле /etc/network/interfaces. Например для VLAN 2 и 3 где родительская сеть висит на интерфейсе eth0 (вместо eth0, ip и номера VLAN подставьте свои данные).


auto vlan2
auto vlan3

# VLAN 2
iface vlan2 inet static
address 192.168.2.1
netmask 255.255.255.0
network 192.168.2.0
broadcast 192.168.2.255
mtu 1500
vlan_raw_device eth0

# VLAN 3
iface vlan3 inet static
address 10.10.3.3
netmask 255.255.255.0
network 10.10.3.0
broadcast 10.10.3.255
mtu 1500
vlan_raw_device eth0

Перезапускаем сетевые интерфейсы и через команду ifconfig убеждаемся что VLAN присутствуют в системе.


sudo /etc/init.d/networking restart

Для некоторых дистрибутивов linux, (например Slackware) нет отдельных настроек в конфигурационных файлах для задания VLAN. Поэтому требуется знать как создавать VLAN прямо из командной строки, а уже потом на основании этих команд написать простенький скрипт автозагрузки при старте системы.
Разберем создания VLAN 10 с ip 192.168.10.1 на родительском интерфейсе eth0. От root или sudo выполним в консоли


#ip link set up eth0
#vconfig add eth0 10
#ip link set up eth0.10
#ip addr add 192.168.10.1/24 dev eth0.10 broadcast +

Удалить VLAN 10 с помощью команд


#ip link set down eth0.10
#ip addr del 192.168.10.1/24 dev eth0.10 broadcast +
#vconfig  rem eth0.10

Ну а скрипт запуска для ОС получится примерно таким - rc.vlan


#!/bin/sh
#
# /etc/rc.d/rc.vlan
#
# Start/stop the VLAN
#

case "$1" in
   'start')
            /sbin/ip link set up eth0
            /sbin/vconfig add eth0 10
            /sbin/ip link set up eth0.10
            /sbin/ip addr add 192.168.10.1/24 dev eth0.10 broadcast +
          ;;
    'stop')
            /sbin/ip link set down eth0.10
            /sbin/ip addr del 192.168.10.1/24 dev eth0.10 broadcast +
            /sbin/vconfig  rem eth0.10
          ;;
     *)
     echo "usage $0 start|stopt" ;;
     esac

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

Первым делом подгружаем VLAN модуль ядра в систему. От root выполняем


kldload if_vlan

Прописываем загрузку этого модуля при старте системы, для этого в файл /boot/loader.conf добавим строки


if_vlan_load=”YES”

Можно обойтись и без загрузки модулей - переконфигурировать ядро с поддержкой VLAN. В конфиг ядра включить строку


device          vlan

и пересобрать ядро.
Прописываем создание VLAN в файл /etc/rc.conf. Например для 2 и 3 VLAN при родительском интерфейсе "xl0" это будет выглядеть


cloned_interfaces="vlan2 vlan3"
ifconfig_vlan2="inet 192.168.17.3 netmask 255.255.255.0 vlan 2 vlandev xl0"
ifconfig_vlan3="inet 192.168.16.3 netmask 255.255.255.0 vlan 3 vlandev xl0"

Все, теперь VLAN 2 и 3 появятся при следующей загрузке. Для избежания перезагрузки сервера, требуется оперировать командами (создаем 2 VLAN от родительского интерфейса "xl0"). От root выполняем


#ifconfig vlan2 create
#ifconfig vlan2 vlan 2 vlandev xl0
#ifconfig vlan2 192.168.17.3/24

Командой ifconfig проверяем что VLAN 2 создался и ip адрес назначен.


vlan2: flags=8943 mtu 1500
        inet 192.168.17.3 netmask 0xffffff00 broadcast 192.168.17.255
        ether 00:04:75:86:76:ab
        media: Ethernet autoselect (100baseTX )
        status: active
        vlan: 2 parent interface: xl0

Для удаления VLAN 2 интерфейса выполните команду


ifconfig vlan2 destroy

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

Работа с командами VLAN в OpenBSD идентична FreeBSD системам. Команды консоли почти одинаковые. От root выполняем


#ifconfig vlan2 create
#ifconfig vlan2 vlan 2 vlandev xl0
#ifconfig vlan2 inet 192.168.17.3 netmask 255.255.255.0

Для автоматического старта VLAN при старте ОС создаем конфигурационный файл /etc/hostname.vlan2 с таким содержимым


#cat /etc/hostname.vlan2
inet 192.168.17.3 255.255.255.0 192.168.17.255 vlandev xl0 description "Interface VLAN 2"

Вот и все хитрости с настройкой. Не забудьте настроить порт коммутатора или роутера в который воткнут ваш компьютер на работу с Vlan.

Статья просмотрена 14 027 раз
Запись опубликована в рубрике FreeBSD, Linux с метками , , , , , . Добавьте в закладки постоянную ссылку.

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

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

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>