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