В многих сетевых коммутаторах есть возможность зеркалировать трафик, скажем с одного порта, на другой, или например с VLAN указанного, на порт, где находится анализатор трафика, либо какое-то ПО.
В Cisco эта технология называется SPAN — Switch Port Analyzer и RSPAN — Remote Switch Port Analyzer. Также читаем о настройке SPAN/RSPAN.
Для чего эта технология может использоваться?
Ну в первую очередь, например для того, чтоб просмотреть трафик на каком-то порту, для анализа того, что передается в сети (вдруг мы что-то забыли настроить и там рассылается то, что не нужно, ну и т.п.).
Так же может понадобиться например для записи VOIP. Берем VLAN Voice переправляем весь трафик на определенный интерфейс, ну а там ПО, записывает все разговоры.
Еще одной из причин использовать зеракалирование трафика, например для систем IPS/IDS.
Судя по примерам, достаточно приятная и полезная функция, не так ли?
Теперь более подробно поговорим об этой технологии.
Различают две технологии SPAN это сам по себе SPAN, который работает в пределах одного коммутатора, и RSPAN, который может зеркалировать и передавать трафик между коммутаторов. (Когда у нас в сети несколько коммутаторов в цепочке, нам не нужно идти к этому коммутатору, подключаться к нему, настраивать порт мониторинга и сливать трафик. Вместо этого мы настраиваем RSPAN и передаем трафик на порт удаленного коммутатора, в общем куда нам хочется 🙂 ).
Давайте рассмотрим графически топологию SPAN и RSPAN.
1. SPAN
2. RSPAN
Думаю что комментарии к этим топологиям излишни. Я уже описал все выше.
Базовые знания о SPAN и RSPAN.
Опишу тот минимум, который необходим для понимания технологии SPAN. Понимание этого позволит избежать вопросов по конфигурированию (которое будет рассмотрено немного ниже).
Для того чтоб «заставить» SPAN работать, необходимо сделать две вещи.
- Создать список источников, то есть откуда мы будем брать трафик для анализа или других целей. Здесь можно указывать порты (как минимум 1), или VLAN (минимум 1, можно больше).
- Указать куда доставлять данные с списков источников, описанных в первом пункте. То есть куда будет зеркалироваться трафик (например, порт f0/24).
Хочется отметить, что источниками трафика могут быть layer 2 порты: access port, trunk port, etherchannel; layer 3 (routed port) и так далее. Если Source указан как VLAN , то будет зеркалироваться трафик всех портов, которые включены в данный VLAN и в настоящее время активны. Можно включать или удалять из VLAN порты, и это сразу будет влиять на SPAN/RSPAN.
Что касается RSPAN, тут немного все по другому.
Source описывается так же, либо порт/порты, либо VLAN/Vlan’ы. А вот то, куда отправлять этот трафик, по другому.
Делается это на основе специального RSPAN VLAN, а не отдельный порт, как это делается в SPAN. (конкретные примеры рассмотрим ниже, когда будем настраивать все непосредственно на коммутаторах).
Порт, который сконфигурирован для приема зеркалированного трафика, не может входить в VLAN, который настроен как Source (источник трафика).
Перед тем как перейти к практике, давайте поговорим об ограничениях и некоторых условиях, связанных с SPAN/RSPAN.
Порт приемника зеркалированного трафика имеют ряд ограничений, такие как:
- При настройке порта назначения (Destination SPAN ) его конфигурация будет перезаписана. При удалении SPAN с порта, конфигурация восстанавливается.
- При настройке Destination SPAN порта, который находится в Etherchannel, он будет удален из него. Если порт был routed (L3), то будет переписаны настройки этого порта.
- Destination port SPAN не поддерживает : port security, 802.1x аутентификацию, private VLAN.
- Destination Port SPAN не поддерживает Layer 2 протоколы, такие как: CDP, Spanning Tree, VTP,DTP и другие.
Это то, что касалось ограничений, теперь давайте поговорим о условиях.
- Источником Source SPAN/RSPAN может быть один или более портов коммутатора, или VLAN, но что-то одно, т.е. или VLAN или порт/порты.
- Возможно до 64 SPAN Destination портов, которые могут сконфигурированы на коммутаторе.
- Layer 2 и Layer 3 порты могут быть сконфигурированы как Source port SPAN так и Destination port SPAN.
- Не забываем о перегрузке интерфейса, которая может произойти в случае когда суммарный трафик на source port превышает возможности порта destination.
- В пределах одной сессии SPAN, нельзя доставить трафик до dest port SPAN из source port на локальном коммутаторе и с source RSPAN на другом коммутаторе. Это ограничение связано с тем, что нельзя смешивать порты и VLAN в SPAN технологиях (а RSPAN работает по так называемому RSPAN VLAN, это было описано выше).
- Dest Port не может быть Source Port и наоборот.
- Только одна сессия SPAN/RSPAN может доставлять трафик на единственный порт destination.
- При настройке порта как destination, он перестает работать как обычный Layer 2 порт, т.е. он предназначен только для принятия зеркалированного трафика.
- Как было отмечено выше, trunk порты так же могут использоваться как Source Port, таким образом все VLAN, которые есть в этом транке мониторятся (по умолчанию). Но можно указать конкретные VLAN которые необходимо учитывать, с помощью команды filter vlan.
- Если мы используем VLAN как Source SPAN, то тут есть одно ограничение. Если трафик «пришел» с другого VLAN’а, то такой трафик в SPAN не попадет.
SPAN и RSPAN поддерживает два вида трафика: исходящий и входящий. По умолчанию в SPAN/RSPAN попадают оба типа. Но можно сконфигурировать устройство так, что будет мониториться только входящий, или только исходящий трафик.
По умолчанию Layer 2 фреймы, такие как CDP, spanning tree, BPDU, VTP,DTP и PagP игнорируются и не передаются на Destination Port, но можно настроить устройство так, чтоб эти фреймы передавались. Для этого необходимо использовать команду encapsulation replicate.
В этой статье мы освоили теоретическую часть. В следующей статьей будем заниматься практикой SPAN/RSPAN.