Коммутатор 3com настройка vlan
В этой заметке я расскажу - как управлять физическими Ethernet (FastEthernet, Gigabit Ethernet) портами (не VLAN-интерфейсами) на коммутаторах 3Com: на менюшных (4400, 4900, 4200 и т.д.) и командных - более новых (4500 и т.п.).
Тип менюшный - выгдялит вот так:
Menu options: --------------3Com SuperStack 3 Switch 4900---------------
bridge - Administer bridge-wide parameters
gettingStarted - Basic device configuration
logout - Logout of the Command Line Interface
physicalInterface - Administer physical interfaces
protocol - Administer protocols
security - Administer security
system - Administer system-level functions
trafficManagement - Administer traffic management
Тип командный - выглядит вот так:
<4500>%Apr 3 21:48:45:330 2000 4500 SHELL/5/LOGIN:- 1 - VTY(10.0.0.2) in unit1 login
<4500>system-view
System View: return to User View with Ctrl+Z.
[4500]
В дальнейшем я буду предполагать, что с управлением этими видами Вы знакомы и будете понимать - что за команды я буду вводить. Для менюшного типа - свои, для командного - свои.
Не забываем в командном типе войти в системный режим:
- Копирование конфигурации с одного порта на другой
- Ограничение полосы пропускания broadcast-трафика и multicast-трафика
- Информация о порте
- Задание дуплекса и скорости
- Включение или выключение Flow Control
- Изменение режима линка порта (для VLANов)
- Включение и выключение порта
Копирование конфигурации с одного порта на другой
Заметка. Доступно только для командных коммутаторов.
[4500] copy configuration source ethernet 1/0/1 destination ethernet 1/0/2Здесь вместо 1/0/1 укажите порт, с которого нужно скопировать конфигурацию, а вместо 1/0/2 - порт, конфигурацию которого нужно заменить скопированной.
Ограничение полосы пропускания broadcast-трафика и multicast-трафика
Заметка. Доступно только для командных коммутаторов.
[4500] interface ethernet 1/0/1[4500-Ethernet1/0/1]broadcast-suppression 20
Здесь мы сначала зашли в конфигурацию порта 1/0/1, а потом установили значение пропускания 20%. Это значит, что 80% трафика будет гаситься и пропускаться будет только 20% пакетов.
По аналогии работаем с multicast-трафиком:
[4500-Ethernet1/0/1]multicast-suppression 20
Информация о порте
здесь вместо 1:20 введите номер коммутатора в стеке и порта.
где вместо 1/0/1 - номер коммутатора в стеке и порта.
Задание дуплекса и скорости
phy eth portCapSelect Ethernet port (unit:port,?): 1:4
Enter new advertised capabilities - comma separated OR all
(10half,10full,100half,100full,flowControl,all)
[10half,10full,100half,100full,flowControl]:
- Вместо 1:4 укажите номер коммутатора в стеке и номер порта, которым будем управлять.
- После двоеточия перечислите через запятую режимы работы порта, которые допустимы, включая скорость порта и его дуплекс.
Select Ethernet ports (unit:port. ): 1:4
Enter auto-negotiation mode (enable,disable)[enable]:
Enter fallback port mode (10half,10full,100half,100full)[100half]:
- Вместо 1:4 введите номер коммутатора в стеке и номер порта, которым будет управлять.
- На вопрос "auto-negotiation" укажите - может ли данный порт автоматически выбирать режим скорости и дуплекса в зависимости от подключенного оборудования (enable) или необходимо установить жестко заданный режим (disable).
- На вопрос "fallback port mode" введите режим, на который будет происходить "откат" при невозможности работать на максимальной конфигурации. Например, Вы можете задать поведение коммутатора, при котором при невозможности работать в полнодуплексном режиме на 100Мбит/с он будет переходить не на 100Мбит/с полу-дуплекса, а сразу на 10Мбит.
[4500-Ethernet1/0/1]duplex auto
Здесь вместо 1/0/1 укажите номер коммутатора в стеке и порт, которым будете управлять, а вместо auto можно установить жесткие режимы full или half.
Здесь вместо 1/0/1 укажите номер коммутатора в стеке и порт, которым будете управлять, а вместо 10 - укажите скорость (10, 100, 1000 или auto).
Включение или выключение Flow Control
включит FlowControl для порта 1:4.
выключить FlowControl для порта 1:4.
[4500]interface ethernet 1/0/1[4500-Ethernet1/0/1]flow-control
включит FlowControl на порте 1/0/1.
[4500]interface ethernet 1/0/1[4500-Ethernet1/0/1]undo flow-control
выключить FlowControl на порте 1/0/1.
Изменение режима линка порта (для VLANов)
С точки зрения менюшного коммутатора управление типом трафика - часть управления VLAN'ами, а с точки зрения командного коммутатора - это часть физического порта. Поэтому в менюшном и командном коммутаторах настройки расположены в разных местах.
- access : Принимает только нетаггированный трафик,
- trunk : Принимает только таггированный трафик (т.е. пакеты без информации о VLAN будут отбрасываться);
- hybrid: Принимает оба типа трафика с возможностью заведения нетаггированных пакетов в определенный VLAN, а таггированных - в свои VLAN'ы.
Командным коммутаторам, таким, как 3Com 4500, нужно точно указывать - что это за порт и какой трафик он будет на нем слушать. При этом, если порт, скажем, объявить trunk и попытаться после этого прикрутить к нему нетаггированный прием данным на определенный VLAN - получите ошибку.
Менюшный:
выполняется из управления VLAN-ами. Просто добавляйте нужные VLANы в нужном режиме (об управлении VLANами мы здесь не говорим - это отдельная статья).
В следующем примере мы превратим порт 1:4 в гибридный, заставить весь традиционный нетаггированный трафик считать трафиком во VLAN=6, но при этом так-же работать в таггированном режиме с VLAN=20 и VLAN=30.
bridge vlan mod add 6 1:4 untagbridge vlan mod add 20 1:4 tag
bridge vlan mod add 30 1:4 tag [4500]interface ethernet 1/0/1
[4500-Ethernet1/0/1]port link-type trunk
Здесь мы порту 1/0/1 задали режим работы trunk (т.е. прием и отправка только таггированных пакетов).
Включение и выключение порта
Бывает необходимо удаленно включить или выключить порт - при этом линк на порту принудительно ложится, как будто кабель не подключен, и устройство на другом конце патчкорда начинает считать, что оно никуда не воткнуто.
В этим примерах мы баловались с портом 1:4.
[4500]interface ethernet 1/0/1[4500-Ethernet1/0/1]undo shutdown
Ну вот, в кратце и только основное. По аналогии можно рулить и всеми остальными, дополнительными параметрами портов.
Сегодня пришлось столкнуться с очень старым коммутатором от давно почтившей нас компании 3Сom. Было необходимо настроить на коммутаторе 802.1x а так же авторизацию средствами NAP сервера от компании Microsoft на базе Server 2012R2.
На просторах интернета оказалось практически не возможно найти информацию о настройке коммутаторов 3Com и я решил сделать небольшую заметку себе на память (вдруг когда нибудь пригодится).
Настройка политик NAP сервера
Итак: политику настройки доступа к сети и переключения на нужный VLAN после авторизации можно посмотреть тут.
Для настройки авторизации средствами NAP необходимо создать дополнительную политику в условиях которой надо указать группу пользователей которым разрешена авторизация. Метод проверки подлинности установить Проверка открытым текстом (PAP, SPAP) . В атрибутах RADIUS указать стандартный атрибут Service-Type с значением Login . Данная политика универсальна и может применяться для авторизации на коммутаторах Сisco.
Настройка коммутатора 3Com
Настраиваем схему RADIUS сервера
radius scheme ИМЯ
server-type standard
primary authentication IP-адрес первичного сервера
primary accounting IP-адрес первичного сервера
secondary authentication IP-адрес вторичного сервера
secondary accounting IP-адрес вторичного сервера
accounting optional
key authentication ключ RADIUS-клиента
key accounting ключ RADIUS-клиента
timer realtime-accounting 15
timer response-timeout 5
retry 5
user-name-format without-domain
nas-ip IP-адрес коммутатора
calling-station-id mode mode2 uppercase
Настройка домена
domain ИМЯ
scheme radius-scheme ИМЯ RADIUS СХЕМЫ local
scheme lan-access radius-scheme ИМЯ RADIUS СХЕМЫ
scheme login local
accounting lan-access radius-scheme ИМЯ RADIUS СХЕМЫ
authentication login radius-scheme ИМЯ RADIUS СХЕМЫ local
accounting login radius-scheme ИМЯ RADIUS СХЕМЫ local
vlan-assignment-mode string
access-limit enable 60
idle-cut enable 20 2000
После напишем Quite и укажем домен по умолчанию:
domain default enable ИМЯ ДОМЕНА
Настройка dot1x
Глобально применим настройки
dot1x
dot1x authentication-method eap
После этого настроим нужные нам порты коммутатора:
dot1x port-method portbased
dot1x guest-vlan НОМЕР VLAN
dot1x
dot1x re-authenticate
Нужные VLAN сети необходимо указать коммутатору.
Настройка авторизации
ssh authentication-type default password
ssh server authentication-retries 5
user-interface vty 0 15
authentication-mode scheme
Создать пароль на суперпользователя
super password level 3 ПАРОЛЬ
Отключить срок действия пароля
undo password-control aging enable
Поиск проблем
Для включения Debug на dot1x и RADIUS
debugging radius packet
debugging dot1x all
Ощущаю то ли найденную багу, то ли дурную фичу в трикомовских коммутаторах.
Дано: 4200 и 4200G.
Хочется настроить managment vlan.
4200 позволяет назначать ip только для vlan 1 (принципиально).
На порте аплинка говорим, мол, vlan 1 tagged. Назначем ip: 192.168.1.2
Идём на 4200G (который для 4200 аплинк).
interface vlan-interface 1
ip 192.168.1.1
interface GigabitEthernet 1/0/7
link-type trunk
port trunk permit vlan 1
Пинги внутри vlan1 на 4200 ходят, с 4200G связи нет. При этом, мы можем на 4200G написать (vlan'ы те же):
interface GigabitEthernet 1/0/7
link-type hybrid
port hybrid vlan 1 tagged
Я идиот? Или лыжи кривые? Почему hybrid vlan 1 tagged работает, а trunk permit vlan 1 нет?
может ты под это дело выбъешь себе нормальные коммутаторы?нереально. Мои заморочки в виланами - это игрушки. Сеть до этого работала вообще без виланов (5 сегментов и коммутаторы в режиме неуправляемых).
Хотя, наверное, у этой разницы trunk/hybrid есть какое-то глубокое значение. Знать бы ещё где почитать.
PS В процессе поиска по текстам ругани коммутаторов наткнулся на контору h3c, которая 1-в-1 тырит с трикомов прошивки :)
кстати, можно название "стыреных цисок"? Возможно, это интересный вариант. Названия не помню, но часто встречал упоминания о китайских поддельных модулях для шассийных цисок задёшево. Завтра с работы наверное че умное чиркну, у нас они тоже юзаются только модели в основном посерьезнее, я ими как то пока вроде сильно не занимался так что на память ничего сказать не могу, а про h3c это ты верно подметил, и у тех вроде документации поболее будет. Лыжи кривые. И молись чтоб "Зухели" не попались когда ни будь. :) А что не так с зухелями? У меня на них небольшой офис с двумя виланами.200 виланами. У них кругом мало поддающиеся логике "особенности". Например SNMP трапы шлются только в Default Vlan, а никак не в указанный менеджмент, что при большом количестве свичей = отказ от SNMP и сислога, так как дефаулт ко всему прочему ещё и регулярно виснет. И такое не только у свичей, с оптическими девайсами помогант только долгое шаманство с прошивками :(.
понятно. Я как раз думал о покупке ещё одного свича. Зуксель отставить. Каталист мне всё равно не дадут (хотя я буду настаивать), значит, остаётся либо AT либо HP. я бы голосовал за hp, но то же не за бюджетные модели. хотя и они умеют немало, но все же кастрированы. Хоть кто-нибудь, хоть за какие деньги делает нормальное, соответствующее всем ГОСТам, логичное, безглючное сетевое оборудование? По моим наивным представлениям, каталисты достаточно логичны и хороши. Что такое "ГОСТЫ" для сетевого оборудования - не имею ни малейшего представления. Выбирая между ГОСТом и RFC, я предпочту RFC. IOS мне как-то мрачноват. Про ГОСТы имелось в виду стандарты вообще. А что мрачного в иосе? Если бы у них ещё сырцы открытые были, можно было бы не мечтать о большем. Я в её логику как-то не врубаюсь. То есть на интуитивном уровне не могу решить, как конфигурировать что-либо. Хороша была бы книга что-то типа ``Идеология IOS'' У цисок очень много (слишком много -_-'''') про потроха иоса. В принципе, основная идея - "приняли пакетик, подумали, переложили" :) Так вот потроха и пугают. Чем думали, в какой последовательности передавали от одного думателя к другому.Вообще если претензии:
1). запущенные по умолчанию сервисы. Лучше бы в начале работала только CLI от локальной консоли, и всё. Не было бы нужды думать про no service.
2). отсутствие чёткого разделения на модули. То есть например что-то в образе, а SDM (и наверняка другие дополнительные фичи) отдельно. Удобно было бы иметь файловую систему с разложенными компонентами по типу юникса или там пусть даже в едином образе, но чтобы добавить/удалить фичу.
3). чуть более структурированный конфиг. Возможно, разделение конфига по фичам.
4). более единообразные механизмы. Почему есть обычные ACL, расширенные ACL, разные номера для разных протоколов, отдельно CBAC, ещё zone-based. Понятно, что тяжёлое наследие, но можно было отказываться (по схеме ``объявить устаревшим и не рекомендовать, выдать скрипты для преобразования конфигов, в следующей версии отменить'')
5). неясный, размытый функционал. То есть модуль IDS частично дублирует функции основной железяки, при этом отдельное устройство IDS имеет больший функционал, и т. д. Понятно, что частично такое состояние обусловлено приобретением других фирм, но всё же опять же неплохо бы привести в систему.
если не считать L2 протоколов, то после setup большая часть сервисов выключена. А интерфейс конфигурирования тебя спрашивают на этапе setup, предполагается, что он в доверенной сети.
Фичи делятся на конкретные паки (которые стоят разных денег).
Конфиг отлично структурирован (в нём перечисляются фичи, неиспользуемые фичи пропускаются с символом комментария). В любом конфиге легко можно найти нужную фичу.
Обычные/расширенные АЦЛы удобны в разных ситуациях. В принципе, тебя же никто не принуждает к использованию их всех.
Начало
Проблема локальных сетей и нескольких подсетей в том, что появляется угроза утечки информации. Давайте посмотрим на пример трех сетей: дирекция, бухгалтерия и отдел кадров. Конечно, в крупных компаниях сети куда больше, но мы рассмотрим более ужатый пример.
- Пакет дойдет до Switch2, и он отправит его на PC2 и на центральный Switch
- Далее пакет дойдет до центрального Switch-а. Но Switch1 отправит пакеты на два других коммутатора: 3 и 4.
- Те в свою очередь отправят пакеты на все остальные PC: 3, 4, 5 и 6.
А почему же так происходит? А происходит все из-за того, что PC1 пока не знает MAC-адрес второго компа и отправляем специальный пакет по протоколу ARP, для так называемого «прозвона». Также отправляющий комп не знает адрес канального уровня – вспоминаем сетевую модель OSI.
И тут возникает две проблемы:
- Безопасность – трафик могут просто перехватить злоумышленники. В целом это можно сделать стандартными программами перехватчиками.
- Ненужный трафик – когда сеть небольшая, это не так заметно. Но представьте, что у вас сеть состоит из тысячи компьютеров. Все может привести к забитости канала и потери пакетов.
Как ни странно, но пример, который я привел был работоспособным почти в самом начале создания сетей, когда ещё интернет был слабым и юным. О проблеме знали все, и её постаралась решить компания Cisco, которая в своих лабораториях изобрела совершенно новый протокол ISL. После этого протокол Inter-Switch Link был прикручен к IEEE под кодовым названием 802.1q – именно это название вы и можете встречать в интернете или на коробке от коммутаторов.
Для начала взглянем на обычный «Ethernet-кадр», находящийся в своей привычной среде обитания:
А теперь взглянем на новый кадр 802.1q:
Что у нас в итоге получается – добавляется ещё один тег с нужной для нас информацией:
Теперь мы подошли к одному очень интересному понятию. Как вы уже поняли, данный кадр 802.1q помогает правильно отправлять пакеты данных. Но вопрос в том, зачем добавлять кадр к пакету, который уже идёт на конечное устройство пользователя? Правильно – незачем.
Именно поэтому в маршрутизаторах и коммутаторах есть два понятия:
- Trunk port (магистральный порт) – порт, который идет на другое сетевое устройство: коммутатор, маршрутизатор и т.д. Из этого порта обычно отправляются тегированные пакеты, то есть пакеты с этим самым тегом.
- Access port (порт доступа) – открытый или последний порт, из которого информация льется прямиком на компьютер пользователя. Сюда бессмысленно добавлять тег, забивая размер пакета.
Нетегированный трафик – это пакеты данных, которые идут без кадра 802.1q. Тегирование VLAN как раз и происходит по двум портам: Trunk и Access. Если вам пока ничего не понятно, то не переживайте, дальше я все покажу на примере.
Настройка VLAN на коммутаторе
Приведу пример настройки VLAN на коммутаторе от компании CISCO. По сути у них все настройки делаются примерно одинаково, поэтому вы можете использовать данную инструкцию и в своих целях. Поддержка VLAN должна быть на всех коммутаторах с канальным уровнем.
Для начала давайте посмотрим всю таблицу коммутации VLAN стандартной консольной командной:
Смотрим по столбцам:
Для примера я буду использовать модель Cisco 2960 24tt, но принцип настройки, который буду показывать далее – одинаковый для всех их аппаратов. Плюс вы поймете принцип VLAN сразу и на примере.
Далее назовём как-то нашего зверя:
Покажу настройку на примере нашей любимой картинки, которую я показывал в самом начале. Тут у нас есть:
- Коммутаторы: SenterSW, SW1, SW2, SW3.
- Компы: PC1, PC2, PC3, PC4, PC5, PC
Запомните примерно данные названия, чтобы было проще ориентироваться при вводе команд. Можете также иногда посматривать на эту картинку.
ПРИМЕЧАНИЕ! Просто запомните, что команда с надписью «interface» вводит вас в настройку данного объекта.
Так как наш порт будет направлен именно на комп, то тегирование не нужно, и мы переводим его в нужное состояние:
2-ой ВЛАН мы создали, осталось теперь привязать 1-ое устройство к нему:
Теперь тоже самое проделайте и для второго порта. В самом конце надо будет привязать второй порт к тому же самому VLAN2 – мы же хотим, чтобы они находились в одной сети.
На будущее – чтобы не прописывать каждый порт таким образом, вы можете прописать диапазон портов вот так:
Итак, два компьютера теперь у вас настроены правильно и находятся в одной VLAN. Теперь нам надо подключить наш 1-ый коммутатор к центральному. Для этого мы будем использовать 24-ый порт. И конечно же нам надо перевести его в режим с тегированием:
Как бы вроде мы все сделали, но есть одна проблема: в коммутаторе нет правила, которое бы ограничивало поступление пакетов с других ВЛАН – то есть проблема с безопасностью остается. Нам нужно теперь прописать такое правило, которое бы разрешало поступление на наш 24 порт только пакеты для VLAN2:
На всякий случай проверяем таблицу маршрутизации:
Как видите наш второй VLAN теперь имеет только два доступных порта. Единственный минус данного вывода информации в том, что вы не можете посмотреть статус тегирования портов. Для этого есть отдельная команда:
show interfaces trunk
Вот тут мы видим наш 24 порт, который нам нужен для связи с центральным коммутатором. Ещё раз повторюсь, что статус тегирования (Trunk или Access) – обязательно нужно настраивать для внешних портов. В противном случае не будет смысла вообще в настройке VLAN.
Первый коммутатор мы настроили, теперь давайте настроим третий. В первую очередь нужно создать три ВЛАН для каждой из структур: дирекция, бухгалтерия и отдел кадров. VLAN 2 уже закрепился за дирекцией. Создаем VLAN для бухгалтерии:
Теперь создаем внутреннюю сеть для отдела кадров:
Ну так как данный коммутатор будет иметь связь только с сетевыми устройствами, то мы будем использовать тегирования в статусе trunk. А использовать мы будем первые 3 порта.
Вам не кажется, что мы что-то упустили? Наш центральный коммутатор по идее будет связующим звеном – ведь так?! Но мы забыли создать VLAN 2 для первого сегмента:
ПРИМЕЧАНИЕ! Дабы не запутаться обязательно называем ВЛАН как на первом коммутаторе.
И тут мы подходим к следующей проблеме. VLAN мы создали и даже разделили на разные по портам. Вроде разделение есть, но давайте взглянем на IP адреса наших компов:
- 192.168.1.2
- 192.168.1.3
- 192.168.1.4
- 192.168.1.5
- 192.168.1.6
- 192.168.1.7
ПРИМЕЧАНИЕ! Если вы ещё путаетесь в этих понятиях, то советую прочесть статью про OSI – ссылку я оставил в самом начале статьи.
Все я это сделал в учебных целях и вообще нужно разделять сети и на канальном, и на сетевом уровне. Это можно сделать вручную на компьютерах. Но статья немного не об этом.
Теперь что будет происходить с отправлением данных? Если мы отправим пакет на PC2, то он дойдет до первого коммутатора. Далее коммутатор отправит его одновременно на PC2 и на центральный Switch. После этого центральный коммутатор отправит пакеты на другие SW (2 и 3). Там коммутаторы, у которых прописаны правила только для VLAN: 3 и 4 – просто отправят пакет в утиль. То есть данный пакет не дойдет до компов: 3, 4, 5 и 6.
Ситуация с переездом сотрудника
Давайте рассмотрим ситуацию, что в отдел бухгалтерии нужно будет посадить сотрудника из совершенно другого отдела (на время). Допустим Елена Павловна не может сидеть в отделе Дирекции летом, так как у нее сильно повышается давление, а там не кондиционера. Начальство решает переселить её на летнее время в бухгалтерию.
Итак, что мы будем делать?! В первую очередь мы подключим её компьютер к следующему третьему порту второго свича. Теперь возникла проблема в том, что на втором коммутаторе и слухом не слыхивали про 2-ой ВЛАН и его надо создать:
Теперь нужно 3-порт настроить и добавить его в VLAN2. И также не забываем прописать ему модель тегирования:
Теперь нам нужно разрешить пропускать VLAN2 пакеты именно на внешнем порту. У второго свича (как и у всех) – это 24-ый порт. Внимательно пропишите команду:
Теперь переходим к центральному коммутатору:
Общение между собой
Теперь мы подошли к вопросу использования VLAN – как видите это полезная вещь, которая строго разделяет трафик на канальном уровне и позволяет отправлять пакеты только в нужную сторону. Таким образом организовывается работа больших организаций, где есть большое количество отделов, которые не должны видеть друг друга. Но одна из проблем у нас все же остается, а именно – проблема одной сети. Все наши компьютеры находятся в первой подсети, что неправильно, и нам надо их разбить.
Но для этих целей нам также понадобится маршрутизатор, чтобы объединить сеть также и на сетевом уровне. Для этого мы подключим маршрутизатор Cisco 2811.
В настройках нам также надо будет указать шлюзы, но они будут стандартные:
- 192.168.1.1 – для дирекции
- 192.168.2.1 – для бухгалтерии
- 192.168.3.1 – для отдела кадров
Маска будет везде одинаковая: 255.255.255.0 (/24).
Для чего вообще нужен маршрутизатор – он будет позволять общаться компьютерам, которые находятся в разных VLAN. Для этого будет использоваться адрес шлюза, у каждой подсети.
Настройка маршрутизатора
Заходим в настройки и обзываем его исходя из картинки:
Теперь создаем виртуальный шлюз для второй подсети. Обратите внимание, что для порта мы прописываем команду: «0/0.3». Хотя в прошлых коммутаторах мы явно указывали порт. Все это из-за того, что за шлюз будет отвечать, как раз вот этот маршрутизатор, который не подключен напрямую к устройствам.
Осталось создать шлюз для последней подсети:
Чуть не забыл сказать – маршрутизатор мы подключим к 24 порту центрального коммутатора. Теперь нам нужно разрешить отправлять пакеты всех вланов на маршрутизатор через 24 порт, к которому мы и подключились:
Не забываем указать «транковое» тегирование, ведь пакеты будут идти на сетевое устройство, а не на компьютер:
Все VLAN можно прописать просто через запятую:
Именно так заполняется таблица маршрутизации. Такой долгий путь обычно начинается в самом начале. Впоследствии маршрутизатор помогает общаться всем компьютерам именно через канальный уровень.
Видео
Более детально про VLAN рассказывается в данном видео, оно достаточно долгое, но максимально информативное.
Читайте также: