Как настроить порты коммутатора

Настройка свитчей уровня доступа в сети провайдера

В статье я расскажу о том, как мы (небольшой региональный провайдер) настраиваем коммутаторы уровня доступа.

В начале, кратко пробежимся по тому, что такое иерархическая модель построения сети, какие функции рекомендуют вешать на каждый ее уровень и как именно устроена сеть, на примере которой я буду излагать настройку свитча. Ну и затем настроим свитч исходя из предложенных требований.

Иерархическая модель построения сети


И так, в иерархической модели построения сети коммутации выделяют три уровня — уровень доступа (access layer), уровень агрегации (distibution layer) и уровень ядра (core layer). Деление на уровни позволяет добиться большей легкости в обращении с сетью: упрощается мастшабируемость сети, легче настраивать устройства, легче вводить избыточность, проектировать сеть и тому подобное.

От каждого уровня требуется определенный набор функций, так на access уровне (в сети провайдера) от устройств требуется

  • Подключение конечных пользователей на 100 Мбит/сек
  • Подключение (желательно через SFP) к коммутатору distribution уровня на 1 Гбит/сек
  • Поддержка VLAN
  • Поддержка port security
  • Поддержка acl
  • Поддержка других функций безопасности (loopback detection, storm control, bpdu filtering и прочее)

Применительно к сети провайдера получается следующая картина:

  • Жилой дом — свитч access уровня
  • Микрорайон — свитч distribution уровня, к нему подключаем отдельные дома
  • ЦОД — свитч core уровня, к нему подключаем отдельные микрорайоны

На ditribtution уровне и, тем более, на core уровне, как правило работают продвинутые коммутаторы Cisco и/или Juniper, но на access уровень приходится ставить более дешевые железки. Как правило это D-Link (или Linksys или Planet).

Пара слов об устройстве сети

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

Во-первых, мы не используем VLAN per user. Сеть достаточно старая и начинала строиться во времена, когда Q-in-Q еще не был стандартом, так что большая часть старого оборудования двойное тегирование не поддерживает.
Во-вторых, мы использует PPPoE. И не используем DHCP. То есть клиент получает один белый адрес, через PPP протокол, домашняя сеть отсутствует как класс.
В-третьих, все коммутаторы живут в отдельном, выделенном только для них VLAN, все домашние PPPoE клиенты также живут в одном VLAN’е.

Настройка коммутатора

В качестве подопытного свитча я буду использовать D-Link DES-3200-10, поскольку

  1. В нашем городе легче всего покупать именно D-Link, поэтому этой марке отдано предпочтение перед Planet, Linksys и прочими конкурентами
  2. Этот коммутатор обладает всем нужным нам функционалом

И так, поехали. Все команды приведены для означенной выше модели D-Link, впрочем не составит никакого труда проделать все то же самое и на устройстве другого вендора.

Исходя из вышеприведенных требований к коммутатору уровня доступа, сформулируем, что именно мы хотим на нем настроить и сделаем это.

И так, на необходимо…

Создать два VLAN, один для клиентов, другой для управления коммутатором и назначить их на порты свитча. 100 мегбитные порты — клиентские, гигабитные порты — аплинки.
create vlan USER tag 2
create vlan MANAGEMENT tag 3
config vlan USER add untagged 1-8
config vlan USER add tagged 9-10
config vlan MANAGEMENT add tagged 9-10

Настроить port security, запретив более одного mac адреса на порту (таким образом мы боремся с нежелательной и потенциально опасной ситуацией, когда клиент подключает в сеть провайдера не маршрутизатор, а коммутатор, сливая бродакстовый домен своей домашней сети с бродкастовым доменом провайдера)
config port_security ports 1-8 admin_state enable max_learning_addr 1 lock_address_mode DeleteOnTimeout

Запретить STP на клиентских портах, чтобы пользователи не могли гадить в сеть провайдера BPDU пакетами
config stp version rstp
config stp ports 1-8 fbpdu disable state disable

Настроить loopback detection, чтобы 1) глючные сетевые карточки, которые отражают пакеты обратно и 2) пользователи, создавшие в своей квартире кольца на втором уровне не мешали работе сети
enable loopdetect
config loopdetect recover_timer 1800
config loopdetect interval 10
config loopdetect ports 1-8 state enable
config loopdetect ports 9-10 state disable

Создать acl, который запретит прохождение не PPPoE пакетов в USER vlan’е (блокируем DHCP, IP, ARP и все остальные ненужные протоколы, которые позволят пользователям общаться напрямую между собой, игнорируя PPPoE сервер).
create access_profile ethernet vlan 0xFFF ethernet_type profile_id 1
config access_profile profile_id 1 add access_id 1 ethernet vlan USER ethernet_type 0x8863 port 1-10 permit
config access_profile profile_id 1 add access_id 2 ethernet vlan USER ethernet_type 0x8864 port 1-10 permit
config access_profile profile_id 1 add access_id 3 ethernet vlan USER port 1-10 deny

Читайте также:  Почему у мегафона не работает lte

Создать ACL, который запретит PPPoE PADO пакеты с клиентских портов (блокируем поддельные PPPoE сервера).
create access_profile packet_content_mask offset1 l2 0 0xFFFF offset2 l3 0 0xFF profile_id 2
config access_profile profile_id 2 add access_id 1 packet_content offset1 0x8863 offset2 0x0007 port 1-8 deny

И, наконец, включить STORM Control для борьбы с бродкастовыми и мультикастовыми флудами. Может показаться, что мы уже решили эту проблему, запретив не PPPoE трафик, однако есть но. В PPPoE первый запрос (на поиск PPPoE сервера) отсылается бродкастом, и если оборудование клиента в силу глюка, вируса или иных причин, посылает такие запросы интенсивно, это вполне может вывести сеть из строя.
config traffic control 1-8 broadcast enable multicast enable action drop threshold 64 countdown 5 time_interval 5

Таким образом, мы решаем многие проблемы, присущие плоской сети — поддельные DHCP и PPPoE сервера (зачастую многие включают такие вещи ненамеренно, а по не знанию, то есть злого умысла нет, но работать другим клиентам мешают), бродкастовые штормы, глючные сетевые карточки и прочее.

Источник

Базовые сведения о работе с коммутаторами Cisco

Базовые сведения о работе с коммутаторами Cisco

Данная статья когда-то разрабатывалась, как пособие по основам работы с коммутаторами для «самых начинающих» инженеров. Постараемся в нём рассмотреть практические аспекты работы, не закапываясь особенно в теорию коммутации. В качестве подопытной зверушки у нас будут выступать коммутатор L3 серии Cisco Catalyst 3560 – достаточно универсальная железка, позиционируемая производителем как коммутатор корпоративного класса с фиксированной конфигурацией. Может применяться, как на уровне доступа, так и на уровне распределения.
При написании статьи предполагается, что читающий уже знаком с основами работы в Cisco IOS, или способен разобраться с встроенной системой помощи, благо, что она достаточно информативна и дружелюбна. Также предполагается само собой разумеющимся хотя бы базовое знание технологий TCP/IP и модели OSI.

Базовая конфигурация режимов работы портов.

Поскольку в построении сети практически невозможно обойтись без использования VLAN, то первое, на что мы обратим внимание – это два основных режима работы портов для передачи тегированного и нетегированного трафика, или, в терминологии Cisco – trunk & access соответственно.
К access порту подключаются, как правило, оконечные устройства, не умеющие работать с тегированным трафиком, а к trunk – каналы для передачи данных по различным VLAN в сети.

Конфигурация access-порта предельно проста, и выглядит примерно так:

interface FastEthernet0/4
description –simple access port—
switchport access vlan 100
switchport mode access

Настраивается, соответственно, так:

sw1.cs.ntk#conf t
Enter configuration commands, one per line. End with CNTL/Z.
sw1(config)#interface fastEthernet0/4
sw1(config-if)# description —SKY-CONTROL—

Задаем описание интерфейса. Не обязательно, но очень помогает в документации сети.
sw1(config-if)# switchport access vlan 100
Устанавливаем VLAN в который будет попадать трафик при входе в этот интерфейс. Соответственно, при выходе кадров из него, метки VLAN снимаются.

sw1(config-if)# switchport mode access
Переключаем порт в режим access.

Базовая конфигурация транковых портов тоже элементарна:

interface FastEthernet0/21
description –simple trunk port—
switchport trunk encapsulation dot1q
switchport trunk allowed vlan 952, 953
switchport mode trunk

Как мы видим – добавляется только список разрешенных к прохождению VLAN (не обязательно, но в целях безопасности лучше применить) и применяемый стандарт энкапсуляции – dot1q, пропиетарный Cisco ISL, или автосогласование.

Транковый порт сам по себе не умеет работать с нетегированным трафиком, поэтому такой трафик будет просто отброшен. Для его обработки можно настроить на портах native vlan. Любой пакет, не принадлежащий к определенному VLAN будет помечаться меткой native vlan, а трафик из данного vlan будет передаваться в транковый порт нетегированным.

Стоит заметить, что конфигурация порта при переключении его из одного режима в другой не изменяется, в отличие от режима его работы. Поэтому порт, сконфигурированный, как показано ниже, будет работать в trunk. Стоит ориентироваться только на switchport mode или, на вывод информации, как будет изложено далее.

interface FastEthernet0/21
description — port — switchport access vlan 2
switchport trunk encapsulation dot1q
switchport mode trunk

Конфигурация скорости и дуплекса.

Несмотря на повсеместное распространение автосогласования работы портов, зачастую встречаются проблемы, связанные с некорректной работой автосогласования, в результате чего порт может постоянно «прыгать» из рабочего состояние в нерабочее и генерировать ошибки. Поэтому самым надежным путем решения данной проблемы является ручной перевод портов на обои концах линка в одинаковый режим работы.
Конфигурируется элементарно, следующими командами:

sw1(config-if)#speed?
10 Force 10 Mbps operation
100 Force 100 Mbps operation
auto Enable AUTO speed configuration

sw1(config-if)#duplex?
auto Enable AUTO duplex configuration
full Force full duplex operation
half Force half-duplex operation

Читайте также:  Меня не работает видеозвонок скайп

О диагностике проблем, связанных с автосогласованием будет сказано далее.
Сами VLAN создаются так:
ors-sw-ortpc(config)#vlan 777
ors-sw-ortpc(config-vlan)#name test_vlan
ors-sw-ortpc(config-vlan)#exit

Просмотр информации о созданных VLAN – show vlan

Catalyst 3560 поддерживает до 1005 созданных VLAN. Возникает вопрос – что делать, если число созданных VLAN подходит к концу, а нужно подключить скажем, новый сегмент сети? Или же, до новой БС присоединяющий оператор выделил 1 VLAN, а нам нужно пробрасывать свой VLAN. В таком случае можно использовать dot1q tunneling, или Q-in-Q – двойное тегирование VLAN. В таком случае на входе транспорта внуть одного VLAN упаковываются остальные VLAN, и распаковываются на выходе. Сражу стоит отметить что 29хх серия Catalyst, в отличие от 35xx, 37xx такой режим работы не поддерживает.
Настраивается тоже достаточно элементарно:

sw1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
sw1(config)#interface fa0/17
sw1(config-if)#description – QinQ double encapsulation — sw1(config-if)#switchport mode dot1q-tunnel
sw1(config-if)#switchport access vlan 77

interface FastEthernet0/17
switchport access vlan 77
switchport mode dot1q-tunnel
end

Таким образом настроенный порт все приходящие пакеты будет энкапсулировать в VLAN 77, который и будет виден для всех устройств, находящихся далее. Достаточно передать данный VLAN до того узла, на котором необходимо развернуть обратно, и там распаковать, используя аналогичные настройки порта.
При этом, возможно, нужно будет увеличить MTU по данному пути на 4 байта, для обеспечения дополнительной метки vlan tag.

Адресация и маршрутизация.

Catalyst 3560 может работать как на третьем уровне сетевой модели, так и на втором. В любом случае для доступа к нему необходимо присвоить ему IP адрес в требуемом VLAN (как правило, для управления устройствами выделяется отдельный VLAN) и настроить маршрутизацию.

interface Vlan100
ip address 192.168.10.254 255.255.255.0

ip default-gateway 192.168.10.1

Тем самым мы назначили коммутатору IP-адрес 192.168.10.254/24 в 100м VLAN и установили шлюзом по умолчанию 192.168.10.1. При такой схеме коммутатор используется как L2. Включить L3 маршрутизацию можно командой ip routing. При этом становится возможным задавать множество маршрутов, и просматривать, соответственно, таблицу маршрутизации (show ip route). Естественно, перед переключение необходимо сначала указать маршруты, чтобы не потерять управление коммутатором из другой сети.

conf t
ip route 0.0.0.0 0.0.0.0 192.168.10.1

Получение и обработка информации.

Думаю, тут стоит рассмотреть практические примеры с пояснениями:

show interfaces status – выводит общую информацию по всем портам.

sw1#show interfaces status
Port Name Status Vlan Duplex Speed Type
Fa0/1 Sector-1 connected trunk a-full a-100 10/100BaseTX
Fa0/2 Sector-2 connected trunk a-full a-100 10/100BaseTX
Fa0/3 Sector-3 connected trunk a-full a-100 10/100BaseTX
Fa0/4 notconnect 1 auto auto 10/100BaseTX
Fa0/5 port connected 100 a-full a-100 10/100BaseTX
Fa0/6 connected trunk full 100 10/100BaseTX
Fa0/7 disabled 100 auto auto 10/100BaseTX

Здесь мы можем видеть:
Собственно, сам порт, его имя (задаваемое description).
Status – порта – подключен и поднят (connected)/не подключен физически (notconnect) либо административно отключен (disabled).
Vlan – режим работы порта – trunk, или соответствующий access vlan.
Дуплекс и скорость порта – авто, или же жестко заданные установки (Fa0/6 – принудительно в режиме 100 Mb, full duplex.), Обратите внимание что на нерабочих интерфейсах прописано auto.

sh interfaces – просмотр подробной информации об указанном интерфейсе.

sw1#sh interfaces fa0/21
FastEthernet0/21 is up, line protocol is up (connected)
Hardware is Fast Ethernet, address is 001f.0001.0001 (bia 001f.0001.0001)
Description: — some port — MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,
reliability 255/255, txload 1/255, rxload 2/255
Encapsulation ARPA, loopback not set
Keepalive set (10 sec)
Full-duplex, 100Mb/s, media type is 10/100BaseTX
input flow-control is off, output flow-control is unsupported
ARP type: ARPA, ARP Timeout 04:00:00
Last input 00:00:00, output 00:00:06, output hang never
Last clearing of «show interface» counters 17w4d
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
Queueing strategy: fifo
Output queue: 0/40 (size/max)
5 minute input rate 1056000 bits/sec, 203 packets/sec
5 minute output rate 551000 bits/sec, 269 packets/sec
1015031190 packets input, 556493190204 bytes, 0 no buffer
Received 8800603 broadcasts (0 multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog, 5337282 multicast, 0 pause input
0 input packets with dribble condition detected
1761812043 packets output, 340685749958 bytes, 0 underruns
0 output errors, 0 collisions, 0 interface resets
0 babbles, 0 late collision, 0 deferred
0 lost carrier, 0 no carrier, 0 PAUSE output
0 output buffer failures, 0 output buffers swapped out

Is up, line protocol is up (connected) — Первое «up» относится к состоянию физического уровня передачи данных интерфейса. Сообщение «line protocol up» показывает состояние уровня канала передачи данных для данного интерфейса и означает, что интерфейс может отправлять и принимать запросы keepalive.
Для сравнения
FastEthernet0/4 is down, line protocol is down (notconnect) – порт отключен.
FastEthernet0/7 is administratively down, line protocol is down (disabled) – отключен административно (shutdown).
Full-duplex, 100Mb/s (полнодуплексный, 100 Мбит/с) — текущая скорость и режим дуплексирования для данного интерфейса. Заметьте, что сейчас невозможно узнать – было ли включено автосогласование для порта.
Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
– очередь входа для пакетов. На коммутаторах данной серии не используется, но служит для отброса пакетов с низким приоритетом в случае перегрузки CPU. Общее число сбросов. Стоит заметить, что типичной причиной сброса пакетов может быть прием трафика в канал с меньшей пропускной способностью из более широкого канала.

Читайте также:  Не работает ssd macbook

5 minute input rate 1056000 bits/sec, 203 packets/sec
5 minute output rate 551000 bits/sec, 269 packets/sec

Скорость ввода/вывода трафика за 5 минут – в битах и пакетах. Возможно подсчитывать трафик за иные промежутки времени – для этого используется команда load-interval. Однако, это ведет к увеличению загрузки CPU.
sw1(config)#int fa0/1
sw1(config-if)#load-interval?
Load interval delay in seconds

1015031190 packets input, 556493190204 bytes, 0 no buffer
Received 8800603 broadcasts (0 multicasts)
0 runts, 0 giants, 0 throttles
0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored
0 watchdog, 5337282 multicast, 0 pause input
0 input packets with dribble condition detected
1761812043 packets output, 340685749958 bytes, 0 underruns
0 output errors, 0 collisions, 0 interface resets
0 babbles, 0 late collision, 0 deferred
0 lost carrier, 0 no carrier, 0 PAUSE output
0 output buffer failures, 0 output buffers swapped out

Далее показаны текущие счетчики ошибок, являющиеся важнейшим инструментом в диагностике возникающих проблем.
Счетчики ошибок на самом деле разбросаны по разным местам IOS, но для примера можно рассмотреть следующее:

sw1#sh interfaces fa0/1 counters errors
Port Align-Err FCS-Err Xmit-Err Rcv-Err UnderSize
Fa0/1 0 0 0 3 1.46E+08
Port Single-Col Multi-Col Late-Col Excess-Col Carri-Sen Runts Giants
Fa0/1 0 0 0 0 0 3 64

Счетчик и некоторые рекомендации:

Align-Err
Количество ошибок выравнивания.
Как правило, увеличение данного счетчика свидетельствует о проблемах согласования дуплексных режимов, либо о наличии проблемы на физическом уровне.

collisions
Число коллизий произошедших до окончания передачи пакета. Нормальное явление для полудуплексного интерфейса. Быстрый рост счетчика может быть вызван высокой загрузкой интерфейса, либо несоответствием режимов дуплекса.

CRC
Несовпадение контрольной суммы кадра.
Обычно является результатом конфликтов, но может указывать и на физическую неполадку. В некоторых случаях возможны наводки на физику ЛВС, либо помехи.

pause input
Подключенное устройство запрашивает приостановку передачи трафика при переполнении его буфера.
Excess-ColПодобно коллизиям не должно наблюдаться на полнодуплексном интерфейсе.

FCS-Err
Ошибки в контрольной последовательности кадров.
Как правило, увеличение данного счетчика свидетельствует о проблемах согласования дуплексных режимов, либо о наличии проблемы на физическом уровне.

ignored
Может быть признаком широковещательного шторма в сети.

Late-Col
Коллизии на последних этапах передачи кадра. Не должны наблюдаться на полнодуплексном порту.

lost carrier
Потеря несущей. Проблемы на физическом уровне.

Underruns
Скорость передатчика превышает возможности коммутатора.

Undersize
Полученные кадры с размером меньше минимума. Необходимо проверить устройство, посылающее такие кадры.

Для получения подробной информации по обработанным пакетам можно использовать команду
sh controllers ethernet-controller
Пример вывода:
sw1 #sh controllers ethernet-controller fa0/21

Transmit FastEthernet0/1 Receive
665578020 Bytes 662563391 Bytes
3057832162 Unicast frames 2887447872 Unicast frames
2443399319 Multicast frames 100518228 Multicast frames
132541948 Broadcast frames 90307083 Broadcast frames
0 Too old frames 533536518 Unicast bytes
0 Deferred frames 3228404572 Multicast bytes
0 MTU exceeded frames 1010212552 Broadcast bytes
0 1 collision frames 0 Alignment errors
0 2 collision frames 0 FCS errors
0 3 collision frames 0 Oversize frames
0 4 collision frames 145990113 Undersize frames
0 5 collision frames 0 Collision fragments
0 6 collision frames
0 7 collision frames 735750877 Minimum size frames
0 8 collision frames 1557036200 65 to 127 byte frames
0 9 collision frames 305275380 128 to 255 byte frames
0 10 collision frames 95908725 256 to 511 byte frames
0 11 collision frames 126755638 512 to 1023 byte frames
0 12 collision frames 257546363 1024 to 1518 byte frames
0 13 collision frames 0 Overrun frames
0 14 collision frames 0 Pause frames
0 15 collision frames
0 Excessive collisions 0 Symbol error frames
0 Late collisions 0 Invalid frames, too large
0 VLAN discard frames 64 Valid frames, too large
0 Excess defer frames 0 Invalid frames, too small
521536351 64 byte frames 145990113 Valid frames, too small
3679829207 127 byte frames
317941784 255 byte frames 0 Too old frames
197523329 511 byte frames 64 Valid oversize frames
114203781 1023 byte frames 0 System FCS error frames
802738977 1518 byte frames 0 RxPortFifoFull drop frame
0 Too large frames
0 Good (1 coll) frames
0 Good (>1 coll) frames

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

Источник

Оцените статью