Ты заметил, что сеть ведёт себя странно: где-то тормозит, кто-то грузит канал, а в логах — только пустота. Ты хочешь понять, что именно течёт по сети, но не можешь подключиться к серверу напрямую. Или тебе нужно отловить подозрительный трафик от какого-то устройства, но оно не в твоём сегменте. Решение — порт-мирринг (port mirroring). Это не магия, а простой инструмент, который копирует трафик с одного или нескольких портов на другой, где ты подключаешь анализатор — Wireshark, Zeek, SIEM или просто логгер. Давай разберёмся, как это сделать, чтобы не сломать сеть и не потратить день на ошибки.
Что такое порт-мирринг и зачем он нужен
Порт-мирринг — это функция коммутатора, которая копирует все пакеты, проходящие через один или несколько портов (источников), и отправляет их на один целевой порт (зеркало). Ты не перехватываешь трафик — ты просто делаешь его копию. Это как поставить камеру наблюдения на вход в офис: ты не мешаешь людям входить, но видишь, кто и что проносит.
Зачем это нужно?
- Отлавливать аномалии — например, DDoS-атаки или сканы портов;
- Диагностировать проблемы с приложениями — например, почему база данных тормозит;
- Проверять работу межсетевых экранов и IDS/IPS;
- Собирать данные для аудита или расследования инцидентов;
- Тестировать новые устройства в реальной среде без риска.
Важно: порт-мирринг работает только на уровне L2. Он не видит IP-адреса, не декодирует HTTP — он просто копирует кадры. Всю обработку ты делаешь уже на анализаторе.
Как настроить порт-мирринг — пошагово
Процесс одинаков на большинстве коммутаторов: Cisco, HPE, Juniper, MikroTik, Huawei — отличаются только команды. Я покажу общий алгоритм на примере Cisco, а потом объясню, как адаптировать под другие.
- Определи источник — какой порт(ы) ты хочешь зеркалировать. Обычно это порт, к которому подключён сервер, клиент или другой коммутатор. Например, порт Gi0/1, где стоит сервер базы данных.
- Выбери целевой порт — куда ты подключишь анализатор. Это должен быть порт, который не используется для передачи пользовательского трафика. Лучше — отдельный порт на другом коммутаторе или на ноутбуке с Wireshark. Не используй порт, который уже ведёт трафик к другим устройствам — ты создашь петлю и сломаешь сеть.
- Определи направление — копировать только входящий трафик (ingress), только исходящий (egress), или оба (both). Для диагностики сервера обычно берут both.
- Настройка на коммутаторе — вот пример для Cisco IOS:
monitor session 1 source interface Gi0/1 both monitor session 1 destination interface Gi0/24
Здесь сессия №1 копирует трафик с Gi0/1 на Gi0/24. Номер сессии — произвольный, но должен быть уникальным на устройстве.
- Подключи анализатор — к целевому порту подключи ноутбук с Wireshark, или устройство, которое логирует трафик. Убедись, что интерфейс на ноутбуке включен и не имеет IP-адреса (если не хочешь, чтобы он участвовал в сети). Лучше — вручную задать MTU 1518 или выше, чтобы не терять фрагментированные пакеты.
- Проверь — запусти генерацию трафика на источнике (например, ping с другого устройства) и посмотри, появляются ли пакеты на анализаторе. Если нет — проверь, не отключена ли функция на порту, не заблокирован ли порт статической ACL-правилой, не перегружен ли целевой порт.
Чем отличаются типы порт-мирринга
Не все реализации одинаковы. В зависимости от модели коммутатора и прошивки, у тебя есть варианты:
| Тип | Как работает | Когда использовать | Ограничения |
|---|---|---|---|
| Один источник → один порт-зеркало | Копирует трафик с одного порта на один целевой. | Простая диагностика одного устройства. Самый распространённый случай. | Нельзя зеркалировать несколько портов одновременно без дополнительной настройки. |
| Несколько источников → один порт-зеркало | Копирует трафик с нескольких портов на один анализатор. | Когда нужно мониторить несколько серверов или клиентов одновременно. | Целевой порт должен выдерживать суммарную нагрузку всех источников. Риск потери пакетов при высокой нагрузке. |
| Один источник → несколько портов-зеркал | Копирует трафик с одного порта на несколько анализаторов (например, для разных целей: логирование + IDS). | Когда нужно передавать трафик в разные системы — например, в SIEM и в IDS. | Поддерживается не всеми коммутаторами. Требует дополнительных ресурсов. |
| VLAN-мирринг | Копирует весь трафик, проходящий через определённый VLAN, независимо от портов. | Когда нужно отслеживать трафик внутри целого сегмента, а не по отдельным портам. | Сильно увеличивает нагрузку на анализатор. Требует точного понимания топологии VLAN. |
Если ты только начинаешь — начни с первого типа. Он прост, надёжен и не перегружает сеть.
Что выбрать в зависимости от ситуации
Вот как выбрать правильный подход:
- Ты хочешь понять, почему сервер медленно отвечает — зеркалируй только порт этого сервера (входящий и исходящий трафик). Подключи Wireshark на ноутбук. Ищи задержки, повторные передачи, RST-пакеты.
- Ты подозреваешь, что кто-то сканирует сеть — зеркалируй порт, где подключён межсетевой экран или шлюз. Ищи множество SYN-пакетов на разные порты с одного IP.
- Ты тестируешь новое ПО и не хочешь его запускать в продакшене — подключи тестовый сервер к порту, зеркалируй его трафик на анализатор. Убедись, что он не шлёт данные наружу без разрешения.
- У тебя много устройств в одном VLAN и ты не знаешь, где проблема — используй VLAN-мирринг. Но будь готов: трафик может быть настолько велик, что анализатор просто не справится. В этом случае лучше зеркалировать по одному ключевому порту за раз.
- Ты хочешь отправлять трафик и в SIEM, и в IDS — если коммутатор поддерживает несколько целевых портов, настрой два сеанса. Если нет — подключи анализатор с двумя интерфейсами и раздели трафик программно (например, через tee-функцию в Linux).
Частые ошибки — и как их избежать
Вот что ломает порт-мирринг чаще всего:
- Используешь целевой порт для обычного трафика — если ты подключаешь анализатор к порту, который уже соединён с другим устройством, ты создаёшь петлю. Сеть может упасть. Всегда отключай всё, что подключено к целевому порту перед настройкой.
- Забыл про пропускную способность — если у тебя 10 портов по 1 Гбит/с, и ты зеркалируешь их на один порт 1 Гбит/с — ты потеряешь до 90% пакетов. Коммутатор не может передать больше, чем позволяет порт. Целевой порт должен быть как минимум на уровень выше суммарной нагрузки источников.
- Неправильно выбрал направление — если ты зеркалируешь только ingress, а проблема в том, что сервер не отвечает, ты ничего не увидишь. Всегда используй both, если не уверен.
- Не проверил MTU — если на анализаторе стоит MTU 1500, а в сети есть jumbo-фреймы (например, 9000), ты не увидишь полные пакеты. Установи MTU 9216 на интерфейсе анализатора, если есть подозрение на jumbo-фреймы.
- Не отключил порт-мирринг после использования — он потребляет ресурсы процессора коммутатора. На старых моделях это может привести к лагам. Всегда отключай сессию, когда анализ закончен:
no monitor session 1. - Думаешь, что это замена IDS — порт-мирринг — это просто «камера». Он не блокирует, не анализирует, не предупреждает. Ты сам должен разбирать пакеты. Не жди, что он скажет «это атака» — он скажет «вот пакеты».
Как лучше сделать — практические рекомендации
Вот то, что я делаю на практике, когда настраиваю порт-мирринг:
- Всегда используй отдельный коммутатор для анализа. Подключи к нему анализатор, а затем подключи этот коммутатор к целевому порту. Так ты не рискуешь нарушить основную сеть.
- Делай сессию на короткое время — не оставляй порт-мирринг включённым дольше, чем нужно. Даже если он не грузит процессор, он создаёт дополнительную нагрузку на коммутатор. Запускай только когда нужно, выключай сразу после.
- Используй фильтры на анализаторе — в Wireshark сразу задавай фильтр:
ip.addr == 192.168.1.100илиtcp.port == 3306. Иначе ты будешь смотреть гигабайты мусора. - Сохраняй логи в pcap — не просто смотри в реальном времени. Сохраняй файлы. Позже ты можешь вернуться к ним, показать коллегам, сравнить с другими инцидентами.
- Проверяй, не отключён ли порт-мирринг после перезагрузки — на некоторых коммутаторах настройки не сохраняются без команды
write memoryилиcopy running-config startup-config. Не забывай это делать. - Документируй — запиши, какие порты зеркалировались, когда, зачем и на какой анализатор. Через месяц кто-то другой будет искать причину проблемы — и тебе не придётся всё заново разбирать.
Как адаптировать под другие коммутаторы
Команды отличаются, но логика — та же. Вот кратко:
- HPE/Aruba:
port-mirror source Gi1/0/1 destination Gi1/0/24 both - MikroTik:
/interface ethernet monitor-ports add interface=ether1 mirror=ether2 - Juniper:
set ethernet-switching-options analyzer my-analyzer input interface ge-0/0/1 both output interface ge-0/0/24 - Huawei:
port-mirror to observe-port 1 inbound outbound+observe-port 1 interface GigabitEthernet 0/0/24
Если ты не знаешь команду — введи show running-config | include mirror или show port-mirror. Обычно это сразу покажет, есть ли активные сессии и как они настроены.
Итог — что делать прямо сейчас
Если ты читаешь это — значит, тебе нужно разобраться с трафиком. Вот что делать:
- Определи, с какого устройства или порта ты хочешь получить трафик.
- Найди свободный порт на коммутаторе — он будет твоим зеркалом. Не используй порт, который уже подключён к чему-то важному.
- Подключи ноутбук с Wireshark к этому порту. Отключи все кабели, кроме одного.
- Настрой порт-мирринг: источник — твой порт, зеркало — свободный порт, направление — both.
- Сохрани конфигурацию коммутатора.
- Запусти трафик на источнике — ping, запрос к серверу, что угодно.
- Проверь, появляются ли пакеты в Wireshark.
- Если всё работает — анализируй. Если нет — проверь ошибки выше.
- Когда закончил — выключи порт-мирринг.
Это не сложнее, чем подключить принтер. Главное — не торопиться, не лезть в неизвестные команды и не игнорировать ограничения пропускной способности. Порт-мирринг — это не волшебная палочка, а инструмент. И если его использовать правильно — он покажет тебе то, что ты не видел раньше.
Информация в этой статье носит ознакомительный характер. Настройка сетевого оборудования требует понимания вашей инфраструктуры. Перед внесением изменений в рабочую сеть рекомендуется проконсультироваться с сетевым инженером или администратором.
