ISP`s IT Аутсорсинг
Быстрый переход: Главная блога Главная сайта Форум
Если Вы чего то недопоняли или не нашли - задайте
вопрос на нашем форуме и мы попробуем Вам помочь.
Subnets.ru Регистрация IP и Автономных систем mega-net.ru

Метки статьи: ‘vlan’

Добро пожаловать в блог! Надеемся, что Вы еще вернетесь.

В продолжение статьи Настраиваем vlan на FreeBSD, но теперь немного усложним задачу.

Задача:

Есть два свича Cisco Catalyst 3560 к которым подключены два сегмента сети в разных vlan.

Необходимо, что бы пользователи подключенные к Cisco Catalyst 3560 видели IP-адреса FreeBSD сервера и Cisco Catalyst 3560 свичи находились во vlan`е управления.

Схема

Схема

Данная схема будет работать и на любых других свичах (других моделях Cisco Catalyst (тот же Catalyst 2950 или Catalyst 3550) или например свичах Dlink или Planet), главное чтобы в свиче была поддержка vlan (802.1Q).

Приступаем к настройке:

Switch 01
Создадим vlan`ы:

Switch01#configure terminal
Switch01(config)#vlan 5
Switch01(config-vlan)#name management
Switch01(config-vlan)#vlan 10
Switch01(config-vlan)#name segment_10
Switch01(config-vlan)#vlan 20
Switch01(config-vlan)#name segment_20
Switch01(config-vlan)#exit

Настроим IP-адрес свича во влане управления:

Switch01(config)#int vlan 5
Switch01(config-if)#ip address 10.0.0.2 255.255.255.248
Switch01(config-if)#exit

Поместим пользовательские порты свича в эти vlan`ы:

Switch01(config)#int gi 0/2
Switch01(config-if)#switchport mode access
Switch01(config-if)#switchport access vlan 10
Switch01(config-if)#int gi 0/3
Switch01(config-if)#switchport mode access
Switch01(config-if)#switchport access vlan 20

Настроим trunk на порту смотрящий в сторону Switch02, но разрешим только vlan 5,10 и 20:

Switch01(config-if)#int gi 0/1
Switch01(config-if)#switchport trunk encapsulation dot1q
Switch01(config-if)#switchport trunk allowed vlan 5,10,20
Switch01(config-if)#switchport mode trunk

Будьте внимательны: чтобы в последующем добавлять новые vlan в наш trunk вам необходимо использовать ту же команду, но с ключевым add:

Switch01(config-if)#switchport trunk allowed vlan add VLAN_ID

Если вы не будете использовать add, то свич выставит в разрешенные vlan`ы на trunk порту только те что будут вами перечисленны и удалит старые значения.

Например, команда:

Switch01(config-if)#switchport trunk allowed vlan add 25,30

добавит в trunk vlan`ы 25 и 30 при этом сохранив старые значения 5,10 и 20 и получится, что в данном tunk`е разрешены vlan`ы 5,10,20,25,30

Вернемся к нашей схеме и настроим Switch02.

Switch 02
Создадим vlan`ы:

Switch02#configure terminal
Switch02(config)#vlan 5
Switch02(config-vlan)#name management
Switch02(config-vlan)#vlan 10
Switch02(config-vlan)#name segment_10
Switch02(config-vlan)#vlan 20
Switch02(config-vlan)#name segment_20
Switch02(config-vlan)#exit

Настроим IP-адрес свича во влане управления:

Switch02(config)#int vlan 5
Switch02(config-if)#ip address 10.0.0.3 255.255.255.248
Switch02(config-if)#exit

Поместим пользовательские порты свича в эти vlan`ы:

Switch02(config)#int gi 0/11
Switch02(config-if)#switchport mode access
Switch02(config-if)#switchport access vlan 20
Switch02(config-if)#int gi 0/10
Switch02(config-if)#switchport mode access
Switch02(config-if)#switchport access vlan 10
Switch02(config-if)#exit

Настроим trunk на порту смотрящий в сторону Switch01 и разрешим только vlan 5,10 и 20:

Switch02(config)#int gi 0/2
Switch02(config-if)#switchport trunk encapsulation dot1q
Switch02(config-if)#switchport trunk allowed vlan 5,10,20
Switch02(config-if)#switchport mode trunk
Switch02(config-if)#exit

Также настроим trunk порт смотрящий в сторону FreeBSD:

Switch02(config)#int gi 0/24
Switch02(config-if)#switchport trunk encapsulation dot1q
Switch02(config-if)#switchport trunk allowed vlan 5,10,20
Switch02(config-if)#switchport mode trunk
Switch02(config-if)#exit

Настроим сервер FreeBSD

Создадим vlan управления:

/sbin/ifconfig vlan1 create
/sbin/ifconfig vlan1 vlan 5 vlandev em0
/sbin/ifconfig vlan1 add 10.0.0.1/29
/sbin/ifconfig vlan1 up

Создадим vlan 10:

/sbin/ifconfig vlan2 create
/sbin/ifconfig vlan2 vlan 10 vlandev em0
/sbin/ifconfig vlan2 add 192.168.10.1/24
/sbin/ifconfig vlan2 up

Создадим vlan 20:

/sbin/ifconfig vlan3 create
/sbin/ifconfig vlan3 vlan 20 vlandev em0
/sbin/ifconfig vlan3 add 192.168.20.1/24
/sbin/ifconfig vlan3 up

На этом с настройками покончено, настало время проверки. Если вы все сделали правильно, то:

  1. С FreeBSD сервера во влане управления (vlan 5) вы будете видеть и управлять (например по telnet) cisco catalyst)
  2. Пользователи во вланах 10,20 будут видеть IP интерфейсы сервера FreeBSD. Вы можете использовать этот сервер как шлюз в сеть Интернет для данных пользователей.

Посмотрим на cisco catalyst:

show vlan brief — просмотр существующих vlan`ов на свиче
show ip interface brief — просмотр существующих IP интерфейсов на свиче
show interfaces trunk — просмотр существующих trunk интерфейсов на свиче
show interfaces switchport — просмотр коммутации на интерфейсах свича

На FreeBSD интерфейсы смотрим командой ifconfig

Проверьте наличие пинга (ping) с FreeBSD сервера до пользователей и свичей.

Ссылки:

З.Ы. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !

Автор: Николаев Дмитрий (virus (at) subnets.ru)
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 6, среднее: 5,00 из 5)
Загрузка...
Отправить на почту Отправить на почту

Начинающие часто спрашивают:

Как поднять vlan на FreeBSD ?

Как сделать trunk на FreeBSD ?

Отвечаем:

Это не просто, а очень просто.

Теория:

Что такое vlan ?
Что такое trunk ?

VLAN (от англ. Virtual Local Area Network), VLAN могут являться частью большего LAN, имея определенные правила взаимодействия с другими VLAN, либо быть полностью изолированными от них. Простейший механизм изоляции различных подсетей, работающих через общие свичи и роутеры, известен как 802.1Q.

Преимущества VLAN

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

Транк VLAN — это физический канал, по которому передается несколько VLAN каналов, которые различаются тегами (метками, добавляемыми в пакеты). Транки обычно создаются между «тегированными портами» VLAN-устройств: свитч-свитч или свитч-маршрутизатор. (В документах Cisco термином «транк» также называют объединение нескольких физических каналов в один логический: Link Aggregation, Port Trunking). Маршрутизатор (свитч третьего уровня) выступает в роли магистрального ядра сети (backbone) для сетевого трафика разных VLAN.

На устройствах Cisco, протокол VTP (VLAN Trunking Protocol) предусматривает VLAN-домены для упрощения администрирования. VTP также выполняет «чистку» трафика, направляя VLAN трафик только на те коммутаторы, которые имеют целевые VLAN-порты.
Native VLAN — каждый порт имеет параметр, названный постоянный виртуальный идентификацией (Native VLAN), который определяет VLAN, назначенный получить нетеговые кадры.

Сказав проще, vlan — это логический канал внутри физического канала (кабеля), а trunk это множество логических каналов (vlan`ов) внутри одного физического канала (кабеля).

Итак более-менее с теорией разобрались, теперь подумаем зачем нам это может понадобиться.

Данная технология может пригодиться например если на сервер нужно «подать» несколько физических линков, а сетевая карта всего одна и вставить ещё одну нет возможности.

Возьмем подобную ситуацию как пример и попробуем настроить следущее:

  • У нас сервер только с одной сетевой картой, а
  • необходимо подключить два канала от двух провайдеров
  • Провайдер А выдал IP-адрес 192.168.1.15 маска 255.255.255.0
  • Провайдер Б выдал IP-адрес 172.16.10.48 маска 255.255.255.192

Для того чтобы разрулить данную ситуацию нам понадобится switch который понимает Vlan (802.1Q), уже почти все управляемые свичи идут с этой функцией. В нашем примере рассмотрим два типа свичей:

  1. cisco catalyst (например 2950 или 3560)
  2. dlink DES-3526
Два провайдера и сервер FreeBSD с одной сет.картой

Два провайдера и сервер FreeBSD с одной сет.картой

Начинаем

Воткнем физические связи в наш свич, получим три кабеля и три занятых порта

  1. порт 1 — Провайдер А
  2. порт 2 — Провайдер Б
  3. порт 3 — наш сервер

Настроим cisco catalyst:

configure terminal
vlan 100
name provider_a
vlan 101
name provider_b
int gi0/1
switchport access vlan 100
int gi0/2
switchport access vlan 101
exit
exit

Этими командами мы создали два vlan с номерами 100 и 101 для линков от двух провайдеров и назначили два порта каталиста в эти vlan.

по команде show vlan вы должны видеть созданные vlan

Теперь перейдем к конфигурированию 3-го порта каталиста куда воткнут наш сервер. Т.к. нам придется в этот порт посылать оба vlan (100,101) нам необходимо сделать trunk на этом порту:

configure terminal
int gi 0/3
switchport trunk encapsulation dot1q
switchport mode trunk
switchport trunk allowed vlan 100,101
exit
exit

Этими командами мы на третьем порту каталиста подняли trunk и разрешили в этом trunk`е два vlan 100,101

В терминах Cisco:

  • порт в аксес/аксес порт (access port) — порт принимающий не тегированные пакеты (пакеты в которых нет тега (номера) vlan которому они принадлежат)
  • порт в транке/транк порт (trunk port) — порт принимающий тегированные пакеты в которых указан тег (номер) vlan

Сделаем тоже самое, но для Dlink:

create vlan provider_a tag 100
create vlan provider_b tag 101
config vlan provider_a add untagged 1
config vlan provider_b add untagged 2
config vlan provider_a add tagged 3
config vlan provider_b add tagged 3

Так же по команде show vlan убеждаемся что все на месте.

В терминах Dlink:

  • антагет порт (untagged port) — порт в аксес режиме принимающий не тегированные пакеты
  • тагет порт (tagged port) — порт в транке принимающий тегерованные пакеты

Переходим к FreeBSD. В качестве примера используется сет. карта 82545EM Gigabit Ethernet Controller интерфейс em0

Для начала удалим все IP-адреса с интерфейса em0 (если они есть):

/sbin/ifconfig em0 delete

Создадим vlan для провайдера А:

/sbin/ifconfig vlan100 create
/sbin/ifconfig vlan100 vlan 100 vlandev em0

Вот и все, vlan создан, проверяем есть ли он в списке интерфейсов:

запускаем команду /sbin/ifconfig vlan100

vlan100: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:02:a5:4e:92:48
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
vlan: 100 parent interface: em0

Итерфейс на месте.

Создадим vlan для провайдера Б:

/sbin/ifconfig vlan101 create
/sbin/ifconfig vlan101 vlan 101 vlandev em0

Проверяем есть ли он в списке интерфейсов:

запускаем команду /sbin/ifconfig vlan101

vlan101: flags=8842<BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:02:a5:4e:92:48
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
vlan: 101 parent interface: em0

Итерфейс на месте.

После того как интерфейсы vlan`ов созданы мы обращаемся с ними как с обычными интерфейсами обычных сетевых карт.

Добавим IP-адреса на созданные vlan`ы:

/sbin/ifconfig vlan100 add 192.168.1.15/24
/sbin/ifconfig vlan101 add 172.16.10.48/26

Вот и все, если вы все сделали правильно, то при выводе команды ifconfig получите:

vlan100: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:02:a5:4e:92:48
inet 192.168.1.15 netmask 0xffffff00 broadcast 192.168.1.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
vlan: 100 parent interface: em0

vlan101: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:02:a5:4e:92:48
inet 172.16.10.48 netmask 0xffffffc0 broadcast 172.16.10.63
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
vlan: 101 parent interface: em0

Можете проверять наличие связи с двумя провайдерами 🙂

Уничтожить/удалить vlan можно командой (например удалим vlan100):

/sbin/ifconfig vlan100 destroy

Осталось последнее дело, чтобы после reboot конфигурация vlan`ов сохранялась.

Для этого добавим в файл /etc/rc.conf следующие строчки:

ifconfig_vlan100=»inet 192.168.1.15 netmask 255.255.255.0 vlan 100 vlandev em0″
ifconfig_vlan101=»inet 172.16.10.48 netmask 255.255.255.192 vlan 101 vlandev em0″

cloned_interfaces=»vlan100 vlan101″

Есть и второй способ сделать тоже самое. Создайте файл /etc/rc.local и в него вставте все команды которые вы вводили для создания vlan`ов и присваевание им IP-адресов. Файл /etc/rc.local так же отрабатывается при загрузке сервера и будут исполнены все команды в нем перечисленные.

Ссылки:

З.Ы. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !

Автор: Николаев Дмитрий (virus (at) subnets.ru)
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 7, среднее: 5,00 из 5)
Загрузка...
Отправить на почту Отправить на почту