Настройка 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. Например для 12 и 13 VLAN при родительском интерфейсе “xl0” это будет выглядеть


cloned_interfaces="vlan12 vlan13"
ifconfig_vlan12="inet 192.168.12.5 netmask 255.255.255.0 vlan 12 vlandev xl0"
ifconfig_vlan13="inet 192.168.13.5 netmask 255.255.255.0 vlan 13 vlandev xl0"

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


#ifconfig vlan12 create
#ifconfig vlan12 vlan 12 vlandev xl0
#ifconfig vlan12 192.168.12.5/24

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


vlan2: flags=8943 mtu 1500
        inet 192.168.12.5 netmask 0xffffff00 broadcast 192.168.12.255
        ether 00:14:85:86:76:ab
        media: Ethernet autoselect (100baseTX )
        status: active
        vlan: 12 parent interface: xl0

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


ifconfig vlan12 destroy

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

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


#ifconfig vlan12 create
#ifconfig vlan12 vlan 12 vlandev xl0
#ifconfig vlan12 inet 192.168.12.5 netmask 255.255.255.0

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


#cat /etc/hostname.vlan12
inet 192.168.12.5 255.255.255.0 192.168.12.255 vlandev xl0 description "Interface VLAN 12"

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

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

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

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