Настройка перехвата пакетов Juniper SRX

Порой возникают задачи такого рода. Вот пример из жизни: Имеем два SRX между которыми поднят тоннель, типичная ситуация центральный офис и филиал, например. Настроен DHCP relay, т.к. сам DHCP сервер находится удаленно, возникла ситуация, клиенты не получают настройки, нужно понять, доходят ли запросы от клиента к серверу. Нужно перехватить трафик и посмотреть. Естественно это не единственная ситуация при которой функционал packet capture на SRX потребуется, но на ее примере будет удобно рассмотреть настройку. Ниже набросал схемку:

2016-01-21 14.38.35

Наш DHCP сервер подключен к фаерволу, который на схеме обозначен, как SRX-2, нас интересует доходят ли запросы от пользователей из подсети 192.168.0.0/24 до сервера. Значит искать нужные запросы нам нужно на фаерволе SRX-2.

Начнем с того, что создадим файл с удобным нам именем и укажем его предельный размер:

admin@srx-2# set forwarding-options packet-capture file filename youfilename
admin@srx-2# set forwarding-options packet-capture maximum-capture-size 1500

Затем нужно создать фильтр, по условиям которого мы будем перехватывать пакеты. В данном случае нас интересуют пакеты от адреса 192.168.0.1 (т.к. на этом интерфейсе у нас DHCP relay) до адреса DHCP сервера 10.10.0.5 и в обратную сторону. Т.е. приходят ли запросы от пользовательских устройств и отправляются ли ответы от сервера. Итак создаем фильтр с именем PCAP (имя можно придумать любое удобное):

от пользователей до сервера

admin@srx-2# set firewall filter PCAP term 1 from source-address 192.168.0.1
admin@srx-2# set firewall filter PCAP term 1 from destination-address 10.10.0.5
admin@srx-2# set firewall filter PCAP term 1 then sample
admin@srx-2# set firewall filter PCAP term 1 then accept

от сервера до пользователей

admin@srx-2# set firewall filter PCAP term 2 from source-address 10.10.0.5
admin@srx-2# set firewall filter PCAP term 2 from destination-address 192.168.0.1
admin@srx-2# set firewall filter PCAP term 2 then sample
admin@srx-2# set firewall filter PCAP term 2 then accept

применяем все условия

admin@srx-2# set firewall filter PCAP term allow-all-else then accept

Фильтр готов, теперь этот фильтр нужно повесить на интерфейс, который смотрит в сторону DHCP сервера, допустим у нас это интерфейс ge-0/0/6.0:

admin@srx-2# set interfaces ge-0/0/6 unit 0 family inet filter output PCAP
admin@srx-2# set interfaces ge-0/0/6 unit 0 family inet filter input PCAP

Конфигурация готова, можно ее применять, тут можно сделать commit и после сбора трафика сделать rollback 1 и опять commit, я обычно применяю конфигурацию на несколько минут при помощи commit confirmed и дожидаюсь автоматического отката. Применим конфигурацию на 2 минуты:

admin@srx-2# commit confirmed 2

За эти 2 минуты инициируем подключение, что бы трафик сгенерировался. Если трафик отвечающий условиям фильтра проходил, то в папке var/tmp на устройстве должен появиться файл с именем вида youfilename.ge-6.0 посмотреть можно вот так:

admin@srx-2> file list /var/tmp/ | match youfilename*
youfilename.ge-6.0

Теперь этот файл нужно утащить на компьютер, я обычно подключаюсь к SRXу с tftp клиентом, например WinSCP. Открыть полученный файл с помощью приложения для перехвата пакетов, например Wireshark в KB Juniper еще предлагают утилиту Ethereal, про нее ничего не скажу, т.к. не доводилось использовать.

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

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