Сети для самых маленьких. часть четвертая. stp

STP

простых циклов

  • идентификатор отправителя (Bridge ID)
  • идентификатор корневого свича (Root Bridge ID)
  • идентификатор порта, из которого отправлен данный пакет (Port ID)
  • стоимость маршрута до корневого свича (Root Path Cost)

01-80-c2-00-00-00

Роли портов

корневым портом (Root port)

  1. Корневой свич посылает BPDU с полем Root Path Cost, равным нулю
  2. Ближайший свич смотрит на скорость своего порта, куда BPDU пришел, и добавляет стоимость согласно таблице
    Скорость порта Стоимость STP (802.1d)
    10 Mbps 100
    100 Mbps 19
    1 Gbps 4
    10 Gbps 2
  3. Далее этот второй свич посылает этот BPDU нижестоящим коммутаторам, но уже с новым значением Root Path Cost, и далее по цепочке вниз

Designated

Состояния портов

  • блокировка (blocking): блокированный порт не шлет ничего. Это состояние предназначено, как говорилось выше, для предотвращения петель в сети. Блокированный порт, тем не менее, слушает BPDU (чтобы быть в курсе событий, это позволяет ему, когда надо, разблокироваться и начать работать)
  • прослушивание (listening): порт слушает и начинает сам отправлять BPDU, кадры с данными не отправляет.
  • обучение (learning): порт слушает и отправляет BPDU, а также вносит изменения в CAM- таблицу, но данные не перенаправляет.
  • перенаправление\пересылка (forwarding): этот может все: и посылает\принимает BPDU, и с данными оперирует, и участвует в поддержании таблицы mac-адресов. То есть это обычное состояние рабочего порта.
  • отключен (disabled): состояние administratively down, отключен командой shutdown. Понятное дело, ничего делать не может вообще, пока вручную не включат.

автонастройки.

Виды STP

коммутацииCSTPVSTPVST+

RSTP

RSTP

STP (802.1d) RSTP (802.1w)
В уже сложившейся топологии только корневой свич шлет BPDU, остальные ретранслируют Все свичи шлют BPDU в соответствии с hello-таймером (2 секунды по умолчанию)
Состояния портов
— блокировка (blocking)
— прослушивание (listening)
— обучение (learning)
— перенаправление\пересылка (forwarding)
— отключен (disabled)
— отбрасывание (discarding), заменяет disabled, blocking и listening
— learning
— forwarding
Роли портов
— корневой (root), участвует в пересылке данных, ведет к корневому свичу
— назначенный (designated), тоже работает, ведет от корневого свича
— неназначенный (non-designated), не участвует в пересылке данных
— корневой (root), участвует в пересылке данных
— назначенный (designated), тоже работает
— дополнительный (alternate), не участвует в пересылке данных
— резервный (backup), тоже не участвует
Механизмы работы
Использует таймеры:
Hello (2 секунды)
Max Age (20 секунд)
Forward delay timer (15 секунд)
Использует процесс proposal and agreement (предложение и соглашение)
Свич, обнаруживший изменение топологии, извещает корневой свич, который, в свою очередь, требует от всех остальных очистить их записи о текущей топологии в течение forward delay timer Обнаружение изменений в топологии влечет немедленную очистку записей
Если не-корневой свич не получает hello- пакеты от корневого в течение Max Age, он начинает новые выборы Начинает действовать, если не получает BPDU в течение 3 hello-интервалов
Последовательное прохождение порта через состояния Blocking (20 сек) — Listening (15 сек) — Learning (15 сек) — Forwarding Быстрый переход к Forwarding для p2p и Edge-портов

Configuring the “Shutdown” ports

Finally, we need to configure the two remaining interfaces. FastEthernet 0/3 and FastEthernet 0/4. As a requirement, both must shutdown in case of violation. This is the default behavior for Port Security. Therefore, we just enter the previous template and change the violation action to shutdown with .

Be aware, as a requirement, we only need sticky MAC addresses on FastEthernet 0/3, not on FastEthernet 0/4. At this point, we finished our configuration, but we need to do something more on sticky MAC addresses, otherwise, they won’t work.

Populating sticky MAC addresses

We should spend some time talking about sticky MAC addresses. Unlike hardcoded MAC addresses, here you don’t specify which MAC address to expect. Therefore, the switch must dynamically learn a MAC address. However, this is true for the first time only. After that, the switch must remember this MAC address (or these, in case they are a few), and accept traffic only from them.

As soon as the switch receives a packet, it will inspect it and learn the MAC address. In this process, the switch stores the MAC in the running configuration. This MAC address starts to be part of the configuration immediately but is not retained upon reboot. Therefore, you must log in to your switch and save the configuration.

Now, issue to check out the Port Security configuration. As you can see, there is no MAC address just yet.

This is all the configuration we created.

To make the switch learn MAC addresses, we need to generate some traffic. Open PC0 desktop, then start the command prompt. From there, ping PC1 with ping . This way, the switch will learn PC0’s MAC address and PC1’s MAC address (from the response). After this ping, ping PC2 with ping . Then, check the configuration of the switch again.

Cisco IOS automatically added the highlighted command.

Now, if we want, we can use to save the configuration. At this point, the switch will retain these MAC addresses even after a reboot. For the configuration part, this is everything we need to know. Instead, we need to continue this lab with troubleshooting.

[править] MLS (Multilayer Switching)

SVI-интерфейсы

Для того чтобы коммутатор мог маршрутизировать трафик между VLAN, нужно:

  • включить ip routing
  • должны быть созданы соответствующие VLAN
  • должны быть созданы соответствующие VLAN interface (switched virtual interfaces)

SVI-интерфейс’:

  • представляет VLAN и принадлежащие ему порты, как один интерфейс для функций маршрутизации и коммутации в системе;
  • создается при создании interface vlan;
  • поддерживает протоколы маршрутизации.

SVI-интерфейс находится в состоянии up, если выполняются такие 3 условия:

  • VLAN, который соответствует SVI, существует и активный в VLAN database коммутатора
  • SVI не выключен административно
  • Хотя бы один интерфейс 2 уровня принадлежит соответствующему VLAN, находится в состоянии up и STP forward.

Создание SVI и состояние интерфейса:

  • Если создан VLAN interface, но не создан соответствующий VLAN и не включен ip routing, то порт в состоянии «down down».
  • После создания соответствующего VLAN, порт в состоянии «up down».

SVI autostate

По умолчанию SVI-интерфейс переходит в состояние «down», если все интерфейсы этого VLAN’а переходят в состояние «down».

Порт можно исключить из проверки доступности SVI-интерфейса.
Для этого используется команда switchport autostate exclude.
После включения команда применяется ко всем VLAN, которые включены на интерфейсе.

Эта возможность может пригодиться для случаев, когда к порту коммутатора подключен анализатор трафика или IDS.

Исключение порта:

sw(conf-if)# switchport autostate exclude

Интерфейсы 3го уровня

switch(-if)# no switchport

Повторное включение портов, отключенных из-за ошибки

После устранения причины проблемы порты остаются отключенными, если на коммутаторе не настроено восстановление из состояния «errdisabled». В этом случае необходимо включить порты вручную. Выполните команду shutdown, а затем — команду интерфейсного режима no shutdownна соответствующем интерфейсе, чтобы вручную включить порты.

Команда errdisable recovery позволяет выбрать тип ошибок, после которых порты снова автоматически включаются через указанный промежуток времени. Команда show errdisablerecovery показывает состояние по умолчанию после восстановления из состояния отключения из-за ошибки для всех возможных условий.

cat6knative#show errdisable recovery

ErrDisable Reason Timer Status
udld Disabled
bpduguard Disabled
security-violatio Disabled
channel-misconfig Disabled
pagp-flap Disabled
dtp-flap Disabled
link-flap Disabled
2ptguardl Disabled
psecure-violation Disabled
gbic-invalid Disabled
mac-limit Disabled
unicast-flood Disabled
arp-inspection Disabled

Timer interval: 300 seconds

Interfaces that will be enabled at the next timeout:

Примечание: Стандартный интервал тайм-аута равен 300 секундам, и по умолчанию он отключен.

Чтобы включить errdisable recovery и выбрать состояния отключения из-за ошибки, выполните следующую команду:

cat6knative#errdisable recovery cause?

all Enable timer to recover from all causes
arp-inspection Enable timer to recover from arp inspection error disable
state
bpduguard Enable timer to recover from BPDU Guard error disable
state
channel-misconfig Enable timer to recover from channel misconfig disable
state
dhcp-rate-limit Enable timer to recover from dhcp-rate-limit error disable
state
dtp-flap Enable timer to recover from dtp-flap error disable
state
gbic-invalid Enable timer to recover from invalid GBIC error disable
state
l2ptguard Enable timer to recover from l2protocol-tunnel errordisable
state
link-flap Enable timer to recover from link-flap error disable
state
mac-limit Enable timer to recover from mac limit disable
state
pagp-flap Enable timer to recover from pagp-flap error disable
state
psecure-violation Enable timer to recover from psecure violation disable
state
udld Enable timer to recover from udld error disable
state
unicast-flood Enable timer to recover from unicast flood disable
state

В этом примере показано, как разрешить условие восстановления из состояния «errdisabled» при включенной защите BPDU:

cat6knative(Config)#errdisable recovery cause bpduguard

Полезное свойство этой команды состоит в том, что при включении восстановления из состояния «errdisabled», команда выдает список общих причин перевода портов в состояние отключения из-за ошибки

В следующем примере обратите внимание на то, что функция защиты BPDU была причиной отключения порта 2/4:

cat6knative#show errdisable recovery

ErrDisable Reason Timer Status
udld Disabled
bpduguard Enabled
security-violatio Disabled
channel-misconfig Disabled
pagp-flap Disabled
dtp-flap Disabled
link-flap Disabled
2ptguardl Disabled
psecure-violation Disabled
gbic-invalid Disabled
mac-limit Disabled
unicast-flood Disabled
arp-inspection Disabled

Timer interval: 300 seconds

Interfaces that will be enabled at the next timeout:

Interface

Errdisable reason

Time left(sec)

Fa2/4

bpduguard

290

Если разрешено любое из условий восстановления из состояния «errdisabled», порты с таким условием снова включаются через 300 секунд. Это значение по умолчанию (300 секунд) можно изменить, выполнив следующую команду:

cat6knative(Config)#errdisable recovery interval timer_interval_in_seconds

В следующем примере длительность интервала восстановления из состояния «errdisabled» изменяется с 300 на 400 секунд:

cat6knative(Config)#errdisable recovery interval 400

Configuration Steps:

By default, the switchport security feature is disabled on all switchports and must be enabled.

1) Your switch interface must be L2 as «port security» is configure on an access interface.You can make your L3 switch port to an access interface by using the «switchport» command.

2) Then you need to enable port security by using the «switchport port-security» command. This can also be applied in a range of the interfaces on a switch or individual interfaces.

3) This step is optional, but you can specify how many MAC addresses the switch can have on one interface at a time. If this setting is not applied the default of one MAC address is used. The command to configure this is as follows, «switchport port-security maximum N» (where N can be from 1 to 6272) Keep in mind the range the number of maximum MAC address depends on the hardware and Cisco IOS you use.

4) This step is also optional, but you can define the action to take when a violation occurs on that interface or interfaces. The default is to shut down the interface or interfaces. The command to configure this is as follows «switch port-security violation { protect | restrict | shutdown }»

Protect which discards the traffic but keeps the port up and does not send a SNMP message.

Restrict which discards the traffic and sends a SNMP message but keeps the port up

Shutdown which discards the traffic sends a SNMP message and disables the port. (This is the default behavior is no setting is specified.)

5) You can specify the MAC address that is allowed to access the network resources manually by using the command «switchport port-security mac-address value». Use this command multiple times if you want to add more than one MAC address.

6) If you don’t want to configure manually every single MAC address of your organization then you can have the switch learn the MAC address dynamically using the «switchport port-security mac-address sticky» command. This command allow switch to learn the first MAC address that comes into on the interface.

Пример настройки SVI

Имеется многослойный коммутатор с возможностями маршрутизации (представленный на рисунке). Настроим SVI (Switch Virtual Interface) для каждой VLAN и зададим IP-адрес. Этот IP-адрес может использоваться для компьютеров в качестве основного шлюза.

SW1(config)#ip routing
SW1(config)#interface vlan 10
SW1(config-if)#no shutdown
SW1(config-if)#ip address 192.168.10.254 255.255.255.0
SW1(config)#interface vlan 20
SW1(config-if)#no shutdown
SW1(config-if)#ip address 192.168.20.254 255.255.255.0

Статус «UP»

Сперва включите маршрутизацию с помощью команды , иначе коммутатор не построит таблицу маршрутизации. Теперь создадим SVI для VLAN 10 и 20 и настроим IP-адреса на них. После создания SVI и выполнения команды , как правило SVI будет находится в состоянии «up» так как это виртуальный интерфейс, однако есть ряд требований при отсутствии которых будет отображаться состояние «down»:

  • VLAN должна существовать в базе данных VLAN и она должна быть активной;
  • Хотя бы один порт доступа должен активно использовать эту VLAN и должен находиться в режиме связующего дерева (spanning-tree forwarding mode).

Итак, два компьютера в сети VLAN 10 и SVI:

SW1#show ip interface brief vlan 10
Interface              IP-Address      OK? Method Status                Protocol
Vlan10                 192.168.10.254  YES manual up         up

Статус «UP» при отключении одного из интерфейсов

Если отключить один интерфейс, SVI все равно будет отображаться «up/up», потому что интерфейс fa0/2 все ещё активен.

Статус SVI при отключении обоих интерфейсов

Как только закроются оба интерфейса, VLAN 10 станет неактивным. В результате SVI перейдет в состояние «up/down».

SW1#show ip interface brief vlan 10
Interface              IP-Address      OK? Method Status                Protocol
Vlan10                 192.168.10.254  YES manual up         down

Теперь можно исключить интерфейс из состояния SVI. Для этого надо убедиться, что все, что происходит с интерфейсом fa0/2, не влияет на состояние SVI:

SW1(config)#interface fa0/2
SW1(config-if)#switchport autostate exclude

Можно использовать команду . Это означает, что он больше не будет влиять на состояние интерфейса SVI. Fa0/1 — единственный интерфейс, который теперь может влиять на состояние SVI, как только он перейдет в состояние «down», вы увидите, что состояние SVI также изменится на «down», несмотря на то, что fa0/2 все еще запущен и работает.

Configuring Port Security

The Configuration Commands

When configuring Port Security, there are a few things to keep in mind. First of all, you can configure it only on access ports hardcoded with command. Then, you can use several commands to tune Port Security. While you are doing so, Port Security is still off. Once you finish, you will have to turn it on with a specific command. As a best practice, always do the tuning first, then turn it on. You can find in the following table all the commands, all given in the interface configuration prompt .

Command Description
Set to “N” the number of MAC address to accept on this port. Default is 1.
Hardcode one MAC address to the port. You can specify one or more MAC addresses, if so the switch will accept traffic only from them. Without this command,all MAC addresses are accepted unless they exceed the maximum.
Write in the configuration the MAC addresses seen on the port, then allow only them. Not compatible with hardcoded MAC address.
Specify what to do when a violation happens. Instead of action, we must write what the device should perform. We have three options. silently drops traffic from any exceeding MAC. drops traffic from any exceeding MAC and generates an alert. (the default), blocks the port if a violation happens (and generates an alert).
Turns on Port Security.

Port Security Configuration Commands

Configuring the “Protect” port

The first interface we are going to configure is FastEthernet 0/1. This is the port facing toward PC0, and we must configure it to allow a single MAC address. Furthermore, by requirements, don’t want to generate alerts in case of violation. However, we want the switch to learn and hardcode PC0’s MAC address. This is the step list we must follow.

  1. Force the port in access mode with .
  2. Set the maximum MAC addresses allowed to 1 with . This way, the port will consider “violation” if it sees more than two MAC addresses.
  3. Configure the violation action to silent drop with . As a result, the switch will drop all traffic sourced from any MAC address different from the first. However, while doing so, the switch does not raise alerts.
  4. Turn on sticky MAC address with . This means that the switch will put in the configuration the first MAC address it receives. After that, it will accept traffic from this MAC address only (in this case just one, as from the maximum). Then, the administrator can check it and save the configuration.
  5. Turn on Port Security with .

Below, a quick recap of what we typed.

This is a pretty good template. According to our requirements, we can apply this exact template to all other ports, changing only the violation action. In fact, this is what we are going to do in the next steps.

Configuring the “Restrict” port

Interface FastEthernet 0/2 faces PC1, and we need to configure it to generate alerts by requirements. However, two different violation actions generate alerts on the violation. We are talking about restrict and shutdown mode. The key difference is that shutdown generates an alert, then shut down the port. For this port, we only want alerts, so we are going to use restrict.

To configure the violation action to be restrict, use command. We are going to see how the alerts look like in a minute, once we finished the configuration. To that, add all the commands from the template in the previous section (maximum, sticky MAC and so on). Once you finished, it is time to move to the shutdown method.

Конфигурация cisco порта

  • description etazh 2 komnata 1 — комментарий к интерфейсу, до 240 символов.
  • switchport mode access — порт принадлежит к одному влану и передает не тегированный трафик. Детальней: xgu.ru/wiki/VLAN_в_Cisco
  • switchport access vlan 30 — порт принадлежит к единственному, 30-му vlan’у и передает не тегированый трафик
  • switchport mode trunk — порт передает тегированный трафик и принадлежит к одному, нескольким или всем (по умолчанию) вланам
  • switchport trunk allowed vlan 1-2,10,15 — разрешенные вланы для транкового порта
  • switchport trunk native vlan 5 — можно указать к какому влану на транковом порте относится не тегированный трафик, на примере это 5-й влан, по умолчанию 1-й влан.
  • switchport port-security — включение порта в режим защиты от сетевых атак, с помощью ограничений трафика с привязкой к mac-адресам. По умолчанию не более одного mac-адреса на порту, в случае нарушения — выключение порта в статус «errdisable state» и запись в лог. Для того чтоб вывести порт из статуса  «errdisable state» его нужно выключить и включить командами «shutdown» и «no shutdown». Детальней: xgu.ru/wiki/Port_security
  • errdisable recovery cause security-violation — порт должен сам выходить из состояния «errdisable state» через 5 минут (по умолчанию)
  • errdisable recovery interval 600 — указываем что порт должен сам выходить из состояния  «errdisable state» через 10 минут (вместо 5-ти по умолчанию)
  • switchport port-security maximum 3 — на порту разрешено не более 3 мак-адресов.
  • switchport port-security mac-address 0000.1111.2222 — разрешили на порт работу хоста с мак-адресом 0000.1111.2222
  • switchport port-security aging time 2 — коммутатор удаляет MAC адреса из CAM таблицы через 2 минуты их не активности (по умолчанию 5 минут). Если используем эту команду необходимо указать причину удаления мак-адреса из таблицы.
  • switchport port-security aging type inactivity — причина удаления MAC адресов из CAM таблицы: из-за не активности
  • spanning-tree portfast — при подключении устройства к такому порту, он, минуя промежуточные стадии, сразу переходит к forwarding-состоянию. Portfast следует включать только на интерфейсах, ведущих к конечным устройствам (рабочим станциям, серверам, телефонам и т.д.), но не к другим свичам.
  • switchport host — эта команда разом включает PortFast, переводит порт в режим access (аналогично switchport mode access), и отключает протокол PAgP
  • spanning-tree bpduguard enable — переход порта в состояние error-disabled при получении BPDU пакета, так как на порте с включенным «spanning-tree portfast» не должно появляться BPDU пакетов.

Практика

Скачать актуальную версию документа.самонастроился

  • собственно, порт
  • его роль (Root- корневой порт, Desg- назначенный порт, Altn- дополнительный, Back- резервный)
  • его статус (FWD- работает, BLK- заблокирован, LIS- прослушивание, LRN- обучение)
  • стоимость маршрута до корневого свича
  • Port ID в формате: приоритет порта.номер порта
  • тип соединения
VLAN0003
 Spanning tree enabled protocol ieee
 Root ID    Priority    32771
            Address     0007.ECC4.09E2
            This bridge is the root
            Hello Time  2 sec  Max Age 20 sec  Forward Delay 15 sec

каких-то

EtherChannel

Новый план коммутацииФайл PT с лабораторнойКонфигурация устройствSTPSTPБезопасность канального уровня Агрегация каналовЖЖeucariot

[править] Instrumentation monitor

Instrumentation monitor — функция коммутатора, которая позволяет:

  • обнаруживать некоторые аномалии в работе коммутатора. Аномалии могут быть следствием или признаком атаки на сеть;
  • при обнаружении аномалий отправлять сообщение администратору (log, SNMP).

Доступные параметры для обнаружения аномалий:

  • mac-address-count — количество MAC-адресов в таблице коммутации. Для защиты от атак использующих заполнение таблицы коммутации (после заполнения таблицы коммутатор работает как хаб).
  • ip-address-count — количество выученых IP-адресов получателей в IP forwarding table.
  • system-resource-usage — процент использования системных ресурсов.
  • system-delay — время ответа (в секундах) CPU на обработку новых событий в сети, таких как BPDU пакет или пакеты другого протокола.
  • mac-moves — среднее количество MAC-адресов передвигающихся с одного порта на другой за минуту.
  • learn-discards — количество отклоненных событий запоминания MAC-адреса за минуту (отклоняются для того чтобы освободить ресурсы).
  • ip-port-scans — количество пакетов в минуту, которые были отправлены на закрытые TCP/UDP порты коммутатора.
  • arp-requests — количество ARP-запросов обработанных за минуту.
  • login-failures — количество неудачных попыток залогиниться на коммутатор или неудачных попыток SNMP-аутентификации в минуту.
  • port-auth-failures — количество неудачных попыток клиента пройти аутентификацию в минуту.

Предопределенные значения для 3 уровней (low, medium, high):

Название параметра Low Medium High
mac-address-count 100 1000 10000
ip-address-count 100 1000 10000
system-resource-usage (%) 10 50 90
system-delay (сек) 1 3 5
mac-moves (/мин) 10 100 1000
learn-discards (/мин) 10 100 1000
ip-port-scans (/мин) 1 10 100
arp-requests (/мин) 100 1000 10000
login-failures (/мин) 1 10 100
port-auth-failures (/мин) 1 10 100

Настройка instrumentation monitor

Включение instrumentation monitor:

switch(config)# instrumentation monitor  
                                         
                                         

Если включить instrumentation monitor командой

switch(config)# instrumentation monitor all

то по умолчанию будут такие параметры:

  • для всех параметров задан уровень medium,
  • включено логирование сообщений,
  • не отправляются SNMP trap.

Для любого параметра можно указать другое значение уровня реагирования (в соответствующих единицах измерения):

switch(config)# instrumentation monitor system-resource-usage 60
switch(config)# instrumentation monitor mac-address-count 300

Просмотр настроек instrumentation monitor:

switch(config)# show instrumentation monitor configuration

Просмотр статистики по информации собранной instrumentation monitor:

switch(config)# show instrumentation monitor

Instrumentation monitor автоматически регулирует частоту отправки повторяющихся сообщений.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *