Я пытаюсь выяснить, есть ли внутренний недостаток в том, как JUNOS обрабатывает sticky-mac
адреса через их порты коммутатора по сравнению с тем, как Cisco обрабатывает их. Я уточню.
Ниже вы можете увидеть этот порт Fa0/1
настроен для sticky-mac
, и как только устройство подключено к порту, оно загружает MAC-адрес в running-configuration
для этого единственного порта.
interface FastEthernet0/1
switchport mode access
switchport port-security
switchport port-security violation restrict
switchport port-security mac-address sticky
switchport port-security mac-address sticky 0010.9400.0002
!
Теперь предположим, что конечный пользователь, обладающий мобильностью портативного компьютера, решает подключить его куда-нибудь еще; предположим, они подключены к порту Fa0/2
на том же переключателе.
Очевидно, коммутаторы Cisco перебросят порт в err-disabled
состояние с порта Fa0/2
пытается подключиться с MAC-адресом, который уже зарегистрирован на коммутаторе.
CiscoSwitch>show interface status
Port Name Status Vlan Duplex Speed Type
Fa0/1 notconnect 1 auto auto 10/100BaseTX
Fa0/2 err-disabled 1 auto auto 10/100BaseTX
Fa0/3 notconnect 1 auto auto 10/100BaseTX
Fa0/4 notconnect 1 auto auto 10/100BaseTX
Fa0/5 notconnect 1 auto auto 10/100BaseTX
Fa0/6 notconnect 1 auto auto 10/100BaseTX
Насколько я понимаю, это не обязательно механизм безопасности. Это скорее базовая функция переключения; на самом деле не зная, что делать, если на одном коммутаторе зарегистрировано более двух Mac-адресов. Хотя это не контроль безопасности, по сути, он работает двояко, обеспечивая администратору надлежащий контроль портов; при полностью заполненном 6550 это может означать разницу целых этажей, VLAN или даже подсетей.
Теперь конфигурация, которая принесет вам тот же желаемый результат в JUNOS, выглядит следующим образом. Кроме того, да, я понимаю, что family ethernet-switching
команды отсутствуют. Мы также предположим, что используем тот же ноутбук в примере Cisco.
user@switch# show
interface ge-0/0/0.0 {
mac-limit 1;
persistent-learning;
}
interface ge-0/0/1.0 {
mac-limit 1;
persistent-learning;
}
После проверки mac-адрес был зарегистрирован постоянно.
user@switch> show ethernet-switching table persistent-mac
VLAN MAC address Type Interface
default 00:10:94:00:00:02 installed ge-0/0/0.0
Теперь наступает странная часть: если вы измените порт, JUNOS автоматически перенесет MAC-адрес на тот порт, на котором он видит MAC-адрес.
user@switch> show ethernet-switching table persistent-mac
VLAN MAC address Type Interface
default 00:10:94:00:00:02 installed ge-0/0/1.0
Я не уверен, было ли это целью проектирования, но, судя по тому, кто переживает тяжелый переход к Juniper, я считаю, что этот недостаток имеет большое значение, поскольку 802.1X еще не реализован в нашей среде.
Что сделали другие? Кто-нибудь еще нашел способ обойти это динамически?
Странно, насколько сложно было найти этот ответ. Функция, имитирующая Cisco switchport port-security mac-address sticky
функция на платформах Juniper ethernet-switching-options secure-access-port vlan (all | vlan-name) mac-move-limit;
.
Техническая документация Juniper по ограничению перемещения MAC:
Ограничение перемещения MAC
Ограничение перемещения MAC не позволяет узлам, MAC-адреса которых не были изучены коммутатором, доступ к сети. Первоначальные результаты обучения, когда хост отправляет запросы DHCP. Если на интерфейсе обнаружен новый MAC-адрес, пакет перехватывается коммутатором. Как правило, когда хост перемещается с одного интерфейса на другой, хост должен повторно согласовать свой IP-адрес и аренду (или пройти повторную аутентификацию, если на коммутаторе настроен 802.1X). DHCP-запрос, отправленный хостом, может быть запросом для нового IP-адреса или запросом для проверки старого IP-адреса. Если 802.1X не настроен, запись таблицы коммутации Ethernet удаляется из исходного интерфейса и добавляется в новый интерфейс. Эти перемещения MAC отслеживаются, и если в течение одной секунды происходит больше заданного количества перемещений, выполняется заданное действие.
Действия для ограничения MAC и ограничения перемещения MAC
Вы можете выбрать одно из следующих действий, выполняемых при достижении лимита MAC-адресов или лимита перемещений MAC:
- drop - отбросить пакет и создать сигнал тревоги, ловушку SNMP или запись в системном журнале.
- log - не отбрасывать пакет, а генерировать сигнал тревоги, ловушку SNMP или запись системного журнала.
- none - не предпринимать никаких действий.
- shutdown - блокировать трафик данных на интерфейсе и генерировать сигнал тревоги. Если вы не установите действие, то действие будет отсутствовать. Вы также можете явно указать none как действие.
Я не слишком знаком с коммутаторами Juniper, но уверен, что он поддерживает локальный сервер RADIUS (т.е. сервер RADIUS, работающий на самом коммутаторе) и аутентификацию MAC. Фактически, использование локального сервера RADIUS и аутентификации MAC было бы моим первым выбором в вашей ситуации, а не попыткой имитировать патентованное поведение устройств Cisco. В чем причина невозможности использования 802.1x? Клиенты это не поддерживают?