Вы здесь

Настройка Port Security на коммутаторах Cisco

В данной статье, я расскажу что такое Port Security и приведу пример настройки интерфейса коммутатора cisco с использованием этой функции.
Port Security — это функция канального уровня, которая создана для предотвращения несанкционированной смены MAC адреса сетевого подключения. Также, данная функция ограждает коммутатор от атак, которые могут быть направлены на переполнение таблицы MAC адресов.
С помощью Port Security можно ограничить (на канальном уровне) количество подключений (MAC адресов) на интерфейсе, а так же, при необходимости, ввести безопасные MAC адреса вручную (статические MAC адреса).
Пример настройки Port Security на интерфейсе коммутатора cisco:

port-security.jpg
Рисунок 1 — Типичное подключение IP телефона и компьютера к интерфейсу коммутатора.

На рисунке 1 мы видим распространенное подключение устройств в больших организациях. Как правило к порту подключаются два устройства: IP телефон и компьютер пользователя. Пример конфига интерфейса коммутатора с использованием Port Security:

interface FastEthernet0/1
switchport access vlan 10
switchport mode access
switchport voice vlan 2
switchport port-security
switchport port-security maximum 2
switchport port-security violation restrict

На выше приведенном конфиге видно, что 10 влан настроен для компьютеров, 2 влан используется для IP телефонии. Далее, по фукнциям Port Security:
- «switchport port-security» означает, что мы включили Port Security на данном интерфейсе;
- «switchport port-security maximum 2» говорит о том, что только 2 MAC адреса, могут «светиться» на интерфейсе одновременно (MAC адрес телефона и компьютера);
- «switchport port-security violation restrict» указывает режим реагирование на нарушение. Таким образом, если на данном интерфейсе одновременно «засветится» третий (неизвестный) MAC адрес, то все пакеты с этого адреса будут отбрасываться, при этом отправляется оповещение – syslog, SNMP trap, увеличивается счетчик нарушений (violetion counter).
Немного расскажу о режимах реагирования на нарушение безопасности. Существует три способа реагирование на нарушение безопасности:
- «switchport port-security violation restrict»;
- «switchport port-security violation shutdown»;
- «switchport port-security violation protect».
Команду «switchport port-security violation restrict» я описал выше.
Вторая команда — «switchport port-security violation shutdown» при выявлении нарушений переводит интерфейс в состояние error-disabled и выключает его. При этом отправляется оповещение SNMP trap, сообщение syslog и увеличивается счетчик нарушений (violation counter). Кстати, если интерфейс находится в состоянии error-disabled, то самым легким путем разблокировать его, является выключить и включить интерфейс (ввести в настройках интерфейса команду — «shutdown», а потом — «no shundown»).
Если же на интерфейсе введена команда — «switchport port-security violation protect», то при нарушениях, от неизвестного MAC адреса пакеты отбрасываются, но при этом никаких сообщений об ошибках не генерируется.
Какой именно способ выбрать дело каждого, но как мне кажется, «switchport port-security violation restrict» является оптимальной для большинства случаев.
Идем дальше. Если необходимо, то можно статически ввести MAC адреса, тогда конфиг будет иметь вид:

interface FastEthernet0/1
switchport access vlan 10
switchport mode access
switchport voice vlan 2
switchport port-security
switchport port-security maximum 2
switchport port-security violation restrict
switchport port-security mac-address 0005.5E80.22A3
switchport port-security mac-address 00E0.F75B.C101

Теперь, только от этих двух MAC адресов (0005.5E80.22A3, 00E0.F75B.C101) на данный интерфейс будут разрешены входящие пакеты.
Немного поговорим о MAC адресах. При использовании Port Security существуют такие типы MAC адресов:
- Динамические;
- Статические;
- Sticky MAC адреса.
Динамические MAC адреса хранятся в таблице коммутации, но удаляются при истечении «aging time» или при перезагрузке коммутатора.
Статические адреса хранятся в таблице MAC адресов и записываются в памяти коммутатора. Не удаляются при истечении «aging time» и при перезагрузке свитча.
Sticky MAC адреса могут быть внесены в таблицу коммутации статически (в ручную) или динамически выучены. Они хранятся в таблице коммутации и в памяти свитча. Не удаляются при истечении «aging time» или перезагрузке коммутатора.
Хочу отметить, что при использовании Port Security «aging time» по умолчанию равен 0.
Теперь, приведу не большой пример настройки Port Security с использованием Sticky MAC адресов:

Switch#conf t
Switch(config)#
Switch(config)#interface fa0/1
Switch(config-if)#
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 10
Switch(config-if)#switchport voice vlan 2
Switch(config-if)#switchport port-security
Switch(config-if)#switchport port-security maximum 2
Switch(config-if)#switchport port-security mac-address 0005.5E80.22A3
Switch(config-if)#switchport port-security mac-address sticky
Switch(config-if)#switchport port-security violation restrict

В примере приведенном выше, был сконфигурирован один MAC адрес статически («switchport port-security mac-address 0005.5E80.22A3»), а все остальные MAC адреса (в нашем случае еще один) будут выучены динамически, но записаны в память коммутатора («switchport port-security mac-address sticky»). Вот что мы увидим, если в привилегированном режиме введем команду — «show run int fa0/1»:

interface FastEthernet0/1
switchport access vlan 10
switchport mode access
switchport voice vlan 2
switchport port-security
switchport port-security maximum 2
switchport port-security mac-address sticky
switchport port-security violation restrict
switchport port-security mac-address 0005.5E80.22A3
switchport port-security mac-address sticky 00E0.F75B.C101

Таким образом, MAC адрес телефона (0005.5E80.22A3) введен статически, а адрес компьютера (00E0.F75B.C101) был выучен коммутатором самостоятельно и занесен в конфиг свитча.
В данной статье, я рассказал основы настройки Port Security, которые необходимые в большинстве ситуаций. Если, кому нибудь хочется больше углубиться в данную технологию, то лучше почитать на официальном сайте cisco, но как мне подсказывает опыт, этой информации должно хватить среднестатистическому инженеру.

Комментарии

Аватар пользователя sid_john

а как скопом на все порты (48) повесить? int range?

Да int range

что то не понял, как к одному порту на коммутаторе подключен и телефон и пк

От порта в телефон, от телефона к пк

Спасибо, хорошая статья, коротко и по делу.

Статья хорошая, спасибо.
Только не понял, как у Вас прошла команда «show run int fa0/1» ?

Прошу прощения за глупый вопрос.
Не знал, что в Packet Tracer синтаксис ограничен (

При способе подключения свич-телефон-пк, Cisco рекомендует при настройке port-security добавлять на один mac больше, поскольку телефон может требовать два MAC-адреса: для voice vlan и access vlan, т.к через него подключается ПК.
http://www.cisco.com/c/en/us/td/docs/switches/lan/catalyst3750/software/...

У меня почему-то в таблице мак-адресов показывает на порту static, хотя я не прописывал маков руками и sticky не ставил. А при переключении в другой порт, срабатывает sticky и порт падает. Так ведь не должно быть?

*срабатывает violation и порт падает

Всё зависит от того сколько MAC адресов живет на этом порту. Отключите Port Security, и посмотрите через команду show mac address-table interface ...
Далее вы можете либо прописать эти маки на порту вручную в port security, либо прописать нужное количество маков через команду switchport port-security maximum и включить sticky

Спасибо. Вопрос несколько иной.
Изначально на порту было sticky. Команда show mac address-table interface показывал static. Все хорошо работало. Стало необходимо сотруднику ходить с ноутбуком и переключаться в разные порты. Я убрал на нужных интерфейсах настройки switchport port-security mac-address sticky. Но команда show mac address-table по прежнему показывает static. Соответственно, при переключении ноутбука в другой порт, порт блокируется, так как в предыдущем порту весит static. Я считал, что после отмены "no switchport port-security mac-address sticky" и очистки адресов с порта, команда show mac address-table interface должна показывать dynamic. Когда я отменил "no Port Security", только тогда стало dynamic. Так ведь быть не должно.

Да, бывают чудеса. Возможно обновление прошивки поможет

А что если нужно зарезервировать один MAC-адрес на два порта? Как в таком случае будет отрабатывать sticky?

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

Включить ПС, ошибка в комментарии

А будет ли отрабатывать на порту trunk?
например
switchport mode trunk
switchport trunk allov vlan6,70
native vlan 70
switchport port-security
switchport port-security mac-address sticky
switchport port-security violation restrict
switchport port-security mac-address sticky 00E0.F75B.C101

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

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Допустимые HTML-теги: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и абзацы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и абзацы переносятся автоматически.
CAPTCHA
Этот вопрос задается для того, чтобы выяснить, являетесь ли Вы человеком или представляете из себя автоматическую спам-рассылку.
Target Image