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

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

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

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

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

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

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

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

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

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

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

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

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

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

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

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

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

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

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

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

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

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

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

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

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

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

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

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

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

Разбор полетов  

Ошибок опыт трудный

Как часто мы легко повторяем, что не надо бояться совершать ошибки, мол,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

02.12.2013г.
Просмотров: 2999
Комментарии: 0
Не думай о минутах свысока

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

Друзья сайта  

 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