FreeBSD tips: настройка VLAN::Журнал СА 12.2004
www.samag.ru
Журнал «БИТ. Бизнес&Информационные технологии»      
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Работа с Debian  

О Linux с любовью или Debian: через знание к любви

Конечно, одним лишь перечислением замечательных качеств любовь к Linux не возникнет. Для

 Читать далее...

Опрос  

Защита личных и клиентских данных: как мошенники используют ИИ и как защититься?

По данным RED Security, общее число кибератак на российские компании в 2024

 Читать далее...

Опрос  

Облачные инструменты для разработчиков

Эксперты ИТ-отрасли отвечают на вопросы «Системного администратора» > Как с помощью облака сделать

 Читать далее...

Опрос  

Рынок мобильных приложений: что будет актуальным в 2025 году?

Эксперты ИТ-отрасли отвечают на вопросы «Системного администратора» > Ваши прогнозы: чего ожидать от

 Читать далее...

Рынок труда  

Как успешно пройти все этапы собеседования на ИТ-должность?

По оценкам государства, дефицит ИТ-специалистов составляет от 740 тысяч до 1 миллиона

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 7450
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 7717
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 5086
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3290
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 4085
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 4083
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6590
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3435
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3706
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7577
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10945
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12663
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 14421
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9386
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7346
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5632
Комментарии: 4
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4851
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3703
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3386
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3608
Комментарии: 1
Рецензия на книгу «MongoDB в действии»

 Читать далее...

Друзья сайта  

 FreeBSD tips: настройка VLAN

Архив номеров / 2004 / Выпуск №12 (25) / FreeBSD tips: настройка VLAN

Рубрика: Администрирование /  Продукты и решения

СЕРГЕЙ СУПРУНОВ

FreeBSD tips: настройка VLAN

Представьте себе ситуацию: узел СПД в составе маршрутизатора CISCO и коммутатора Catalyst находится на первом этаже, а ваш FreeBSD-сервер – на четвертом. И при этом требуется вывести во внешний мир несколько подсетей, которые проходят через сервер FreeBSD на Catalyst. Можно, конечно, подключить к серверу несколько сетевых адаптеров, занять для внутреннего использования несколько портов на Catalyst и пробросить между этажами километр кабеля 5-й категории. На кабеле можно даже сэкономить, пропустив по одному кабелю сразу два соединения и задействовав тем самым все имеющиеся пары. Однако все равно и затрат, и дополнительных работ по прокладке кабелей получается слишком много. А раз возникает сложность, то наверняка кто-то уже нашел способ ее устранить. И в нашем случае панацеей будет технология VLAN – виртуальные локальные сети.

Данная технология позволяет логически разделять несколько подсетей на одном устройстве (например, коммутаторе) таким образом, что машины, объединенные в одну VLAN, ничего не знают о существовании компьютеров, входящих в другую. И с точки зрения топологии сети мы получаем отдельные коммутаторы для каждой подсети.

На уровне протоколов это достигается добавлением нескольких полей в заголовок пакета сетевого уровня. Одно из добавленных полей содержит идентификатор (номер) сети VLAN, на основе которого и происходит разделение Ethernet-кадров по виртуальным сетям. Кадры, имеющие одинаковый номер VLAN, рассматриваются как принадлежащие одной подсети. Регламентируется это стандартом IEEE 802.1Q.

Развитие технологии VLAN привело к тому, что стало возможным не только назначать отдельные подсети отдельным портам, но и через один порт пропускать несколько VLAN (так называемый multiVLAN). То же относится и к сетевым адаптерам, чем мы и воспользуемся.

Рассмотрим настройку VLAN для FreeBSD на следующем примере: пусть имеется один отрезок кабеля между Catalyst и FreeBSD. На Catalyst свободен один порт, на FreeBSD – одна сетевая карта, обслуживающая внешние соединения. Нужно через это соединение организовать передачу следующих подсетей:

  • подсеть реальных адресов для работы в Интернете (111.222.0.0/28);
  • корпоративная частная подсеть для доступа к вышестоящим узлам компании (10.0.123.0/24);
  • и еще одна сеть для управления оборудованием СПД (10.254.0.0/24).

Прежде всего нужно проверить, поддерживает ли ваша сетевая карта работу по VLAN. Некоторые карты обеспечивают поддержку данной технологии на аппаратном уровне, однако драйвер также должен поддерживать VLAN. Страница справочного руководства (см. man vlan) для FreeBSD 5.2 сообщает, что аппаратное мультиплексирование поддерживается для драйверов bge, em, gx, nge, ti и txp. (Во FreeBSD 5.3 к этому списку добавился еще и драйвер re, обеспечивающий работу сетевых адаптеров на чипсетах RealTek 8139C+/8169/8169S/8110S). Узнать подробную информацию по каждому из драйверов, в том числе список поддерживаемых драйвером моделей сетевых карт, можно на страницах man (например, man 4 em сообщает, что драйвером em поддерживается Intel PRO/1000 Gigabit Ethernet adapter). Если ваш адаптер не входит в этот список, то наверняка он сможет работать с использованием программной эмуляции мультиплексирования. По крайней мере, для большинства современных карт это утверждение справедливо. Нужно заметить, что тот же man vlan гласит, что сетевой адаптер для полноценной эмуляции должен поддерживать «длинные» кадры (oversized frames). В противном случае из-за необходимости размещения дополнительных полей заголовка, содержащих информацию о VLAN, которой принадлежит пакет, приходится снижать максимальный размер передаваемого пакета (MTU) на соответствующем интерфейсе.

Драйвера сетевых адаптеров, поддерживающих длинные кадры, перечислены в man vlan, однако данный список нельзя считать исчерпывающим, поскольку с 2002 года (когда писались страницы руководства) ситуация изменилась в лучшую сторону и перечень совместимых сетевых карт значительно расширился. По крайней мере, D-Link DFE-538TX, работающий на драйвере rl, отсутствующем в списке, никаких нареканий с моей стороны не вызвал. (Замечание: во FreeBSD 5.3 поддержка vlan значительно расширена, и теперь поддержка длинных кадров драйвером rl оформлена официально.)

Пожалуй, хватит теории. Перейдем к практике.

Для работы VLAN в системе должны быть соответствующие псевдоустройства. В случае с FreeBSD 5.2 (думаю, это справедливо и для всей 5-й ветки) устройства vlan создаются динамически. За это отвечает модуль ядра if_vlan.ko. Если вы предпочитаете иметь монолитное ядро, то потребуется пересобрать его со следующей опцией:

device     vlan

Для 3-й и 4-й веток FreeBSD может потребоваться пересобрать ядро с такой строчкой:

pseudo-device    vlan   N

Вместо N нужно подставить количество устройств, которое вам понадобится. После сборки и установки нового ядра в системе должны появиться соответствующие интерфейсы vlan0, vlan1 и т. д., просмотреть которые можно командой:

ifconfig -a

Для FreeBSD 5.2 (в недавно вышедшей 5.3 все настраивается точно так же) для создания vlan-интерфейсов используется «клонирование» (cloning) на этапе загрузки (об этом – чуть ниже) либо программа ifconfig с опцией create. Второй вариант выглядит следующим образом:

# ifconfig vlan0

ifconfig: interface vlan0 does not exist

# ifconfig vlan0 create 111.222.0.5 netmask 255.255.255.240 vlan 111 vlandev rl0

# ifconfig vlan0

vlan0: flags=8843 mtu 1500

    inet 111.222.0.5 netmask 0xfffffff0 broadcast 111.222.0.15

    inet6 fe70::204:5cff:fedf:f81f%vlan0 prefixlen 64 scopeid 0xd

    ether 00:05:5d:cf:f9:1e

    media: Ethernet autoselect (100baseTX )

    status: active

    vlan: 111 parent interface: rl0

Опция vlan задает номер VLAN, присвоенный этой сети. Параметр vlandev указывает физический интерфейс, используемый для организации VLAN. Заметьте, что этот интерфейс (в нашем случае rl0) должен иметь собственный IP-адрес, даже если реально он нигде использоваться не будет:

# ifconfig rl0

rl0: flags=8843 mtu 1500

    options=8

    inet 10.10.10.10 netmask 0xffffff00 broadcast 10.10.10.255

    inet6 fe70::204:5cff:fedf:f81f%rl0 prefixlen 64 scopeid 0x1

    ether 00:05:5d:cf:f9:1e

    media: Ethernet autoselect (100baseTX )

    status: active

Обратите внимание, что интерфейсы vlan наследуют MAC-адрес «родительского» интерфейса, но поскольку сети у нас разные, то ни к каким конфликтам это не приведет.

Если со стороны CISCO все настроено должным образом (собственно говоря, основное требование – номер VLAN должен совпадать с тем, который назначен интерфейсу со стороны FreeBSD), то после этой команды все должно работать. Например, конфигурация интерфейса для подсети реальных адресов на CISCO у меня выглядит следующим образом:

interface FastEthernet0/0.111

  encapsulation dot1Q 111

  ip vrf forwarding Inet

  ip address 111.222.0.1 255.255.255.240

  no ip route-cache

Аналогично описываются остальные интерфейсы. Идентификатор VLAN задается в параметре encapsulation dot1Q, в данном случае он равен 111.

На Catalyst соответствующий порт нужно перевести в trunk-режим и при желании можно указать список разрешенных номеров VLAN:

interface FastEthernet0/24

  switchport trunk allowed vlan 100,111,999

  switchport mode trunk

  no ip address

С точки зрения остальных служб операционной системы, например ipfw или natd, полученный интерфейс ничем не отличается от физических и может использоваться как обычно. Например, можно подсчитать трафик, проходящий через vlan0:

# ipfw add 1234 count ip from any to any via vlan0

Остался последний штрих – настройка конфигурации для автоматического создания нужного интерфейса при перезагрузке. Для этого в файл /etc/rc.conf добавим следующие строчки:

# Создаем нужные интерфейсы, используя механизм клонирования:

cloned_interfaces="vlan0 vlan1 vlan2"

# И описываем соответствующие интерфейсы VLAN:

ifconfig_vlan0="inet 111.222.0.5 netmask 255.255.255.240 vlan 111 vlandev rl0"

ifconfig_vlan1="inet 10.254.0.5 netmask 255.255.255.0 vlan 100 vlandev rl0"

ifconfig_vlan2="inet 10.0.0.3 netmask 255.255.255.0 vlan 999 vlandev rl0"

Если «пропадание» сервера на пару минут не критично, то рекомендуется его перезагрузить, чтобы лишний раз убедиться в правильности всех настроек. Бежать среди ночи к неудачно загрузившемуся из-за пропущенного пробела серверу – не самое приятное занятие.

Нужно заметить, что технология VLAN позволяет шифровать трафик (например, ряд сетевых карт поддерживают аппаратное шифрование), однако во FreeBSD это не реализовано и поддерживается только разделение пакетов на основе идентификаторов VLAN. Хотя можно ожидать, что поддержка карт с аппаратным шифрованием появится в будущем. Тем не менее имеющихся в данный момент возможностей вполне достаточно, чтобы без особых усилий повысить эффективность использования имеющегося оборудования.


Комментарии
 
  15.10.2008 - 10:25 |  Konstantine

Спасибо ... Огромное :)

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

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru