Первичная настройка маршрутизатора Cisco. Коммутация.
Оговоримся, что сейчас мы будет говорить не о физической составляющей вопроса (СКС, структурированной локальной сети), а об ЛВС - локальной вычислительной сети (LAN, local area network), т.е. неком количестве хостов, объединенном общей IP-адресацией. Адреса берутся из определенного диапазона "серых" приватных IP-шников, принятых организацией IANA:
Кстати, вот отличная статья об IP на хабре.
Широковещательный домен — область сети, в которой происходит обмен широковещательными сообщениями, и устройства могут отправлять друг другу сообщения непосредственно, без участия маршрутизатора.
О чём это мы тут говорим? Ну, например, послал ваш компьютер широковещательный запрос в сеть в поисках DHCP-сервера. Фрейм этот (он же кадр) адресован всем устройствам и имеет MAC-адрес получателя FF:FF:FF:FF:FF:FF. Сначала он попадает на коммутатор, с которого его копии рассылаются на все порты. Потом часть попадает на другие компьютеры, часть уходят в соседние коммутаторы, кто-то доходит до маршрутизатора, а одну копию принимает-таки DHCP-сервер. И вот участок сети, внутри которого могут жить эти кадры и называется широковещательным доменом. А кончают свою жизнь они на конечных хостах (компьютеры, серверы) или на маршрутизаторах, которые их отбрасывают, если они им не предназначены:
Если же на коммутаторе заведены VLAN’ы, то они также разделяют широковещательные домены, потому что пакет между ними обязательно должен проходить через маршрутизатор, который отбросит широковещательные сообщения. Таким образом, один VLAN — это один широковещательный домен.
Ещё раз: у нас есть три способа разграничить широковещательные домены:
1) Поставить маршрутизатор и разнести хосты в разные подсети,
2) Разделить сеть VLAN’ами,
3) Порвать кабель.
Это то, что взорвет мозг начинающему. Это модель взаимодействия открытых систем. В контексте стека протоколов TCP/IP она состоит из семи уровней, о которых мы вкратце поговорим.
Физический (первый, основа, альфа и омега) - представление битов информации в виде некого сигнала. Генерация электрического/оптического/радиосигнала и передача его в соответствующей среде. WiFi, GPRS, 3G, 4G/LTE, UTP, ВОЛС и т.д. и т.п.
Канальный - второй уровень данной модели, основополагающий L2, на котором работает большая часть коммутаторов. Давайте даже скажем для простоты усвоения информации, что все. Здесь идентификатором устройства служит его MAC-адрес. Этот уникальный адрес есть у каждого узла локальной сети, будь то коммутатор или распоследняя сетевая карта. Чисто теоретически MAC-адрес должен быть уникальным и ни в коем случае не должен повторяться, иначе в рамках одного широковещательного домена это приведет к сложно отлавливаемым коллизиям. Мы же не хотим коллизий?
Наиболее известным протоколом этого уровня является Ethernet. Данные на этом уровне передаются кусками, каждый из которых называется Ethernet-фрейм (он же Ethernet-кадр, он же PDU канального уровня). Что он представляет из себя?
Payload — это полезная нагрузка — данные сетевого уровня, которые вкладываются (инкапсулируются) в кадр.
MAC Header (Заголовок) — это служебная информация канального (второго) уровня. Самые важные пока для нас элементы — это source MAC-address (адрес отправителя кадра) и Destination MAC-address (адрес получателя кадра).
Далее идут следующие уровни:
3. Сетевой (IP)
4. Транспортный (TCP, UDP, ICMP)
Следующие уровни часто объединяют в один:
5. Прикладной, который включает в себя сеансовый, представления и собственно прикладной. Но в стеке протоколов TCP/IP он неделим, к нему относятся разного рода протоколы вроде HTTP, FTP, SSH, telnet и прочие.
В рамках разговора о коммутации рассмотрим подробно именно канальный уровень, т.к. сетевой стоит трогать уже в процессе знакомства с маршрутизацией.
Рассмотрим нелегкую жизнь одного кадра (фрейма) информации. Допустим находясь в некой сети 192.168.1.0/24 вы хотите пропинговать хост из неё же.
За это отвечает протокол ICMP, поэтому происходит инкапсуляция данных прикладного уровня в транспортный с соответствующей служебной информацией. После эти данные упаковываются уже в IP-пакеты, в заголовке которых указаны логические адреса отправителя и получателя. А затем всё это безобразие инкапсулируется в Ethernet-кадры канального уровня с MAC-адресами отправителя и получателя, физическими адресами, которые понятны коммутаторам.
При формировании кадров в заголовке в качестве MAC-адреса источника (source) подставляется адрес вашего компьютера, а адресом получателя (destinantion) будет MAC-адрес компьютера — владельца IP-адреса 192.168.1.118 (о механизмах такого преобразования поговорим в следующий раз). То есть если бы вы смогли сфотографировать кадр, то вы бы увидели все эти данные в разрезе, так сказать.
В пределах одного широковещательного домена информация путешествует именно в виде кадров, т.к. именно с ними работают коммутаторы, не углябляясь в следующие уровни.
Мы их не ждали, а они пришли. С ними работают уже только управляемые коммутаторы.
Напомним, что вланы нужны для разделения сетей. Соответственно появляется некий идентификатор, которым маркируется трафик разных подсетей на коммутаторе.
Говоря о VLAN’ах, часто используют заклинание 802.1q. Это и есть стандарт, описывающий как именно кадр маркируется/тегируется. Пугаться такого шифра не стоит. Так же, например, Wi-Fi описывается стандартом 802.11n, а протокол аутентификации — 802.1x. Нам с этим предстоит столкнуться в будущем, поэтому отложите это в своей энергонезависимой памяти.
Что же именно происходит на кухне коммутации?
Внутрь фрейма после Source MAC-адреса добавляется ещё одно поле, очень грубо говоря, содержащее номер VLAN’а. Длина, выделенная для номера влана равна 12 битам, это означает, что максимальное число вланов 4096. Мы хотим обратить внимание молодых инженеров на такие подробности. Дело в том, что мы в своём цикле в силу объективных причин, не можем обо всём рассказать, но такие вопросы, во-первых, часто задают на собеседованиях, во-вторых, это просто надо знать.
Кадры первого default-влана обычно не тегируются — он является родным вланом (native vlan).
Каждый коммутатор принимает теперь решение на основе этой метки-тега (или его отсутствия).
В таблицу МАС-адресов добавляется ещё столбец с номером VLAN’а и при поиске пары MAC-адрес/порт теперь будет сравниваться тег кадра с номером VLAN’а в таблице.
Существует два типа портов:
1. Access port — порт доступа — к нему подключаются, как правило, конечные узлы. Трафик между этим портом и устройством нетегированный. За каждым access-портом закреплён определённый VLAN, иногда этот параметр называют PVID. Весь трафик, приходящий на этот порт от конечного устройства, получает метку этого влана, а исходящий уходит без метки.
2. Trunk port. У этого порта два основных применения — линия между двумя коммутаторами или от коммутатора к маршрутизатору. Внутри такой линии, называемой в народе, что логично, транком, передаётся трафик нескольких вланов. Разумеется, тут трафик уже идёт с тегами, чтобы принимающая сторона могла отличить кадр, который идёт в бухгалтерию, от кадра, предназначенного для ИТ-отдела. За транковым портом закрепляется целый диапазон вланов.
Кроме того, существует вышеупомянутый native vlan. Трафик этого влана не тегируется даже в транке, по умолчанию это 1-й влан и по умолчанию он разрешён. Вы можете переопределить эти параметры.
Нужен он для совместимости с устройствами, незнакомыми с инкапсуляцией 802.1q. Например, вам нужно через Wi-Fi мост передать 3 влана, и один из них является вланом управления. Если Wi-Fi-модули не понимают стандарт 802.1q, то управлять ими вы сможете, только если этот влан настроите, как native vlan с обеих сторон.
1) Итак, от вашего компьютера с IP-адресом, например, 192.168.1.131 отправляется пакет другому компьютеру в вашей же сети. Этот пакет инкапсулируется в кадр, и пока никто ничего не знает о вланах, поэтому кадр уходит, как есть, на ближайший коммутатор.
2) На коммутаторе этот порт отмечен, как член, например, 2-го VLAN’а командой:
Это означает, что любой кадр, пришедший на этот интерфейс, автоматически тегируется: на него вешается ленточка с номером VLAN’а. В данном случае с номером 2.
Далее коммутатор ищет в своей таблице MAC-адресов среди портов, принадлежащих 2-му влану, порт, к которому подключено устройство с MAC-адресом получателя.
3) Если получатель подключен к такому же access-порту, то ленточка с кадра отвязывается, и кадр отправляется в этот самый порт таким, каким он был изначально. То есть получателю также нет необходимости знать о существовании вланов.
4) Если же искомый порт, является транковым, то ленточка на нём остаётся.
Самым оптимальным я считаю приведение здесь практики из замечательной и уже упоминавшейся серии пособий сетей для самых маленьких. Поцитируем немного.
Рассмотрим такую сеть:
И попутно вернемся к планировке нашей сети - VLAN, IP-план и коммутация.
Порты доступа (access)
Настроим два порта на msk-arbat-asw3 как access для влана 101 (ПТО, исходя из нашего плана):
Как можно заметить, коммутатор высказал своё "фи" по поводу первоначально отсутствовавшего влана. Тут надо быть внимательным, ведь фраза Creating vlan 101 еще не означает, что он действительно был создан. Поэтому настроим всё сразу и сами, не полагаясь на железку.
Теперь подключим компьютеры к портам FE0/1 и FE0/2, настроим на них адреса 172.16.3.2 и 172.16.3.3 с маской подсети 255.255.255.0 (/24) и шлюзом 172.16.3.1 и проверим связь:
Успех! Теперь настроим 16-ый порд аксессом для других пользователей.
Даже настроив на хосте за этим интерфейсом IP из нужной подсети, другие устройства нам будут недоступны:
То есть ещё раз, что происходит? От вашего компьютера приходит на 1-й порт широковещательный запрос: “Кто такой 172.16.3.5”, потому что сам компьютер пока не знает MAC-адреса получателя. Кадр, который несёт в себе этот запрос помечается, как принадлежащий 101-му VLAN’у в соответствии с портом, на который он поступил. И далее, чтобы узнать где-же находится компьютер 172.16.3.5, кадр рассылается на все порты-члены 101-го VLAN’а. А в их числе нет порта FE0/16, поэтому, естественно, этот адрес считается недостижимым, что приводит к ответу “Request timed out”.
Внимание! Если в этом VLAN’е все-таки окажется устройство с таким IP, то это не будет тем же самым ноутбуком Other и при этом они не буду конфликтовать друг с другом, поскольку логически находятся в разных широковещательных доменах.
Транковые порты (trunk)
Далее следует настроить связь между тремя коммутаторами - msk-arbat-asw3, msk-arbat-dsw1 и msk-rubl-asw1, их аплинки.
Uplink портом на msk-arbat-asw3 является GE1/1. Ну а поскольку нам всё равно все вланы нужно будет пробросить, то сделаем это сейчас, то есть помимо 101 и 104 пропишем 2, 102 и 103:
На самом деле на интерфейсе достаточно команды #switchport mode trunk, чтобы у вас через этот порт уже пошли тегированные кадры всех вланов, потому что по умолчанию транковый порт пропускает всё. Но мы же инженеры, а не эникейщики. Где это видано, чтобы безлимит творился за нашей спиной? Поэтому через нас проходит только то, что мы разрешаем. Как только вы дали команду switchport trunk allowed vlan 101, через порт не пройдёт кадр никаких вланов, кроме 101 (VLAN 1 ходит по умолчанию и нетегированным).
Внимание! Если вы хотите в транковый порт добавить ещё один влан, то вам необходимо использовать следующий синтаксис команды:
В противном случае (написав switchport trunk allowed vlan 105) вы сотрёте все старые разрешения и добавите новый 105-й влан. И хорошо ещё, если при этом вы не потеряете доступ на этот коммутататор. Но за простой связи всё равно вы получите по пятое число)
Переходим к msk-arbat-dsw1. На нём необходимо создать все вланы и настроить два порта:
GE1/2 в сторону msk-arbat-asw3
FE0/1 в сторону msk-rubl-asw1:
Ну и настроим, конечно, порты на msk-rubl-asw1:
Снова нужно настроить вланы. И заметьте, при настройке транковых портов никаких сообщений нет.
Если вы всё настроили правильно (в чём не приходится сомневаться), то с первого порта msk-rubl-asw1 вы увидите компьютеры ПТО, подключённые к msk-arbat-asw3.
Для уверенности проверим ещё и 104-й влан. Через транк мы его сюда уже доставили.
Подключаем компьютер к 16-му порт и настраиваем на нём IP-адрес 172.16.6.3 с маской 255.255.255.0 и шлюзом 172.16.6.1. А IP-адрес ноутбука на арбате поменяйте на 172.16.6.2 с теми же маской и шлюзом.
Настроим IP-адрес для управления. Для этого мы создаём виртуальный интерфейс и указываем номер интересующего нас влана. А далее работаем с ним, как с самым обычным физическим интерфейсом.
msk-arbat-dsw1:
msk-arbat-asw3:
С msk-arbat-asw3 запускаем пинг до msk-arbat-dsw1:
Первые пару пакетов могут потеряться на работу протокола ARP: определение соответствия IP-адрес — MAC-адрес. При этом MAC-адрес, порт и номер влана добавляются в таблицу коммутатора.
Ещё один небольшой инструмент, который может немного увеличить удобство работы: banner. Это объявление, которое циска покажет перед авторизацией на устройство.
После motd вы указываете символ, который будет служить сигналом о том, что строка закончена. В это примере мы поставили “q”.
1) Настроить hostname. Это поможет вам в будущем на реальной сети быстро сориентироваться, где вы находитесь.
2) Создать все вланы и дать им название
3) Настроить все access-порты и задать им имя
Удобно иногда бывает настраивать интерфейсы пачками:
4) Настроить все транковые порты и задать им имя:
5) Не забывайте сохраняться:
P.S. Важное дополнение: в предыдущей части, говоря о native vlan мы вас немного дезинформировали. На оборудовании Cisco такая схема работы невозможна.
Напомним, что нами предлагалось передавать на коммутатор msk-rubl-asw1 нетегированными кадры 101-го влана и принимать их там в первый.
Дело в том, что, как мы уже упомянули выше, с точки зрения cisco с обеих сторон на коммутаторах должен быть настроен одинаковый номер влана, иначе начинаются проблемы с протоколом STP и в логах можно увидеть предупреждения о неверной настройке. Поэтому 101-й влан мы передаём на устройство обычным образом, кадры будут тегированными и соответственно, 101-й влан тоже необходимо создавать на msk-rubl-asw1.
Далее поговорим о маршрутизации.
10.0.0.0 — 10.255.255.255
172.16.0.0 — 172.31.255.255
192.168.0.0 — 192.168.255.255
Кстати, вот отличная статья об IP на хабре.
Широковещательный домен — область сети, в которой происходит обмен широковещательными сообщениями, и устройства могут отправлять друг другу сообщения непосредственно, без участия маршрутизатора.
О чём это мы тут говорим? Ну, например, послал ваш компьютер широковещательный запрос в сеть в поисках DHCP-сервера. Фрейм этот (он же кадр) адресован всем устройствам и имеет MAC-адрес получателя FF:FF:FF:FF:FF:FF. Сначала он попадает на коммутатор, с которого его копии рассылаются на все порты. Потом часть попадает на другие компьютеры, часть уходят в соседние коммутаторы, кто-то доходит до маршрутизатора, а одну копию принимает-таки DHCP-сервер. И вот участок сети, внутри которого могут жить эти кадры и называется широковещательным доменом. А кончают свою жизнь они на конечных хостах (компьютеры, серверы) или на маршрутизаторах, которые их отбрасывают, если они им не предназначены:
Если же на коммутаторе заведены VLAN’ы, то они также разделяют широковещательные домены, потому что пакет между ними обязательно должен проходить через маршрутизатор, который отбросит широковещательные сообщения. Таким образом, один VLAN — это один широковещательный домен.
Ещё раз: у нас есть три способа разграничить широковещательные домены:
1) Поставить маршрутизатор и разнести хосты в разные подсети,
2) Разделить сеть VLAN’ами,
3) Порвать кабель.
Модель OSI
Это то, что взорвет мозг начинающему. Это модель взаимодействия открытых систем. В контексте стека протоколов TCP/IP она состоит из семи уровней, о которых мы вкратце поговорим.
Физический (первый, основа, альфа и омега) - представление битов информации в виде некого сигнала. Генерация электрического/оптического/радиосигнала и передача его в соответствующей среде. WiFi, GPRS, 3G, 4G/LTE, UTP, ВОЛС и т.д. и т.п.
Канальный - второй уровень данной модели, основополагающий L2, на котором работает большая часть коммутаторов. Давайте даже скажем для простоты усвоения информации, что все. Здесь идентификатором устройства служит его MAC-адрес. Этот уникальный адрес есть у каждого узла локальной сети, будь то коммутатор или распоследняя сетевая карта. Чисто теоретически MAC-адрес должен быть уникальным и ни в коем случае не должен повторяться, иначе в рамках одного широковещательного домена это приведет к сложно отлавливаемым коллизиям. Мы же не хотим коллизий?
Наиболее известным протоколом этого уровня является Ethernet. Данные на этом уровне передаются кусками, каждый из которых называется Ethernet-фрейм (он же Ethernet-кадр, он же PDU канального уровня). Что он представляет из себя?
Payload — это полезная нагрузка — данные сетевого уровня, которые вкладываются (инкапсулируются) в кадр.
MAC Header (Заголовок) — это служебная информация канального (второго) уровня. Самые важные пока для нас элементы — это source MAC-address (адрес отправителя кадра) и Destination MAC-address (адрес получателя кадра).
Далее идут следующие уровни:
3. Сетевой (IP)
4. Транспортный (TCP, UDP, ICMP)
Следующие уровни часто объединяют в один:
5. Прикладной, который включает в себя сеансовый, представления и собственно прикладной. Но в стеке протоколов TCP/IP он неделим, к нему относятся разного рода протоколы вроде HTTP, FTP, SSH, telnet и прочие.
В рамках разговора о коммутации рассмотрим подробно именно канальный уровень, т.к. сетевой стоит трогать уже в процессе знакомства с маршрутизацией.
Рассмотрим нелегкую жизнь одного кадра (фрейма) информации. Допустим находясь в некой сети 192.168.1.0/24 вы хотите пропинговать хост из неё же.
ping 192.168.1.118
За это отвечает протокол ICMP, поэтому происходит инкапсуляция данных прикладного уровня в транспортный с соответствующей служебной информацией. После эти данные упаковываются уже в IP-пакеты, в заголовке которых указаны логические адреса отправителя и получателя. А затем всё это безобразие инкапсулируется в Ethernet-кадры канального уровня с MAC-адресами отправителя и получателя, физическими адресами, которые понятны коммутаторам.
При формировании кадров в заголовке в качестве MAC-адреса источника (source) подставляется адрес вашего компьютера, а адресом получателя (destinantion) будет MAC-адрес компьютера — владельца IP-адреса 192.168.1.118 (о механизмах такого преобразования поговорим в следующий раз). То есть если бы вы смогли сфотографировать кадр, то вы бы увидели все эти данные в разрезе, так сказать.
В пределах одного широковещательного домена информация путешествует именно в виде кадров, т.к. именно с ними работают коммутаторы, не углябляясь в следующие уровни.
VLAN
Мы их не ждали, а они пришли. С ними работают уже только управляемые коммутаторы.
Напомним, что вланы нужны для разделения сетей. Соответственно появляется некий идентификатор, которым маркируется трафик разных подсетей на коммутаторе.
Говоря о VLAN’ах, часто используют заклинание 802.1q. Это и есть стандарт, описывающий как именно кадр маркируется/тегируется. Пугаться такого шифра не стоит. Так же, например, Wi-Fi описывается стандартом 802.11n, а протокол аутентификации — 802.1x. Нам с этим предстоит столкнуться в будущем, поэтому отложите это в своей энергонезависимой памяти.
Что же именно происходит на кухне коммутации?
Внутрь фрейма после Source MAC-адреса добавляется ещё одно поле, очень грубо говоря, содержащее номер VLAN’а. Длина, выделенная для номера влана равна 12 битам, это означает, что максимальное число вланов 4096. Мы хотим обратить внимание молодых инженеров на такие подробности. Дело в том, что мы в своём цикле в силу объективных причин, не можем обо всём рассказать, но такие вопросы, во-первых, часто задают на собеседованиях, во-вторых, это просто надо знать.
Кадры первого default-влана обычно не тегируются — он является родным вланом (native vlan).
Каждый коммутатор принимает теперь решение на основе этой метки-тега (или его отсутствия).
В таблицу МАС-адресов добавляется ещё столбец с номером VLAN’а и при поиске пары MAC-адрес/порт теперь будет сравниваться тег кадра с номером VLAN’а в таблице.
Существует два типа портов:
1. Access port — порт доступа — к нему подключаются, как правило, конечные узлы. Трафик между этим портом и устройством нетегированный. За каждым access-портом закреплён определённый VLAN, иногда этот параметр называют PVID. Весь трафик, приходящий на этот порт от конечного устройства, получает метку этого влана, а исходящий уходит без метки.
2. Trunk port. У этого порта два основных применения — линия между двумя коммутаторами или от коммутатора к маршрутизатору. Внутри такой линии, называемой в народе, что логично, транком, передаётся трафик нескольких вланов. Разумеется, тут трафик уже идёт с тегами, чтобы принимающая сторона могла отличить кадр, который идёт в бухгалтерию, от кадра, предназначенного для ИТ-отдела. За транковым портом закрепляется целый диапазон вланов.
Кроме того, существует вышеупомянутый native vlan. Трафик этого влана не тегируется даже в транке, по умолчанию это 1-й влан и по умолчанию он разрешён. Вы можете переопределить эти параметры.
Нужен он для совместимости с устройствами, незнакомыми с инкапсуляцией 802.1q. Например, вам нужно через Wi-Fi мост передать 3 влана, и один из них является вланом управления. Если Wi-Fi-модули не понимают стандарт 802.1q, то управлять ими вы сможете, только если этот влан настроите, как native vlan с обеих сторон.
Что происходит в сети с вланами?
1) Итак, от вашего компьютера с IP-адресом, например, 192.168.1.131 отправляется пакет другому компьютеру в вашей же сети. Этот пакет инкапсулируется в кадр, и пока никто ничего не знает о вланах, поэтому кадр уходит, как есть, на ближайший коммутатор.
2) На коммутаторе этот порт отмечен, как член, например, 2-го VLAN’а командой:
Switch0#interface fa0/1
Switch0(config)#description “I am using simple frames”
Switch0(config-if)#switchport mode access
Switch0(config-if)#switchport access vlan 2
Это означает, что любой кадр, пришедший на этот интерфейс, автоматически тегируется: на него вешается ленточка с номером VLAN’а. В данном случае с номером 2.
Далее коммутатор ищет в своей таблице MAC-адресов среди портов, принадлежащих 2-му влану, порт, к которому подключено устройство с MAC-адресом получателя.
3) Если получатель подключен к такому же access-порту, то ленточка с кадра отвязывается, и кадр отправляется в этот самый порт таким, каким он был изначально. То есть получателю также нет необходимости знать о существовании вланов.
4) Если же искомый порт, является транковым, то ленточка на нём остаётся.
Switch(config)#interface fa0/2
Switch(config-if)#description “I am using tagged frames”
Switch(config-if)#switchport mode trunk
Цитата: FAQ
Q: Что произойдёт, если тегированный кадр прилетит на access-порт?
A: Он будет отброшен.
Q: Что произойдёт, если нетегированный кадр прилетит на trunk-порт?
A: Он будет помещён в Native VLAN. По умолчанию им является 1-й VLAN. Но вы можете поменять его командой switchport trunk native vlan 2
В этом случае все кадры, помеченные 2-м вланом будут уходить в этот порт нетегироваными, а нетегированные кадры, приходящий на этот интерфейс, помечаться 2-м вланом.
Кадры с тегами других вланов останутся неизменными, проходя, через такой порт.
Q: Можно ли конечным узлам (компьютерам, ноутбукам, планшетам, телефонам) отправлять тегированные кадры и соответственно подключать их к транковым портам?
A: Да, можно. Если сетевая карта и программное обеспечение поддерживает стандарт 802.1q, то узел может работать с тегированными кадрами.
Q: Что будет с тегированными кадрами, если они попадут на обычный неуправляемый коммутатор или другое устройство, не понимающее стандарт 802.1q?
A: Скорее всего, свич его отбросит из-за увеличенного размера кадра. Зависит от разных факторов: производитель, софт (прошивка), тип форвардинга (cut-through, store-and-forward).
A: Он будет отброшен.
Q: Что произойдёт, если нетегированный кадр прилетит на trunk-порт?
A: Он будет помещён в Native VLAN. По умолчанию им является 1-й VLAN. Но вы можете поменять его командой switchport trunk native vlan 2
В этом случае все кадры, помеченные 2-м вланом будут уходить в этот порт нетегироваными, а нетегированные кадры, приходящий на этот интерфейс, помечаться 2-м вланом.
Кадры с тегами других вланов останутся неизменными, проходя, через такой порт.
Q: Можно ли конечным узлам (компьютерам, ноутбукам, планшетам, телефонам) отправлять тегированные кадры и соответственно подключать их к транковым портам?
A: Да, можно. Если сетевая карта и программное обеспечение поддерживает стандарт 802.1q, то узел может работать с тегированными кадрами.
Q: Что будет с тегированными кадрами, если они попадут на обычный неуправляемый коммутатор или другое устройство, не понимающее стандарт 802.1q?
A: Скорее всего, свич его отбросит из-за увеличенного размера кадра. Зависит от разных факторов: производитель, софт (прошивка), тип форвардинга (cut-through, store-and-forward).
Практика. Настройка сети.
Самым оптимальным я считаю приведение здесь практики из замечательной и уже упоминавшейся серии пособий сетей для самых маленьких. Поцитируем немного.
Рассмотрим такую сеть:
И попутно вернемся к планировке нашей сети - VLAN, IP-план и коммутация.
Порты доступа (access)
Настроим два порта на msk-arbat-asw3 как access для влана 101 (ПТО, исходя из нашего плана):
msk-arbat-asw3(config)#interface FastEthernet0/1
msk-arbat-asw3(config-if)#description PTO
msk-arbat-asw3(config-if)#switchport mode access
msk-arbat-asw3(config-if)#switchport access vlan 101
% Access VLAN does not exist. Creating vlan 101
msk-arbat-asw3(config)#interface FastEthernet0/2
msk-arbat-asw3(config-if)#description PTO
msk-arbat-asw3(config-if)#switchport access vlan 101
msk-arbat-asw3(config-if)switchport mode access
Как можно заметить, коммутатор высказал своё "фи" по поводу первоначально отсутствовавшего влана. Тут надо быть внимательным, ведь фраза Creating vlan 101 еще не означает, что он действительно был создан. Поэтому настроим всё сразу и сами, не полагаясь на железку.
msk-arbat-asw3>enable
msk-arbat-asw3#configure terminal
msk-arbat-asw3(config)#vlan 2
msk-arbat-asw3(config-vlan)#name Management
msk-arbat-asw3(config-vlan)#vlan 3
msk-arbat-asw3(config-vlan)#name Servers
msk-arbat-asw3(config-vlan)#vlan 101
msk-arbat-asw3(config-vlan)#name PTO
msk-arbat-asw3(config-vlan)#vlan 102
msk-arbat-asw3(config-vlan)#name FEO
msk-arbat-asw3(config-vlan)#vlan 103
msk-arbat-asw3(config-vlan)#name Accounting
msk-arbat-asw3(config-vlan)#vlan 104
msk-arbat-asw3(config-vlan)#name Other
Теперь подключим компьютеры к портам FE0/1 и FE0/2, настроим на них адреса 172.16.3.2 и 172.16.3.3 с маской подсети 255.255.255.0 (/24) и шлюзом 172.16.3.1 и проверим связь:
Успех! Теперь настроим 16-ый порд аксессом для других пользователей.
msk-arbat-asw3(config)#interface FastEthernet0/16
msk-arbat-asw3(config-if)#description Other
msk-arbat-asw3(config-if)#switchport access vlan 104
msk-arbat-asw3(config-if)switchport mode access
Даже настроив на хосте за этим интерфейсом IP из нужной подсети, другие устройства нам будут недоступны:
То есть ещё раз, что происходит? От вашего компьютера приходит на 1-й порт широковещательный запрос: “Кто такой 172.16.3.5”, потому что сам компьютер пока не знает MAC-адреса получателя. Кадр, который несёт в себе этот запрос помечается, как принадлежащий 101-му VLAN’у в соответствии с портом, на который он поступил. И далее, чтобы узнать где-же находится компьютер 172.16.3.5, кадр рассылается на все порты-члены 101-го VLAN’а. А в их числе нет порта FE0/16, поэтому, естественно, этот адрес считается недостижимым, что приводит к ответу “Request timed out”.
Внимание! Если в этом VLAN’е все-таки окажется устройство с таким IP, то это не будет тем же самым ноутбуком Other и при этом они не буду конфликтовать друг с другом, поскольку логически находятся в разных широковещательных доменах.
Транковые порты (trunk)
Далее следует настроить связь между тремя коммутаторами - msk-arbat-asw3, msk-arbat-dsw1 и msk-rubl-asw1, их аплинки.
Uplink портом на msk-arbat-asw3 является GE1/1. Ну а поскольку нам всё равно все вланы нужно будет пробросить, то сделаем это сейчас, то есть помимо 101 и 104 пропишем 2, 102 и 103:
msk-arbat-asw3(config)#interface GigabitEthernet1/1
msk-arbat-asw3(config-if)#description msk-arbat-dsw1
msk-arbat-asw3(config-if)#switchport trunk allowed vlan 2,101-104
msk-arbat-asw3(config-if)#switchport mode trunk
На самом деле на интерфейсе достаточно команды #switchport mode trunk, чтобы у вас через этот порт уже пошли тегированные кадры всех вланов, потому что по умолчанию транковый порт пропускает всё. Но мы же инженеры, а не эникейщики. Где это видано, чтобы безлимит творился за нашей спиной? Поэтому через нас проходит только то, что мы разрешаем. Как только вы дали команду switchport trunk allowed vlan 101, через порт не пройдёт кадр никаких вланов, кроме 101 (VLAN 1 ходит по умолчанию и нетегированным).
Внимание! Если вы хотите в транковый порт добавить ещё один влан, то вам необходимо использовать следующий синтаксис команды:
msk-arbat-dsw1(config-if)#switchport trunk allowed vlan add 105
В противном случае (написав switchport trunk allowed vlan 105) вы сотрёте все старые разрешения и добавите новый 105-й влан. И хорошо ещё, если при этом вы не потеряете доступ на этот коммутататор. Но за простой связи всё равно вы получите по пятое число)
Переходим к msk-arbat-dsw1. На нём необходимо создать все вланы и настроить два порта:
GE1/2 в сторону msk-arbat-asw3
FE0/1 в сторону msk-rubl-asw1:
msk-arbat-dsw1(config)#interface GigabitEthernet1/2
msk-arbat-dsw1(config-if)#description msk-arbat-asw3
msk-arbat-dsw1(config-if)#switchport trunk allowed vlan 2,101-104
msk-arbat-dsw1(config-if)#switchport mode trunk
msk-arbat-dsw1(config)#interface FastEthernet0/1
msk-arbat-dsw1(config-if)#description msk-rubl-asw1
msk-arbat-dsw1(config-if)#switchport trunk allowed vlan 2,101,104
msk-arbat-dsw1(config-if)#switchport mode trunk
Ну и настроим, конечно, порты на msk-rubl-asw1:
msk-rubl-asw1(config)interface FastEthernet0/24
msk-rubl-asw1(config-if)switchport trunk allowed vlan 2,101,104
msk-rubl-asw1(config-if)switchport mode trunk
msk-rubl-asw1(config)#int FastEthernet0/1
msk-rubl-asw1(config-if)#description PTO
msk-rubl-asw1(config-if)#switchport mode access
msk-rubl-asw1(config-if)#switchport access vlan 101
% Access VLAN does not exist. Creating vlan 101
Снова нужно настроить вланы. И заметьте, при настройке транковых портов никаких сообщений нет.
Если вы всё настроили правильно (в чём не приходится сомневаться), то с первого порта msk-rubl-asw1 вы увидите компьютеры ПТО, подключённые к msk-arbat-asw3.
Для уверенности проверим ещё и 104-й влан. Через транк мы его сюда уже доставили.
msk-rubl-asw1(config)#interface FastEthernet 0/16
msk-rubl-asw1(config-if)#switchport mode access
msk-rubl-asw1(config-if)#switchport access vlan 104
Подключаем компьютер к 16-му порт и настраиваем на нём IP-адрес 172.16.6.3 с маской 255.255.255.0 и шлюзом 172.16.6.1. А IP-адрес ноутбука на арбате поменяйте на 172.16.6.2 с теми же маской и шлюзом.
Сеть управления
Настроим IP-адрес для управления. Для этого мы создаём виртуальный интерфейс и указываем номер интересующего нас влана. А далее работаем с ним, как с самым обычным физическим интерфейсом.
msk-arbat-dsw1:
msk-arbat-dsw1(config)#interface vlan 2
msk-arbat-dsw1(config-if)#description Management
msk-arbat-dsw1(config-if)#ip address 172.16.1.2 255.255.255.0
msk-arbat-asw3:
msk-arbat-asw3(config)#vlan 2
msk-arbat-asw3(config)#interface vlan 2
msk-arbat-asw3(config-if)#description Management
msk-arbat-asw3(config-if)#ip address 172.16.1.5 255.255.255.0
С msk-arbat-asw3 запускаем пинг до msk-arbat-dsw1:
msk-arbat-asw3#ping 172.16.1.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.1.2, timeout is 2 seconds:
..!!!
Success rate is 60 percent (3/5), round-trip min/avg/max = 4/4/4 ms
Первые пару пакетов могут потеряться на работу протокола ARP: определение соответствия IP-адрес — MAC-адрес. При этом MAC-адрес, порт и номер влана добавляются в таблицу коммутатора.
Ещё один небольшой инструмент, который может немного увеличить удобство работы: banner. Это объявление, которое циска покажет перед авторизацией на устройство.
Switch(config)#banner motd q
Enter TEXT message. End with the character 'q'.
It is just banner.
q
Switch(config)#
После motd вы указываете символ, который будет служить сигналом о том, что строка закончена. В это примере мы поставили “q”.
Кратко по всему сказанному выше.
1) Настроить hostname. Это поможет вам в будущем на реальной сети быстро сориентироваться, где вы находитесь.
Switch(config)#hostname HOSTNAME
2) Создать все вланы и дать им название
Switch(config)#vlan VLAN-NUMBER
Switch(config-vlan)#name NAME-OF-VLAN
3) Настроить все access-порты и задать им имя
Switch(config-if)#description DESCRIPTION-OF-INTERFACE
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan VLAN-NUMBER
Удобно иногда бывает настраивать интерфейсы пачками:
msk-arbat-asw3(config)#interface range fastEthernet 0/6 — 10
msk-arbat-asw3(config-if-range)#description FEO
msk-arbat-asw3(config-if-range)#switchport mode access
msk-arbat-asw3(config-if-range)#switchport access vlan 102
4) Настроить все транковые порты и задать им имя:
Switch(config-if)#description DESCRIPTION-OF-INTERFACE
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk allowed vlan VLAN-NUMBERS
5) Не забывайте сохраняться:
Switch#copy running-config startup-config
P.S. Важное дополнение: в предыдущей части, говоря о native vlan мы вас немного дезинформировали. На оборудовании Cisco такая схема работы невозможна.
Напомним, что нами предлагалось передавать на коммутатор msk-rubl-asw1 нетегированными кадры 101-го влана и принимать их там в первый.
Дело в том, что, как мы уже упомянули выше, с точки зрения cisco с обеих сторон на коммутаторах должен быть настроен одинаковый номер влана, иначе начинаются проблемы с протоколом STP и в логах можно увидеть предупреждения о неверной настройке. Поэтому 101-й влан мы передаём на устройство обычным образом, кадры будут тегированными и соответственно, 101-й влан тоже необходимо создавать на msk-rubl-asw1.
Далее поговорим о маршрутизации.